Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

Vorlesungsüberblick

Die Veranstaltung Systemprogrammierung (SP) gibt eine Einführung in das "Programmieren im Großen" mit der Sprache C, verbunden mit der Vermittlung von grundlegenden Techniken der (imperativen) Systemprogrammierung am Beispiel von Betriebssystemen.

Die Vorlesung behandelt Betriebssysteme auf funktionaler wie auch (Software-)struktureller Ebene. Der "klassische" Lehrstoff über Betriebssystemfunktionen wird am Beispiel eines logischen, schichtenstrukturierten Systementwurfs vermittelt. Dabei steht der gesamtheitliche Zusammenhang zwischen den verschiedenen Funktionen im Vordergrund.

Der Lehrstoff gliedert sich auf in drei Hauptteile. Der erste Teil ist von einführendem Charakter und gibt zunächst eine kurze Motivation, gefolgt von einem etwas längeren geschichtlichen Rückblick über die Entwicklung von Betriebssystemen. Im zweiten Teil werden die typischen zentralen Betriebssystemabstraktionen (Adressraum, Speicher, Datei und Prozess) aus Benutzersicht, d. h. "von oben" und am Beispiel der UNIX-Systemschnittstelle, diskutiert. Abschluss bildet ein kurzer Abstecher in den modularen, hierarchischen Entwurf von Betriebssystemen. Hier wird die logische Struktur eines Betriebssystems entwickelt, dessen Funktionen im weiteren Verlauf des sich anschließenden dritten Teils genauer betrachtet werden sollen. In eben diesen dritten Teil werden die Konzepte, Techniken und Funktionen im Detail erklärt, die zur Implementierung der eingangs erwähnten Basisabstraktionen von Betriebssystemen erforderlich sind. Im Einzelnen behandelt werden in dem Kontext die folgenden Themen:

  • Speichervergabe, Adressraumabbildung
  • Prozessumschaltung, -einplanung und -verwaltung
  • Unterbrechungssteuerung, Koordination
  • Ein-/Ausgabe, Dateiverwaltung
  • Ein-/Auslagerung, Programmverwaltung
  • Zugriffskontrolle, Systemaufrufe
Im Vordergrund stehen Betriebssystemfunktionen für Einprozessorsysteme. Spezielle Fragestellungen zu Mehrprozessorsystemen (auf Basis gemeinsamen Speichers) werden nur am Rande und in Bezug auf Funktionen zur Koordinierung nebenläufiger Programme behandelt. In ähnlicher Weise werden Fragen zur Echtzeitverarbeitung ansatzweise nur in Bezug auf die Prozesseinplanung erörtert.

Gliederung und Vorlesungsfoliennach oben ▲

Die Vorlesungsfolien werden im PDF-Format mit einer DIN-A4-Seite, zwei DIN-A5-Seiten und vier DIN-A6-Seiten pro Druckblatt angeboten.

Die Folien liegen zu Beginn des Semesters noch nicht vollständig vor - wir werden die Teile jeweils zur Verfügung stellen, sobald sie fertig werden.

Hinweis: Im laufenden Semester wird eine neue Aufzeichung der Vorlesung Systemprogrammierung 2 erstellt.

Aktuell wird für die Vorlesungen SP1 und SP2 ein Glossar entwickelt, in dem die in der Vorlesung verwendeten Akronyme und Fachvokabular näher erläutert werden. Der aktuelle Stand, der den Stoff von SP1 bereits weitestgehend abdeckt (und auch Themen aus SP2 beinhaltet), ist unter folgendem Link zu finden: Glossar aktuell.

All slides are copyrighted (C) 2006-2017 by Wolfgang Schröder-Preikschat and Jürgen Kleinöder, University of Erlangen-Nürnberg, Germany. Use without prior written permission of the authors is not permitted!

AbschnittDatumFolien (PDF)Aufzeichnung
Teil B
8. Zwischenbilanz zu SP 1 19.10.2017 A4, A5, A6 video.fau.de
Teil C
9.Prozessverwaltung
1. Einplanungskriterien: Faden (Thread), Einplanungsebenen, Prozesszustände, Verdrängung, Gütemerkmale 26.10.2017 A4, A5, A6 video.fau.de
2. Einplanungsverfahren: Einordnung, Verfahren/Strategien 02.11.2017 A4, A5, A6 video.fau.de
10.Prozesssynchronisation
1. Nichtsequentialität: Parallelisierbarkeit, Kausalordnung, Konkurrenz und Koordination, Verfahrensweisen 09.11.2017 A4, A5, A6 video.fau.de
2. Monitore (Hansen, Hoare, Mesa, Java), Bedingungsvariable, Signalisierungssemantiken 16.11.2017 A4, A5, A6 video.fau.de
3. Semaphor (binär, allgemein), Mutex, unilaterale Sperren (Unterbrechung, Fortsetzung, Verdrängung) 23.11.2017 A4, A5, A6 video.fau.de
4. Umlaufsperre, Schlossalgorithmen, nichtblockierende Synchronisation, (Mikro-) Transaktion, Spezialbefehle 30.11.2017 A4, A5, A6 video.fau.de
11.Betriebsmittelverwaltung
Betriebsmittel, Stillstand 07.12.2017 A4, A5, A6 video.fau.de
12.Speicherverwaltung
1. Adressraumkonzepte: Grundlagen, physikalischer Adressraum, logischer Adressraum, virtueller Adressraum 21.12.2017 A4, A5, A6 video.fau.de
1a. Fortsetzung 12-1 und Erklärung des Meltdown-Angriffs 11.01.2018 video.fau.de
2. Zuteilungsverfahren: Platzierungsstrategie, Freispeicherorganisation, Speicherverschnitt Videoaufz. 06.02.2018 A4, A5, A6 video.fau.de
3. Speichervirtualisierung: Ladestrategie, Ersetzungsstrategie (FIFO, LRU, WS) 18.01.2018
Videoaufz. 23.01.2018
A4, A5, A6 video.fau.de
13.Dateisystem A4, A5, A6
1. Medien, Speicherung von Dateien, Beispiele: UNIX-FS, EXT2-FS, NTFS 30.01.2018 video.fau.de
2. NTFS, Dateisysteme mit Fehlererholung (Journal, Log-structured), RAID-Systeme 01.02.2018
Fragestunde zur Klausur08.02.2018

Vertiefende Literaturnach oben ▲

  • A. Silberschatz, P. B. Galvin, G. Gagne. Operating Systems Concepts. John Wiley & Sons, 2001.
  • R. W. Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley, 1992.
  • A. S. Tanenbaum, A. S. Woodhull. Operating Systems: Design And Implementation. Prentice-Hall, 1997.
  • A. S. Tanenbaum. Structured Computer Organization. Prentice-Hall, 1999.

Auszüge aus dem Buch Betriebssysteme: Grundlagen, Entwurf, Implementierung

Im Folgenden finden Sie einige Ausüge aus der Arbeitsfassung des noch nicht erschienenen Buches Betriebssysteme: Grundlagen, Entwurf, Implementierung des Dozenten Prof. Dr. Wolfgang Schröder-Preikschat, welche einige Themen der Vorlesung behandeln. Der Zugriff auf die Kapitel ist nur aus dem Netz der Universität möglich.

Kapitel PDF
Einleitung PDF
Evolution und Betriebsarten PDF
Organisation von RechensystemenPDF
Anhang PDF
Antworten PDF
Referenzen PDF
Begriffsverzeichnis PDF
Sachverzeichnis PDF
Fremdwortverzeichnis PDF

UnivIS-Informationennach oben ▲

Systemprogrammierung 2 (SP2)

Dozent/in
Dr.-Ing. Jürgen Kleinöder

Angaben
Vorlesung
2 SWS, Sprache Deutsch
Zeit und Ort: Do 8:15 - 9:45, H11 (außer Do 25.1.2018); Einzeltermine am 23.1.2018 10:00 - 11:30, H4; 30.1.2018 10:15 - 11:45, H4; 16.2.2018 13:00 - 15:00, H4; 19.2.2018 10:00 - 12:00, H4; Bemerkung zu Zeit und Ort: Zusätzliche Klausurfragestunden am 16.02 und 19.02

Studienfächer / Studienrichtungen
PF INF-BA 3
PF IuK-BA 3
PF CE-BA-G 3
PF WINF-BA 3
WPF MT-BA ab 5