Katalog
/
Softwareentwicklung und Programmierung
/
Rust für Systemprogrammierung

Rust für Systemprogrammierung

Ein praxisorientierter Kurs, der Rust für sichere und schnelle Systemsoftware einsetzt. Sie erlernen die Sprachmuster für Speichersicherheit ohne Garbage Collector und wenden sie auf Low Level Aufgaben wie Datei IO, C Interop und nebenläufige Dienste an. Die Agenda verbindet Grundlagen mit handfesten Systemtechniken für den Arbeitsalltag.

Was werden Sie lernen?

Sie richten eine verlässliche Rust Toolchain ein, nutzen Cargo effektiv und strukturieren Projekte wartbar. Sie verstehen Ownership, Borrowing und Lifetimes, um Speicher und Systemressourcen sicher zu handhaben. Sie binden C Bibliotheken an, kapseln Unsafe Code sauber und implementieren nebenläufige Arbeit mit Sicherheit.

  • Ownership, Borrowing und Lifetimes sicher im Low Level Kontext anwenden
  • Projekte mit Cargo, Modulen und Crates aufbauen und strukturieren
  • Mit C über FFI interagieren und Unsafe Code sauber begrenzen
  • Rust Programme diagnostizieren, profilieren und auf Zuverlässigkeit und Tempo trimmen

Voraussetzungen:

  • Routine in einer kompilierten Sprache wie C, C++, Java oder Go
  • Terminalzugriff mit Rechten zur Installation von Toolchains
  • Möglichkeit, Beispielprogramme auf dem gewünschten OS auszuführen

Kursübersicht*:

*Wir passen den Kursaufbau und die Inhalte an Ihre spezifischen Anforderungen und relevanten Anwendungsfälle an.

Modul 1: Toolchain Setup und Projektanatomie

  • Installation mit rustup, Toolchains verwalten und Targets wählen
  • Cargo Befehle, Workspaces, Features und Profile
  • Projektaufbau mit Modulen, Crates und Sichtbarkeit
  • Bauen, Testen und Dokumentieren über die CLI

Modul 2: Ownership Denkweise

  • Moves, Copies und Drops und ihre Bedeutung für Ressourcen
  • Referenzen und Borrowing Regeln mutabel, geteilt und Aliasing
  • Lifetimes an Beispielen wann der Compiler Hinweise braucht
  • Slices, Strings und UTF 8 Sicherheit im Systemkontext

Modul 3: Kernsyntax und Steuerfluss

  • Typen, Pattern Matching und Ausdrücke mit Rückgabewert
  • Funktionen, Generics und Trait Bounds als Verträge
  • Fehlerbehandlung mit Result und Option und Weiterreichen mit ?
  • Panic Strategien Unwind vs Abort und Wahl pro Binary

Modul 4: Datenmodellierung für Low Level Arbeit

  • Structs für Layout und Invarianten Newtype und Builder Stile
  • Enums für Zustandsmaschinen und fehlbare Operationen
  • Pattern Matching für Zustandsübergänge
  • Minimaler CLI Aufbau mit strukturierten Fehlern

Modul 5: Speichermanagement ohne GC

  • Stack vs Heap in der Praxis
  • Box, Rc, Arc und passende Einsatzszenarien
  • Raw Pointer, Referenzen und Alignment Grundlagen
  • Unsafe Blöcke als schmale, gut dokumentierte Inseln

Modul 6: System IO und Ressourcen

  • Dateien lesen und schreiben mit std und gepuffertem IO
  • Arbeiten mit Pfaden, Prozessen und Umgebung
  • Zeit, Timer und Umgang mit OS Fehlern
  • RAII Muster für Handle Management und Cleanup

Modul 7: Nebenläufigkeit und Synchronisation

  • Threads und Message Passing mit Channels
  • Gemeinsamer Zustand mit Mutex, RwLock und Condvar
  • Send und Sync Marker Traits und ihre Bedeutung
  • Leitlinien gegen Deadlocks und Priority Inversion

Modul 8: Schnittstelle zu C

  • FFI Bausteine repr, extern Blöcke und Linking
  • Strings, Slices und Ownership über die Grenze geben
  • Unsafe Pointer mit sicheren Abstraktionen umhüllen
  • Header First Workflow bindgen und manuelle Bindings

Modul 9: Debugging und Troubleshooting

  • Lesbare Fehler, Backtraces und Logging mit Env Filtern
  • Cargo Tools nutzen test, fmt, clippy und audit
  • Debugging mit lldb oder gdb Grundlagen
  • Häufige Stolpersteine Borrow Checker, Lifetimes und Trait Bounds

Modul 10: Performance und Allokationsbewusstsein

  • Messen mit cargo bench und einfachen Timern
  • Inlining, Monomorphisierung und Trait Objects verstehen
  • Allokationen und Kopien reduzieren Small Vector und Cow Muster
  • Datei und Netzwerk IO Strategien Blocking vs Async im Überblick

Modul 11: Kleinen Systemdienst aufbauen

  • Entwurf eines Mini Daemons oder CLI im Subcommand Stil
  • Konfiguration, Argumente und Feature Flags
  • Sauberes Beenden und Signalverarbeitung
  • Fehlertaxonomie für stabile Betriebsführung

Modul 12: Packaging und nächste Schritte

  • Release Profile und Symbolwahl
  • Cross Compilation Targets und musl Builds
  • Safe Unsafe Boundary organisieren Checkliste
  • Wege zu Async, Embedded und erweiterter Interop

Praxisnahes Lernen mit erfahrenen Trainern an Ihrem Standort für Organisationen.

5.922€*
Graph Icon - Education X Webflow Template
Niveau:
advanced
Clock Icon - Education X Webflow Template
Dauer:
21
Stunden (Tage:
3
)
Camera Icon - Education X Webflow Template
Training angepasst an Ihre Bedürfnisse
Star Icon - Education X Webflow Template
Intensive praktische Erfahrung in einer speziellen Umgebung
*Der Preis kann je nach Teilnehmerzahl, Änderung des Programms, Standort usw. variieren.

Neue Fähigkeiten erlernen, angeleitet von erfahrenen Trainern von überall.

4.587€*
Graph Icon - Education X Webflow Template
Niveau:
advanced
Clock Icon - Education X Webflow Template
Dauer:
21
Stunden (Tage:
3
)
Camera Icon - Education X Webflow Template
Training angepasst an Ihre Bedürfnisse
Star Icon - Education X Webflow Template
Reduzierte Schulungskosten
*Der Preis kann je nach Teilnehmerzahl, Änderung des Programms, Standort usw. variieren.