UnivIS
Informationssystem der Friedrich-Alexander-Universität Erlangen-Nürnberg © Config eG 
FAU Logo
  Sammlung/Stundenplan    Modulbelegung Home  |  Rechtliches  |  Kontakt  |  Hilfe    
Suche:      Semester:   
 
 Darstellung
 
Druckansicht

 
 
Modulbeschreibung (PDF)

 
 
Informatik (Bachelor of Science) >>

Betriebssysteme-V+EÜ (BS-VEU)7.5 ECTS
(englische Bezeichnung: Operating Systems L+EE)
(Prüfungsordnungsmodul: Betriebssysteme (Vorlesung mit erweiterten Übungen))

Modulverantwortliche/r: Volkmar Sieh
Lehrende: Volkmar Sieh, Wolfgang Schröder-Preikschat


Startsemester: WS 2022/2023Dauer: 1 SemesterTurnus: jährlich (WS)
Präsenzzeit: 90 Std.Eigenstudium: 135 Std.Sprache: Deutsch

Lehrveranstaltungen:


Empfohlene Voraussetzungen:

  • C/C++ (Übungsaufgaben werden in C++ implementiert)
  • Assembler (Grundkenntnisse)

    Es wird empfohlen, folgende Module zu absolvieren, bevor dieses Modul belegt wird:

    Systemprogrammierung (SS 2022)


Inhalt:

Inhalt des Moduls ist Vermittlung grundlegender Konzepte, Methoden und Techniken von Betriebssystemen aus dem Blickwinkel einer Betriebssystementwicklerin. Im Rahmen der Übungen entwickeln die Studierenden in einem "bottom-up" Entwurf- und Entwicklungsprozess ihr eigenes Mehrkernbetriebssystem für die IA-32 Platform, ausgehend von der "nackten Hardware" über grundlegende Ein-Ausgabemöglichleiten, Unterbrechungsbearbeitung bis hin zu quasi- und echtparalleler Programmausführung.

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 für ein Mehrkernsystem 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 für Mehrkernsystemen.

  • 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.

  • vergleichen grundlegende BS-Architekturen (Bibliothek, Monolith, Mikrokern, Exokern, Hypervisor) anhand fundamentaler Charakteristika (Robustheit, Performanz, Portierbarkeit) und Mechanismen.

  • 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.

  • erschließen sich typische Probleme (Nebenläufigkeit, Compilerverhalten, Debuggen ohne dedizierte Hilfsmittel) und Fehlerquellen bei der hardwarenahen Softwareentwicklung für Mehrkernsysteme.

  • können in Kleingruppen kooperativ arbeiten.

  • können die ihre Entwurfs- und Implementierungsentscheidungen kompakt präsentieren und argumentativ vertreten.

  • reflektieren ihre Entscheidungen kritisch und leiten Alternativen ab.

  • können offen und konstruktiv mit Schwachpunkten und Irrwegen umgehen.

Literatur:

  • Avi Silberschatz, Peter B. Galvin, Greg Gagne. Operating System Concepts. John Wiley & Sons.
  • Andrew S. Tanenbaum. Modern Operating Systems. Pearson.

  • William Stallings. Operating Systems: Internals and Design Principles. Prentice Hall.

  • Andrew S. Tanenbaum. Structured Computer Organization. Pearson.


Weitere Informationen:

www: https://sys.cs.fau.de/lehre/ws/bs

Verwendbarkeit des Moduls / Einpassung in den Musterstudienplan:

  1. Informatik (Bachelor of Science)
    (Po-Vers. 2022w | TechFak | Informatik (Bachelor of Science) | Gesamtkonto | Wahlpflichtbereich (Wahlpflichtmodule aus mind. 2 Vertiefungsrichtungen) | Vertiefungsrichtung Verteilte Systeme und Betriebssysteme | Betriebssysteme (Vorlesung mit erweiterten Übungen))
Dieses Modul ist daneben auch in den Studienfächern "Informatik (Bachelor of Arts (2 Fächer))", "Informatik (Master of Science)", "Information and Communication Technology (Master of Science)", "Informations- und Kommunikationstechnik (Master of Science)", "Mathematik (Bachelor of Science)", "Mechatronik (Master of Science)" verwendbar. Details

Studien-/Prüfungsleistungen:

Betriebssysteme (Vorlesung mit erweiterten Übungen) (Prüfungsnummer: 820947)
Prüfungsleistung, mehrteilige Prüfung, benotet
Anteil an der Berechnung der Modulnote: 100.0 %
weitere Erläuterungen:
Erfolgreiche Bearbeitung aller während des Semesters gestellten Übungsaufgaben (6 Programmieraufgaben, Bewertung jeweils mit "ausreichend") + 30-minütige mündliche Prüfung am Ende des Semesters. Die Modulnote ergibt sich zu 100% aus der Bewertung der mündlichen Prüfung.
Prüfungssprache: Deutsch

Erstablegung: WS 2022/2023, 1. Wdh.: SS 2023
1. Prüfer: Volkmar Sieh

UnivIS ist ein Produkt der Config eG, Buckenhof