Überblick:
Im SS98 ist das Buch [1] die wichtigste Grundlage der Vorlesung.
Die Standardthemen
-
Prozesse und Kommunikationsmechanismen,
-
Speicherverwaltung
-
Dateisysteme
-
I/O
-
Betriebsmittelvergabe, Synchronisation
-
Zuverlässigkeitsmechanismen
werden für lokale und verteilte Betriebssysteme behandelt.
Die Übungen
vertiefen den Vorlesungsstoff durch praktische Anwendung der
beschriebenen Konzepte bei der Shell- und Systemprogrammierung
unter UNIX. Zur Lösung der praktischen Aufgaben
muß man C oder C++ programmieren können.
Ein Spezialthema, welches in der zweiten Vorlesung noch weiter vertieft wird,
behandelt Beschreibungsmethoden für komplexe Sachverhalte in
Betriebssystemen: Die Wirkung einiger Betriebssystemmechanismen
(z.B. Security-Funktionen, Real-Time Scheduler) ist so komplex, daß
sie mit informalen Sprachmitteln kaum mehr präzise spezifiziert werden
kann. Daher sind formale Sprachen erforderlich, um eine eindeutige
Beschreibungsweise und eine systematische Verifikation der Korrektheit
der Mechanismen zu ermöglichen.
Ein didaktischer Grundgedanke, welcher (hoffentlich ;-) in den
Vorlesungen sichtbar wird, besteht im Herausarbeiten von Konzepten
oder Paradigmen, die hinter den zur Zeit in Betriebssystemen
implementierten Mechanismen stehen. Ich bin mir ziemlich sicher,
daß Wissen über die ``bösartigen Details" heutiger
Betriebssysteme bereits zu Beginn des nächsten Jahrtausends
völlig wertlos sein wird und daher nur zur kurzfristigen
(kurzsichtigen?) Lösung der Entwicklungsaufgaben im
Software-Tagesgeschäft taugt. Verständnis von Konzepten und
Paradigmen stellt dagegen einen ``bleibenden" Wert dar, da es uns
hilft, neue Technologien effizienter auszunutzen bzw. ihre Eignung
für eine Problemstellung erst zur erkennen.
Literatur:
- [1] A. Tanenbaum: Moderne Betriebssysteme,
Hanser 1995
Hier werden die Hauptthemen dieses Semesters beschrieben.
(Die englische Fassung ist allerdings deutlich besser als die deutsche,
da die Übersetzer offensichtlich viel besser Informatik als Deutsch und
Englisch können)
- [2] A. Tanenbaum: Operating Systems: Design and Implementation,
Prentice Hall.
Dies ist eine erweitere Fassung des 1. Teils von [1].
- [3] A. Tanenbaum: Distributed Operating Systems,
Prentice Hall 1995.
Dies ist eine erweiterte und aktualisierte Fassung des 2. Teils
von [1].
- [4] V. Toth: Programming Windows 98/NT Unleashed, Sams Publishing
1998.
Eine umfangreicher Überblick über die
Systemprogrammierung unter Windows 98 und Windows NT inkl. CD-ROM
mit Beispielen.
- [5] W. Stallings: Operating Systems - Internals and Design
Principles, Prentice Hall 1998.
Diese Buch ist eine Alternative zu den Büchern von
Tanenbaum. Es werden ebenfalls alle wichtigen Standardthemen, auch
in bezug auf verteilte Systeme, behandelt.
- [6] U. Vahalia: Unix Internals - The New Frontiers, Prentice Hall
1996.
Dieses Buch geht zu den einzelnen Themenbereichen mehr in die
Tiefe als Tanenbaum oder Stallings: Wenn diese beiden Bücher
nicht mehr genug Details verraten, lohnt es sich, einen Blick in
den Vahalia zu werfen.
- [7] W.R. Stevens: Unix Network Programming, Prentice Hall
1990.
Eine sehr detaillierte Einführung in die Systemprogrammierung
unter UNIX anhand ausführlicher Beispiele. Insbesondere
wird auf die Standard Internet Protokolle eingegangen sowie auf
Interprozesskommunikationsmechanismen aber auch Remote Login sowie
RPCs werden behandelt. Inzwischen gibt es eine
überarbeitete zweibändige Ausgabe von 1998. Die
Beispiele zu dem Buch liegen auch im Internet zum Download bereit
und sind auch alleine häufig sehr hilfreich.
- [8] C.A.R. Hoare: Communicating Sequential Processes, Prentice
Hall 1985.
Das Standardwerk zu CSP.
- [9] A.W. Roscoe: The Practice and Theory of Concurrency, Prentice
Hall 1998.
Eine modernisierte Einführung in CSP und FDR.
- [10] J. Peleska: Formal Methods and the Development of Dependable
Systems, Christian-Albrechts-Universität zu
Kiel 1996.
In dieser Habilitationsschrift befindet sich u. a. die
Spezifikation der HP-UX Access Control Lists, so wie sie am
5.7. in der Vorlesung vorgestellt wurde (S. 149ff). Eine
Postscript-Version liegt zum Download
lokal auf den Seiten der Universität Bremen.
- [11] M. Spivey: The Z Notation - A Reference Manual, Prentice
Hall 1992.
Dieses Buch enthät eine kurze Einführung in die formale
Sprache Z und beschreibt anschließend ihre Grundlagen in
strukturierter Weise. Der Inhalt steht komplett im Internet als
Postscript
Version zur Verfügung.
Zu Spezialthemen, die über die beschriebenen Bereiche
hinausgehen, wird ein Skriptum herausgegeben.
agbs@informatik.uni-bremen.de,
letzte Änderung 15. April 99