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)

 
 
 Außerdem im UnivIS
 
Vorlesungs- und Modulverzeichnis nach Studiengängen

Vorlesungsverzeichnis

 
 
Veranstaltungskalender

Stellenangebote

Möbel-/Rechnerbörse

 
 
>>

Betriebssysteme-V+EÜ (BS-VEU)7.5 ECTS
(englische Bezeichnung: Operating Systems L+EE)
(Prüfungsordnungsmodul: Vertiefungsrichtung Verteilte Systeme und Betriebssysteme)

Modulverantwortliche/r: Daniel Lohmann
Lehrende: Daniel Lohmann, Wolfgang Schröder-Preikschat


Startsemester: WS 2017/2018Dauer: 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 2017)


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:

Hinweise zu geeigneter Literatur erfolgen in der Vorlesung.


Weitere Informationen:

www: http://www4.informatik.uni-erlangen.de/Lehre/WS17/V_BS/

Verwendbarkeit des Moduls / Einpassung in den Musterstudienplan:

  1. Informatik (Bachelor of Science): 5-6. Semester
    (Po-Vers. 2009w | TechFak | Informatik (Bachelor of Science) | Wahlpflichtbereich (5. und 6. Semester) | Wahlpflichtmodule | Vertiefungsrichtung Verteilte Systeme und Betriebssysteme)
Dieses Modul ist daneben auch in den Studienfächern "Informatik (Bachelor of Arts (2 Fächer))", "Informatik (Master of Science)", "Informations- und Kommunikationstechnik (Master of Science)", "Mathematik (Bachelor 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:
30-minütige mündliche Prüfung
+ aktive, erfolgreiche Teilnahme an den erweiterten Übungen

Erstablegung: WS 2017/2018, 1. Wdh.: SS 2018
1. Prüfer: Volkmar Sieh

UnivIS ist ein Produkt der Config eG, Buckenhof