"Betriebssysteme und nebenläufige Programmierung" (Vorlesung + Übung) Sommer 2025
- Einführung in die Grundkonzepte moderner Betriebssysteme für Arbeitsplatzrechner und Server
- Schwerpunkte: Synchronisation, Nebenläufigkeit und Speicherverwaltung
- Voraussetzungen: Grundkenntnisse der Informatik (Algorithmen und Datenstrukturen, Objektorientierte und funktionale Programmierung)
- Details:
siehe Modulbeschreibung in unisono
- Link zu Informationen in unisono (Termine etc.): Vorlesung, Übung
- Link zum Moodle-Kurs (u.a. Vorlesungs-Aufzeichnungen und Abgabe der Lösungen für die Studienleistung)
Ankündigungen
24.04.2025 | Die Klausur findet voraussichtlich am Do.,28.08.2025, ab 12:00 Uhr im Raum H-C 3305 statt! Klausurdauer: 60 Minuten, ohne Hilfsmittel. |
01.04.2025 | NEU: Es gibt eine Web-Applikation, mit der Sie sich einen individuellen Studienverlaufsplan (für Bachlor / Master Informatik) erstellen können. Die Applikation prüft dabei den Verlaufsplan, ob alle Vorgaben der Prüfungsordnung eingehalten werden, gibt Hinweise über inhaltliche oder formale Abhängigkeiten, Empfehlungen zur Wahl von Modulen aus anderen Vertiefungskatalogen, und vieles mehr. Der Studienverlaufsplan wird auf unserem Server gespeichert, kann aber auch als PDF heruntergeladen werden. |
01.04.2025 | Die Vorlesung ist dreistündig. Sie findet Donnerstags jede Woche und Freitags zweiwöchentlich statt. |
01.04.2025 | Alle Studierenden, die nach einer FPO 2019 oder neuer studieren, benötigen eine Studienleistung, um das Modul "Betriebssysteme I" bzw. "Betriebssysteme und nebenläufige Programmierung" erfolgreich abzuschließen. Das betrifft u.a. folgende Studiengänge:
Bitte vergessen Sie nicht, sich frühzeitig zur Studienleistung "4INFBA011-S - Studienleistung Betriebssysteme und nebenläufige Programmierung" in unisono anzumelden! Ohne diese Anmeldung können Sie keine Lösungen in Moodle hochladen! |
01.04.2025 | Vorlesungsbeginn: Do., 10.04.2025, Übungsbeginn: Mo., 14.04.2025 |
Vorlesungsunterlagen
- Vollständiger Foliensatz (Stand:01.04.25
): Originalgröße,
2 auf 1
- Foliensätze (werden im Verlauf der Vorlesung aktualisiert):
0. Organisation 10.04.25
Originalgröße 2 auf 1 1. Einführung 10.04.25
Originalgröße 2 auf 1 2. Prozesse und Threads 24.04.25
Originalgröße 2 auf 1 3. Synchronisation 10.04.25
Originalgröße 2 auf 1 4. Kommunikation 01.04.25
Originalgröße 2 auf 1 5. Verklemmungen (Deadlocks) 01.04.25
Originalgröße 2 auf 1 6. Koroutinen und asynchrone Programmierung 01.04.25
Originalgröße 2 auf 1 7. Scheduling 01.04.25
Originalgröße 2 auf 1 8. Speicherverwaltung 01.04.25
Originalgröße 2 auf 1 9. Ein-/Ausgabe und Dateisysteme 01.04.25
Originalgröße 2 auf 1 10. Schutz 01.04.25
Originalgröße 2 auf 1 11. Virtualisierung 01.04.25
Originalgröße 2 auf 1 12. Zusammenfassung, wichtige Themen 01.04.25
Originalgröße 2 auf 1 - Die Foliensätze in Originalgröße enthalten auch alle Animationen, die 2-auf-1 Versionen ggf. weitere Anmerkungen.
Übungen / Musterlösungen
Übung | Ausgabe | Abgabe (nur 6 LP) | Besprechung | Aufgabenblatt | Musterlösung | |
1 | 10.04. | Mo., 14.04. und Fr., 25.04. | Übungsblatt |
|
||
2 | 17.04. | Mo., 28.04. und Fr., 02.05. | Übungsblatt |
|
||
3 | 24.04. | bis 04.05. | Mo., 05.05. und Fr., 09.05. | Übungsblatt |
|
|
4 | 08.05. | Mo., 12.05. und Fr., 16.05. | |
|
||
5 | 15.05. | Mo., 19.05. und Fr., 23.05. | |
|
||
6 | 22.05. | Mo., 26.05. und Fr., 30.05. | |
|
||
7 | 30.05. | Mo., 02.06. und Fr., 06.06. | |
|
||
8 | 05.06. | Mo., 16.06. und Fr., 13.06. | |
|
||
9 | 12.06. | Mo., 23.06. und Fr., 27.06. | |
|
||
10 | 26.06. | Mo., 30.06. und Fr., 04.07. | |
|
||
11 | 03.07. | Mo., 07.07. und Fr., 11.07. | |
|
||
12 | 10.07. | Mo., 14.07. und Fr., 18.07. | |
|
||
13 | ----- | ----- | |
|
||
14 | ----- | ----- | |
|
Materialien
- Java Synchronisations-Paket für die Übungen Beispielcodes
- Erzeuger/Verbraucher-Problem
in Java
Drei Implementierungen: reines Java; mit Semaphoren; mit Mutex und Bedingungsvariablen. Incl. JAR-Archiv des Synchronisationspakets BSsync.
Simulation verschiedener Synchronisationsprobleme aus der Vorlesung
- Sie können sich hier ein Java-Programm herunterladen, mit dem Sie verschiedende Synchronisationsprobleme aus der Vorlesung simuliert ausführen können.
- Starten Sie das Programm mit dem Kommando java -cp Demo.jar Demo.
- Sie erhalten dann eine kurze Hilfestellung, wie Sie die verschiedenen Synchronisationsprobleme ausführen können.
Z.B. können Sie mit java -cp Demo.jar Demo LeserSchreiber leser=3 schreiber=3
das Leser-Schreiber-Problem mit 3 Lesern und 3 Schreibern ausführen. - Wenn Sie ein Synchronisationsproblem ausführen, druckt das Programm auch eine kurze Erläuterung dazu.
Musterklausur
- Musterklausur (alte Klausur aus dem WS 04/05)
- Test zur Selbstkontrolle, Lösung dazu (bitte erst nach der Bearbeitung des Tests ansehen!)
Literatur
- Andrew S. Tanenbaum, Herbert Bos: Moderne Betriebssysteme, 4. Auflage, Pearson Studium, 2016.
- William Stallings: Betriebssysteme, 4. Auflage, Pearson Studium, 2003.
- William Stallings: Operating
Systems -- Internals and Design Principles, 8. Auflage, Pearson
Education, 2015.
- Johann C. Strelen: Betriebssysteme
und parallele Programme (kostenloser Download)