"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 13.05.25
Originalgröße 2 auf 1 1. Einführung 13.05.25
Originalgröße 2 auf 1 2. Prozesse und Threads 13.05.25
Originalgröße 2 auf 1 3. Synchronisation 16.05.25
Originalgröße 2 auf 1 4. Kommunikation 13.05.25
Originalgröße 2 auf 1 5. Verklemmungen (Deadlocks) 13.05.25
Originalgröße 2 auf 1 6. Koroutinen und asynchrone Programmierung 13.05.25
Originalgröße 2 auf 1 7. Scheduling 13.05.25
Originalgröße 2 auf 1 8. Speicherverwaltung 13.05.25
Originalgröße 2 auf 1 9. Ein-/Ausgabe und Dateisysteme 13.05.25
Originalgröße 2 auf 1 10. Schutz 13.05.25
Originalgröße 2 auf 1 11. Virtualisierung 13.05.25
Originalgröße 2 auf 1 12. Zusammenfassung, wichtige Themen 13.05.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 |
Lösung |
||
2 | 17.04. | Mo., 28.04. und Fr., 02.05. | Übungsblatt |
Lösung |
||
3 | 24.04. | bis 04.05. | Mo., 05.05. und Fr., 09.05. | Übungsblatt |
Lösung |
|
4 | 08.05. | bis 18.05. | Mo., 12.05. und Fr., 16.05. | Übungsblatt, Code |
Lösung |
|
5 | 15.05. | Mo., 19.05. und Fr., 23.05. | Übungsblatt, Code |
|
||
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)