"Betriebssysteme und nebenläufige Programmierung" (Vorlesung + Übung) Sommer 2026
- 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
| 20.03.2026 | 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. |
| 20.03.2026 | Die Vorlesung ist dreistündig. Sie findet Donnerstags jede Woche und Freitags zweiwöchentlich statt. |
| 20.03.2026 | Um das Modul "Betriebssysteme und nebenläufige Programmierung" erfolgreich abzuschließen, benötigen eine Studienleistung. Voraussichtlich ab dem Übungsblatt 3 wird es auf den Übungsblättern jeweils eine (Programmier-)Aufgabe geben, die mit "Pflichtaufgabe für die Studienleistung" markiert ist. Die Aufgabe ist eigenständig (ohne Hilfe, ohne KI und nicht in Gruppen) zu bearbeiten! Die Lösung dieser Aufgabe laden Sie dann bis zum angegebenen Termin in den Moodle-Kurs hoch. Insgesamt wird es sieben solche Aufgaben geben, von denen Sie mindestens vier erfolgreich lösen müssen, um die Studienleistung zu bestehen. 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! |
| 20.03.2026 | Die Klausur findet voraussichtlich(!) am Do.,03.09.2026 statt! Klausurdauer: 60 Minuten, ohne Hilfsmittel. |
| 20.03.2026 | Vorlesungsbeginn: Do., 16.04.2026, Übungsbeginn: Mo., 20.04.2026 |
Vorlesungsunterlagen
- Vollständiger Foliensatz (Stand:20.03.26
): Originalgröße,
2 auf 1
- Foliensätze (werden im Verlauf der Vorlesung aktualisiert):
Hinweis:0. Organisation 20.03.26
Originalgröße 2 auf 1 1. Einführung 20.03.26
Originalgröße 2 auf 1 2. Prozesse und Threads 20.03.26
Originalgröße 2 auf 1 3. Synchronisation 20.03.26
Originalgröße 2 auf 1 4. Kommunikation 20.03.26
Originalgröße 2 auf 1 5. Verklemmungen (Deadlocks) 20.03.26
Originalgröße 2 auf 1 6. Koroutinen und asynchrone Programmierung 20.03.26
Originalgröße 2 auf 1 7. Scheduling 20.03.26
Originalgröße 2 auf 1 8. Speicherverwaltung 20.03.26
Originalgröße 2 auf 1 9. Ein-/Ausgabe und Dateisysteme 20.03.26
Originalgröße 2 auf 1 10. Schutz 20.03.26
Originalgröße 2 auf 1 11. Virtualisierung 20.03.26
Originalgröße 2 auf 1 12. Zusammenfassung, wichtige Themen 20.03.26
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 | Abgabefrist | Besprechung | Aufgabenblatt | Musterlösung | |
| 1 | 16.04. | 20.04./24.04. | |
|
||
| 2 | 23.04. | 27.04./08.05. | |
|
||
| 3 | 30.04. | 04.05./15.05. | |
|
||
| 4 | 07.05. | 11.05./22.05. | |
|
||
| 5 | 15.05. | 18.05./29.05. | |
|
||
| 6 | 21.05. | 01.06./05.05. | |
|
||
| 7 | 28.05. | 08.06./12.06. | |
|
||
| 8 | 11.06. | 15.06./19.06. | |
|
||
| 9 | 18.06. | 22.06./26.06. | |
|
||
| 10 | 25.05. | 29.06./03.07. | |
|
||
| 11 | 02.07. | 06.07./10.07. | |
|
||
| 12 | 09.07. | 13.07./17.07. | |
|
||
| 13 | 16.07. | 20.07./24.07. | |
|
||
| 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), Lösung
- Test zur Selbstkontrolle, Lösung dazu (bitte erst nach der Bearbeitung des Tests ansehen!)
Literatur
- Andrew S. Tanenbaum, Herbert Bos: Moderne Betriebssysteme, 5. Auflage, Pearson Studium, 2025.
- 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)
