|
Betriebssysteme und Betriebssystemtechnik (BS+BST)10 ECTS (englische Bezeichnung: Operating Systems and Systems Software Engineering)
Modulverantwortliche/r: Daniel Lohmann Lehrende:
Daniel Lohmann, Wolfgang Schröder-Preikschat
Startsemester: |
WS 2017/2018 | Dauer: |
2 Semester | Turnus: |
jährlich (WS) |
Präsenzzeit: |
120 Std. | Eigenstudium: |
180 Std. | Sprache: |
Deutsch |
Lehrveranstaltungen:
-
-
Betriebssysteme (WS 2017/2018)
(Vorlesung, 2 SWS, Volkmar Sieh, Mi, 10:15 - 11:45, 0.031-113)
-
Übungen zu Betriebssysteme (WS 2017/2018)
(Übung, 2 SWS, Andreas Ziegler et al.)
-
Übungen zu Betriebssysteme (Rechnerübungen) (WS 2017/2018)
(Übung, Andreas Ziegler et al.)
-
Betriebssystemtechnik (SS 2018)
(Vorlesung, 2 SWS, Wolfgang Schröder-Preikschat, Fr, 8:15 - 9:45, 0.031-113)
-
Übungen zu Betriebssystemtechnik (SS 2018)
(Übung, 2 SWS, Andreas Ziegler et al.)
-
Rechnerübungen zu Betriebssystemtechnik (SS 2018)
(Übung, Andreas Ziegler et al., Mo, Mi, Di, 10:15 - 11:45, 00.153-113)
Empfohlene Voraussetzungen:
Es wird empfohlen, folgende Module zu absolvieren, bevor dieses Modul belegt wird:
Systemprogrammierung (SS 2016)
Inhalt:
Im Rahmen dieses semesterübergreifenden Moduls werden Grundprinzipien des Betriebssystembaus von Startvorgang bis zum Mehradressraumsystem gelehrt und implementiert.
Ziel der Veranstaltung BS im Wintersemester ist zunächst die Vermittlung von konzeptionellen Grundlagen und wichtigen Techniken, die für den Bau eines Betriebssystems erforderlich sind. In den vorlesungsbegleitenden Übungen werden diese Kenntnisse praktisch angewendet, indem ein kleines PC-Betriebssystem in kleinen Arbeitsgruppen von Grund auf neu entwickelt wird. Um dies zu bewerkstelligen, sind fundierte Kenntnisse über Aufbau und Funktionsweise der PC-Hardware erforderlich, die ebenfalls in der Lehrveranstaltung vermittelt werden. Dabei werden gleichzeitig Grundlagen aus dem Betriebssystembereich wie Unterbrechungen, Synchronisation und Ablaufplanung, die aus früheren Veranstaltungen (wie Softwaresysteme I oder Systemprogrammierung I) weitgehend bekannt sein sollten, wiederholt und vertieft.
Schwerpunktthema der Veranstaltung BST im Sommersemster ist dann die Verwaltung von Prozessadressräumen. Untersucht werden Verfahren und Techniken zur Trennung logischer Adressräume, zum Adressraumgrenzen überschreitenden Zugriff und zum Schutz von Prozessen. Vorgestellt wird die Implementierung von Systemaufrufen und seiten- wie auch segmentbasierte Techniken zur Abbildung logischer/virtueller Adressräume auf reale. Vor diesem Hintergrund werden verschiedene Betriebssystemarchitekturen verglichen und gängige Adressraummodelle von Betriebssystemen erläutert und im Übungsbetriebssystem implementiert.
Lernziele und Kompetenzen:
Studierende, die das Modul erfolgreich abgeschlossen haben:
erläutern den Startvorgang eines Rechensystems am Beispiel eines IA32 PCs.
beschreiben die spezifischen Herausforderungen bei der Softwareentwicklung für "bare metal".
beschreiben den Ablauf einer Unterbrechungsbehandlung von der Hardware bis zur (System-)software.
skizzieren Besonderheiten und Strategien der Unterbrechungsbehandlung in Hardware für Mehrkernsystemen am Beispiel des IA32-APICs.
diskutieren die Aufgabenteilung zwischen Hardware und Systemsoftware bei der Unterbrechungsbearbeitung.
unterscheiden die verschiedenen Typen von Kontrollflüssen in einem Betriebssystem anhand des Ebenenmodells.
unterscheiden harte, mehrstufige, und weiche Verfahren zur Unterbrechungssynchronisation in Betriebssystemen und können diese implementieren.
klassifizieren konkrete Konkurrenzsituationen anhand des Ebenenmodels und leiten daraus geeignete Synchronisationsmaßnahmen ab.
schildern die IA32-Architektur und gängige PC-Technologie und deren Schnittstellen zur Systemsoftware.
erläutern grundlegende Bausteine für die Implementierung von Quasi-Parallelität (Fortsetzungen, Koroutinen, Fäden) und grenzen diese gegeneinander ab.
erläutern die Interaktionen zwischen Hardware, Übersetzer und Systemsoftware, die dabei zu beachten sind.
entwickeln den Koroutinenwechsel für einen gegebene Architektur.
erläutern die Implikationen von Quasi-Parallität auf das Ebenenmodell und die daraus abgeleiteten Synchronisationsmaßnahmen.
beschreiben die Implementierung von (verdrängendem) Scheduling in einem Betriebssystem.
analysieren das Zusammenspiel von Scheduling und Unterbrechungssynchronisation.
nennen Kriterien und Dimensionen des Schedulings von Betriebsmitteln, insbesondere der CPU.
erläutern die konkrete Umsetzung am Beispiel der Scheduler in Linux und Windows.
unterscheiden grundlegende Möglichkeiten der Koordinierung und Synchronisation von Fäden (aktives/passives Warten, nichtverdrängbare kritische Abschnitte).
entwickeln Mechanismen für die Synchronisation auf Fadenebene.
erklären die dabei zu beachtenden Synchronisationsprobleme (lost update, lost wakeup) und geeignete Gegenmaßnahmen.
interpretieren die Bedeutung von Gerätetreibern in der Betriebssystempraxis.
erläutern die Anforderungen an ein Treibermodell.
vergleichen die Umsetzung von Treibermodellen in Windows und Linux.
schildern die grundlegenden Paradigmen zur Interprozesskommunikation in Betriebssystemen (speicherbasiert vs. nachrichtenbasiert).
erläutern die grundlegenden Primitiven dieser Verfahren.
skizzieren, wie unter Anwendung dieser Primitiven höhere Synchronisationskonstrukte implementiert werden (Monitore, Leser-/Schreiber-Sperre).
illustrieren die Dualität der Paradigmen.
Studien-/Prüfungsleistungen:
Betriebssysteme und Betriebssystemtechnik (Vorlesungen mit Übungen) (Prüfungsnummer: 451058)
(englischer Titel: Operating Systems and Systems Software Engineering)
- Prüfungsleistung, mündliche Prüfung, Dauer (in Minuten): 30, benotet
- Anteil an der Berechnung der Modulnote: 100.0 %
- weitere Erläuterungen:
30-minütige mündliche Prüfung + erfolgreiche Teilnahme an den Übungen + erfolgreiche Bearbeitung aller Übungsaufgaben
- Erstablegung: SS 2018, 1. Wdh.: WS 2018/2019
1. Prüfer: | Daniel Lohmann |
|
|
|
|
UnivIS ist ein Produkt der Config eG, Buckenhof |
|
|