Zum Inhalt springenZur Suche springen

Betriebssysteme und Systemprogrammierung

Aktuelles

Die Veranstaltung findet in Präsenz vor Ort statt. Alternativ und ergänzend können die bestehenden Videos aus der Mediathek genutzt werden.

Alle Materialien (inkl. Links zu den Videos) finden Sie >>> hier <<<

Die 1. Vorlesung findet am Mittwoch, den 12.10.2022 statt.

1. Klausur: 17.02.2023, 08:30 - 14 Uhr, 25.41.U1.22; 25.41.00,41; 25.41.00.43,

2. Klausur: 22.03.2023, 08:30 - 14 Uhr, 25.41.U1.22; 25.41.00,41; 25.41.00.43,

Dozent
Prof. Dr. Michael Schöttner

Studiengang
Bachelor-Studiengang Informatik

Materialien
Finden Sie hier.

Leistungspunkte
10 LP (Arbeitsaufwand 300 Stunden; Kontaktzeit 90 Stunden; Selbststudium 210 Stunden)

Lehrveranstaltungen

  • Vorlesung „Betriebssysteme und Systemprogrammierung“, 4 SWS, Mi. 10:30 - 12 Uhr, HS 5M  + Do. 10:30 - 12 Uhr, HS 5G
  • Übungen, Fr. 08:30 - 10 Uhr, HS 5M

Inhalte

  • C Programmierung
  • Bibliotheken, Binder und Lader
  • Prozesse und Threads
  • Scheduling: verschiedene Verfahren (Multilevel, Feedback, Echtzeit), Fallstudien: Linux, Windows, ...
  • Synchronisierung: Mutex, Semaphore, Verklemmungen, sperrfreie Synchronisierung
  • Hauptspeicher: Heap, Stack, Speicherverwaltung, Garbage Collection
  • Virtueller Speicher: ein und mehrstufig, invertierte Seitentabellen, Auslagerungsstrategien, Speicherverwaltung in Linux
  • Sekundärspeicher: Aufbau einer Festplatte/SSD, Partitionen, Speicherverwaltung
  • Dateisysteme: FAT, UNIX, ext4, NTFS (mit Journaling)
  • Interprozesskommunikation: Signale, Message Queue, Pipes, Shared-Memory, Sockets
  • Ein- und Ausgabe: Interrupts, E-/A-Software, Linux Kernel Module und Gerätetreiber
  • Sicherheit: Zugriffskontrolle, HW-Schutz, Angriff durch Pufferüberlauf, Meltdown, Address Space Layout Randomization, Kernel Page Table Isolation
  • Architekturen: Monolithen, Mikrokerne, virtuelle Maschinen, Client/Server

Lernergebnisse/Kompetenzen

Nach erfolgreicher Teilnahme an den Veranstaltungen dieses Moduls können die Studierenden:

  • das Zusammenspiel von Betriebssystem-Kern, Treiber und Hardware in eigenen Worten beschreiben
  • Betriebssystemkonzepte in eigenen Worten erklären und miteinander vergleichen
  • Systemprogramme in der Sprache C auf Basis der Systemaufrufschnittstelle UNIX entwickeln
  • einfache parallele Programme mit mehreren Threads und geeigneten Synchronisierungslösungen konzipieren und programmieren
  • Sicherheitsprobleme und Gegenmaßnahmen durch das Betriebssystem und den Hardwareschutz (am Beispiel der x86 Architektur) erklären

Literatur

  • Andrew S. Tanenbaum: „Modern Operating Systems”, 4. Auflage, Prentice Hall, 2014.
  • W. Stallings, "Operating Systems: Internals and Design Principles", Prentice Hall, 2017.

Verwendtbarkeit des Moduls

  • Wahlbereich Bachelor-Studiengang PO 2021
  • Wahlpflicht- und Schwerpunktbereich Bachelor-Studiengang PO 2013 und PO 2016
  • Individuelle Ergänzung im Master-Studiengang Informatik
  • Anwendungsfach im Bachelor-Studiengang Mathematik und Anwendungsgebiete
  • Nebenfach im Bachelor-Studiengang Physik
  • Nebenfach im Bachelor-Studiengang Medizinische Physik

Teilnahmevoraussetzungen

  • Inhalte der Programmierung und Rechnerarchitektur

Voraussetzungen für die Vergabe von Leistungspunkten

  • Erfolgreiche Teilnahme an der Prüfung am Ende der Veranstaltung.
  • Die Klausur besteht aus zwei Teilen. 50% praktische Programmieraufgaben am PC und 50% Aufgaben auf Papier

Häufigkeit des Angebots, modulare Schiene
Jedes Wintersemester

Modulbeauftragte und hauptamtliche Lehrende
Prof. Dr. Michael Schöttner

Verantwortlichkeit: