Grundgebiete der Informatik 3 .- Betriebssysteme und Systemsicherheit
Die Vorlesung „Grundgebiete der Informatik 3 .- Betriebssysteme und Systemsicherheit“ (BS) vermittelt ein tiefergehendes Verständnis von aktuellen Rechnerarchitekturen und ihre Betriebssysteme. Dabei erlernen die Studierenden, welche Konsequenzen der Softwareentwurf und seine Umsetzung in Bezug auf die Leistungsfähigkeit, die Portierbarkeit und die Sicherheit des Gesamtsystems hat. Die Vorlesung ist in folgende Teilbereiche gegliedert:
Kontakt
Telefon
- work
- +49 241 80 49740
- E-Mail schreiben
- Aufgaben und Struktur von Betriebssystemen
- Einführung in UNIX
- Programmierwerkzeuge
- Verwaltung von Source Code
- Einführung in dem Prozess des „Code Reviews“ und des automatisierten Testens
- Rust vs. C/C++
- Systemnahe Programmierung
- Prozessormodelle (insbesondere Intel 80x86)
- Register- und Speichermodelle, Befehlsformate, Datentypen, Adressierungsarten
- Instruktionslevelparallelität / Datenparalleliät
- Mehrkern- und Mehrprozessor-Architekturen
- Einführung in die nebenläufige Programmierung
- Einführung in die Parallelisierung
- Leistungsevaluation, Leistungsgrenzen (u.a. Amdahls Gesetz)
- Funktionsaufrufe und ihre Konventionen
- Sicherheitsrisiken, mögliche Angriffsszenarien („Exploits“) und existierende Schutztechniken
- Assembler und Assemblierung: Aufgaben, Funktionsweise
- Laden, Binden:
- Statisches / dynamisches Binden, Laden mit / ohne Speicherverwaltung
- Angriffsszenarien und existierende Schutztechniken
- Adress Space Layout Randomization (ASLR)
- Entwurfsprinzipien
- Monolithische Betriebssysteme
- Microkernels (insbesondere seL4)
- Unikernels / Library OS
- Exokernels
- Funktionale Sicherheit der Systemsoftware
- z.B. durch die Verwendung einer sicheren, systemnahen Programmiersprache
- Betriebsmittel- und Prozessverwaltung
- Aufgaben der Betriebsmittel- und Prozessverwaltung
- Scheduling / Prozessplanung
- Prozesssynchronisation
- Verklemmungen
- Interprozesskommunikation
- Unterbrechungen
- Arten und Aufgaben von Unterbrechungen
- Interruptsystem insbesondere des x86
- Systemaufrufe
- Arbeitsspeicherverwaltung
- Paging und Segmentierung
- Demand Paging und Verdrängungsstrategien
- Seitenkanalattacken am Beispiel von Meltdown
- Ein-/ Ausgabe
- Memory-mapped I/O
- Schichtung der E/A-Software
- Dateisysteme
- Dateizugriff / Dateioperationen
- Struktur und Schichtung
- Journaling
- Isolierung von Systemkomponenten
- Sandboxing
- Betriebssystemvirtualisierung / Container
- Virtuelle Maschinen
Fragen?
Bei Fragen kontaktieren Sie bitte acs-teaching-gin3@eonerc.rwth-aachen.de