UnivIS
Information system of Friedrich-Alexander-University Erlangen-Nuremberg © Config eG 
FAU Logo
  Collection/class schedule    module collection Home  |  Legal Matters  |  Contact  |  Help    
search:      semester:   
 
 Layout
 
printable version

 
 
Module Description Sheet (PDF)

 
 
 Also in UnivIS
 
course list

lecture directory

 
 
events calendar

job offers

furniture and equipment offers

 
 

Betriebssystemtechnik (BST)5 ECTS
(englische Bezeichnung: Operating Systems Engineering)
(Prüfungsordnungsmodul: Betriebssystemtechnik (Vorlesung mit Übungen))

Modulverantwortliche/r: Wolfgang Schröder-Preikschat
Lehrende: Wolfgang Schröder-Preikschat


Start semester: SS 2022Duration: 1 semesterCycle: jährlich (SS)
Präsenzzeit: 60 Std.Eigenstudium: 90 Std.Language: Deutsch

Lectures:


Empfohlene Voraussetzungen:

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

    It is recommended to finish the following modules before starting this module:

    Betriebssysteme-V+Ü (WS 2021/2022)


Inhalt:

Schwerpunktthema der Veranstaltung ist 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. Weitere Themen bildet die Interprozesskommunikation durch Nachrichtenversenden bei getrennten Adressräumen, aber auch die Nachbildung virtuell gemeinsamen Speichers auf Basis solcher Ansätze.

Lernziele und Kompetenzen:

Studierende, die das Modul erfolgreich abgeschlossen haben:

  • erläutern und implementieren Entwurfsprinzipien für Systemaufrufe und diskutieren deren spezifischen Vor-/Nachteile.

  • vergleichen grundlegende BS-Architekturen (Monolith, Mikrokern, Makrokern, Exokern) anhand fundamentaler Charakteristika (Robustheit, Performanz, Portierbarkeit) und deren Einfluss auf die Implementierung von Mechanismen (Systemaufrufe, Addressraumschutz).

  • unterscheiden Hierarchiekonzepte des Softwareentwurfs (Benutzthierachie, funktionale Hierachie) und erläutern deren Implikationen beim Betriebssystementwurf.

  • klassifizieren Schutz-, Verwaltungs-, und Virtualisierungstechniken für Programmzustände (Seitennummerierung, Segementierung, Sprachbasierung, Capabilities) und implementieren diese auf der IA-32-Architektur

  • diskutieren Adressraummodelle (Mehradressraummodell, Einadressraummodell, mehrstufige und inverse Seitenabbildungen, Mitbenutzung) und deren Implementierbarkeit auf gängigen Hardwarearchitekturen.

  • implementieren Mechanismen und Abtraktionen zur Interprozesskommunikation.

  • erläutern das Zusammenspiel zwischen Kommunikation und Synchronisation im Bezug auf die besonderen Herausforderungen bei der Implementierung von Betriebssytemabstraktionen (lost wakeup, lost update, gepufferte/ungepufferte Zugriffe)

  • diskutieren Prinzipien der Mitbenutzung von Code und Daten unter Berücksichtigung der Betriebssystem- und Addressraumarchitektur.

  • erläutern die Funktionsweise eines Bindeladers und skizzieren effiziente Implementierungstechniken für positionsunabhängige Strukturen.

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

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

  • Wolfgang Schröder-Preikschat. The Logical Design of Parallel Operating Systems. Prentice Hall.
  • Brian W. Kernighan, Dennis M. Ritchie. The C Programming Language. Prentice Hall.

  • David M. Weiss, Chi Tau Robert Lai. Software Product-Line Engineering: A Family-Based Software Development Process. Addison-Wesley.

  • Krysztof Czarnecki, Ulrich W. Eisenecker. Generative Programming. Methods, Tools and Applications. Addison-Wesley.


Weitere Informationen:

www: https://sys.cs.fau.de/lehre/ss/bst

Verwendbarkeit des Moduls / Einpassung in den Musterstudienplan:

  1. Mathematik (Bachelor of Science)
    (Po-Vers. 2019w | NatFak | Mathematik (Bachelor of Science) | weitere Module der Bachelorprüfung | Module des Nebenfachs | Nebenfach Informatik | Vertiefungsmodule | Vertiefungsrichtung Verteilte Systeme und Betriebssysteme | Betriebssystemtechnik (Vorlesung mit Übungen))
Dieses Modul ist daneben auch in den Studienfächern "Informatik (Bachelor of Arts (2 Fächer))", "Informatik (Bachelor of Science)", "Informatik (Master of Science)", "Informations- und Kommunikationstechnik (Master of Science)" verwendbar. Details

Studien-/Prüfungsleistungen:

Betriebssystemtechnik (Vorlesung mit Übungen) (Prüfungsnummer: 406841)

(englischer Titel: Betriebssystemtechnik (Vorlesung mit Übungen))

Prüfungsleistung, mehrteilige Prüfung, Dauer (in Minuten): 30, benotet, 5 ECTS
Anteil an der Berechnung der Modulnote: 100.0 %
weitere Erläuterungen:
Erfolgreiche Bearbeitung aller während des Semesters gestellten Übungsaufgaben (7 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.

Erstablegung: SS 2022, 1. Wdh.: WS 2022/2023
1. Prüfer: Wolfgang Schröder-Preikschat

UnivIS is a product of Config eG, Buckenhof