Hasso-Plattner-Institut Potsdam Operating Systems and Middleware Group at HPI University of Potsdam, Germany
Operating Systems and Middleware Group at HPI

Vorlesung: Betriebssysteme II

Sommersemester 2008

Prof. Dr. Andreas Polze

Dipl.-Inf. Alexander Schmidt
M.Sc. Michael Schöbel
Dipl.-Inf. Bernhard Rabe

Inhalt der Vorlesung

Die Lehrveranstaltung richtet ihren Schwerpunkt auf Technologien in Standard-Betriebssystemen (general-purpose operating systems) und diskutiert Techniken und Ansätze am Beispiel der Microsoft Windwos NT/2000/XP-Betriebssystemfamilie. Diese Ansätze werden in Relation gesetzt zu Lösungen, die in UNIX/Mac OS X/ Linux, dem VMS-Betriebssystem und eingebetteten Systemen realisiert worden sind.

Auf diesen Seiten finden Sie Unterlagen zu den Vorlesungen, die laufend ergänzt werden. Insbesondere finden Sie einige Foliensätze, die über das in der Vorlesung gezeigte Material hinausgehen.

Als Teilnehmer der Lehrveranstaltung sind Sie berechtigt Kopien der Unterlagen für Ihre eigene Verwendung anzufertigen. Jegliche Vervielfältigung und Nachnutzung der Unterlagen in elektronischer oder gedruckter Form bedürfen der schriftlichen Zustimmung des Autors.

Termine

  • Dienstag: 9:15 Uhr, HS 2
  • Donnerstag: 11:00 Uhr, HS 3; VL/Übung im Wechsel

Die Teilnahme am Server Computing Summit wird empfohlen.

Leistungserfassung

Der Leistungserfassungsprozeß der Vorlesung umfaßt eine mündliche Prüfung in der vorlesungsfreien Zeit. Im Einzelnen gelten folgende Regeln:
  1. Zur Vorlesung werden Übungsaufgaben gestellt. Diese Aufgaben beschäftigen sich mit Systemschnittstellen, Dateisystemen und der Treiberentwicklung unter Windows.
  2. Die Lehrveranstaltung „kostet“ 6 Belegungspunkte. Die Belegungsfrist endet mit der Übung am 08.05.2008.
  3. Die Ermittlung der Endnote erfolgt in einer mündlichen Prüfung am Semesterende. Bei bestandener Prüfung werden 6 Leistungspunkte vergeben.
  4. In den ersten zehn Minuten der mündlichen Prüfung können Sie (optional) einen Vortrag zu einem Thema Ihrer Wahl halten, z.B. zur Treiber-Entwicklung unter Windows oder zu NTFS Encryption. Anschließend werden Fragen zu Ihrem Vortrag und weitere Fragen zur Vorlesung gestellt.

Literaturhinweise

  • Sysinternals Webseite www.sysinternals.com
  • (CRK) Tools
  • Curriculum Resource Kit Website
  • Mark A.Russinovich/David A. Solomon, "Windows Internals", 4th Edition, MS Press 2005.
  • David A. Solomon/Mark E. Russinovich, "Inside Windows 2000", 3rd Edition, MS Press, 2000.
  • John Hart, „Win32 System Programming“, Addison-Wesley, 1997.
  • Abraham Silberschatz, Peter B. Galvin, "Operating System Concepts", John Wiley & Sons, 6th Ed., 2003;
    Webseite zu diesem Buch unter os-book.com
  • Gary Nutt, "OS Projects using Windows NT", Addison-Wesley, 1999.
  • Helen Custer, "Inside Windows NT", MS Press, 1993.
  • Andrew S. Tanenbaum, "Distributed Operating Systems", Prentice Hall, 1995.
  • Walter Oney, "Programming the Microsoft Windows Driver Model", MS Press, 2003.

Übung

Bei Fragen oder Anmerkungen zur Übung schreiben Sie bitte an bs@hpi.uni-potsdam.de..

Die Übungen sollen in Gruppen bis zu 4 Personen erledigt werden. Bitte teilen Sie uns (sofern noch nicht geschehen) die Gruppenzusammensetzung per Email bis zum 13.05.2008 mit!

1. Aufgabe

Hinweis: Wir empfehlen, die Applikation (z.Bsp. vsdcontrol.exe), die den Treiber verwendet, ohne die Manifest-Option zu linken. Ansonsten kann es zu Fehlern beim Laden der Applikation kommen.

Eine Gruppe wird zu Beginn der Übung am 15.05.2008 ihren Treiber präsentieren und zur Diskussion stellen. Welche Gruppe das sein wird, wird zu Beginn der Übung nach dem Zufallsprinzip entschieden. Seien Sie also vorbereitet.

Gruppen, die zu Präsentationszwecken im Hörsal keinen Laptop zur Verfügung haben, schicken ihr Treiberprojekt inkl. Quellen und Binaries sowie unter Angabe der Zielplattform (Windows XP/Windows Server 2003) an bs@hpi.uni-potsdam.de.

2. Aufgabe

3. Aufgabe

4. Aufgabe -- Implementing a File System Interface

Hinweise

  • Die absoluten Pfade werden stets mit einem '/' beginnen und beziehen sich auf das Image, das mit der letzten VfMountImage-Operation geladen wurde. Sollte die Mount-Operation nicht gelingen und keiner der in den Folien angegebene Rückgabewerte passen, so wird VF_STATUS_INSUFFICIENT_RESOURCES erwartet!
  • Dateien dürfen in dieser Übung nur exklusiv verwendet werden. Wird eine Datei ein weiteres Mal geöffnet, so muss der Status-Code VF_STATUS_ALREADY_OPEN zurückgegeben werden.

5. Übung

Inhalt der Vorlesung

Unit 6: Device Management - The Input/Output System

  1. Principles of I/O Systems ( pdf)
  2. The Windows I/O System Components ( pdf)
  3. Windows I/O Processing ( pdf)
  4. Device Management labs, quizzes, and assignments (.pdf .pdf)

Unit 8: File System

  1. Background: Unix File Systems (.pdf)
  2. The Windows File System (NTFS) (.pdf)
  3. Encrypting File System Security in Windows OS (.pdf)
  4. NTFS – Recovery Support (.pdf)
  5. Windows File and Directory Management (.pdf)
  6. File System labs, quizzes, and assignments (.pdf .pdf)

Unit 9: Real-time and Embedded Systems

  1. Introduction and Vocabulary (.pdf)
  2. Real-Time Systems with Windows (.pdf)
  3. Embedded Systems with Windows XP Embedded (.pdf)
  4. Real-time and Embedded Systems quizzes (.pdf)

Unit 10: Fault-tolerance

  1. Fault-tolerance in Windows (.pdf)
  2. Quizzes (.pdf)

Unit 11: Performance Evaluation

  1. System Performance (.pdf)
  2. Boot/Startup Troubleshooting (.pdf)
  3. Performance Evaluation labs, quizzes, and assignments (.pdf .pdf)

Unit 12: Scripting

  1. Windows Management Instrumentation (.pdf .pdf)
  2. The Registry (.pdf)
  3. Scripting labs, quizzes and assignments (.pdf .pdf)

Unit B: Comparison Linux and the Windows Kernels

  1. The Single UNIX Specification (.pdf extern)
  2. Comparing the Linux and Windows Kernels (.pdf)
  3. Linux and Windows Comparison (.pdf)
  4. Quizzes (.pdf)

Unit C: Windows - Unix Interoperability

  1. File and Command Interoperability (.pdf)
  2. Programming (.pdf)
  3. Quizzes (.pdf)

The Mach Operating System

  1. Mach Operating System (.pdf)
  2. Mach Threads & Scheduling (.pdf)
  3. Mach Memory Management (.pdf)

Experimental Microkernel Systems

  1. Amoeba (.pdf)
  2. Chorus (.pdf)
  3. Comparison of Amoeba, Mach, and Chorus (.pdf)