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 2009

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

Prüfung

  • 23.07.2009
  • 13.10.2009
  • 14.10.2009
Ameldung bei Sabine Wagner in C-1.8

Leistungserfassung

Der Leistungserfassungsprozeß der Vorlesung umfasst eine mündliche Prüfung in der vorlesungsfreien Zeit. Im Einzelnen gelten folgende Regeln:
  1. Zur Vorlesung werden Übungsaufgaben gestellt.
  2. Die Lehrveranstaltung „kostet“ 6 Belegungspunkte. Die Belegungsfrist endet am 08.05.2009.
  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 aus der Vorlesung (freie Wahl) halten. 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.

Übungen

Achtung: Die Bearbeitung der Übungsaufgaben findet in Zweiergruppen statt. Bitte teilen Sie uns die Mitglieder der Gruppe per Email an bs@hpi.uni-potsdam.de bis zum 27.05.2009 mit.

Folgend Gruppen haben sich für die Übung registriert:

Gruppe Mitglieder Präsentation
1 Lysann Kessler, Frank Schlegel 11.06.2009
2 Thomas Stening, Sven Viehmeier, Thorsten Papenbrock
3 Patrick Hennig, René Meusel
4 Jann Müller, Minh Tuan Nguyen, Armin Zamani Farahani
5 Thomas Bünger, Fabian Bonhofen 11.06.2009
6 Martin Hanysz, Michael Pöhle
7 Tobias Schmidt, Robert Aschenbrenner 28.05.2009
8 Norman Höfler, Wieland Hagen
9 Martin Kreichgauer, Uwe Hentschel 25.06.2009
10 Fabian Sobiech, Sebastian Stange

1. Aufgabe – Treiberprogrammierung unter Windows

2. Aufgabe – Threadless-FTP Server (IPv4, IPv6)

3. Aufgabe – FAT ls -R

4. Aufgabe

In dieser Übung geht es darum, Probleme und Aspekte von Echtzeitsystemen zu rekapitulieren und diese anhand des Windows-Betriebssystems zu diskutieren.

  1. Lesen Sie das Paper "Using Windows NT for Real-Time Applications: Experimental Observations and Recommendations" von Ramamritham et. al. Beantworten Sie im Anschluss daran folgende Fragen und begründen Sie jeweils Ihre Antwort!
    1. Zu welchem Schluss kommen die Autoren? Ist Windows NT echtzeitfähig?
    2. Welche Komponenten von Windows stehen in Konflikt mit Entwurfszielen von Echtzeitsystemen?
    3. Skizzieren Sie kurz die durchgeführten Experimente der Autoren!
    4. Welche Lösungsansätze diskutieren die Autoren, um Windows NT zumindest für weiche Echtzeitsysteme zugänglich zu machen!
    5. Auf welche Weise geht Windows CE mit den oben genannten Problemen um?
  2. Lesen Sie die beiden Artikel von Mike Jones bzw. Glenn Reeves zum Thema: "What really happened on Mars?". Beide Artikel beschäftigen sich mit der "Pathfinder"-Mission. Beantworten Sie die folgenden Fragen und begründen Sie Ihre Antworten!
    1. Mit welchem Problem sahen sich Ingenieure der Mars-Mission konfrontiert?
    2. Beschreiben Sie das Phänomen und erklären Sie, welche Verfahren zu dessen Lösung existieren!
    3. Wie wurde das Problem auf dem "Pathfinder" behoben?
  3. Machen Sie sich mit den Scheduling-Verfahren "Earliest Deadline First" (EDF) und "Rate-Monotonic Scheduling" (RMS) aus der Vorlesung vertraut. Ein Task T sei beschrieben durch T = (p; e), wobei p die Periode und e die Ausführungszeit des Tasks ist. Die Periode stellt gleichzeitig die Deadline des Tasks dar. Stellen Sie für die folgenden Tasks einen Ausführungsplan (in einem Gantt-Diagramm) im Intervall [0, 750) – jeweils einen pro Scheduling-Verfahren – auf und berechnen Sie die CPU-Auslastung des Systems: T1 = (100; 20), T2 = (150; 50) und T3 = (250; 100)!

5. Aufgabe

Diese Übung versteht sich als Empfehlung (freiwillig!) um sich dem Thema Scripting an einem Beispiel zu nähern.

    Schreiben Sie ein Skript (Sprache/Plattform frei wählbar, z.B Bourne-Shell, WSH, ...) welches ein angegebenes Verzeichnis rekursiv (ls -R) bearbeitet und HTM-Code ausgibt:
  • Das erste Kommandozeilenargument ist das zu bearbeitende Verzeichnis.
  • Verzeichnisse sollen in Listen <ul> formuliert werden
  • Dateien sollen Listeneinträge <li> unterhalb eines Verzeichnisses sein und einen Link <a> auf die Datei enthalten.
  • Eine Reihenfolge der Einträge ist nicht vorgegeben
  • Beispielausgaben WSH JScript Bourne Shell Verzeichnislisting

Ablauf der Lehrveranstaltung

Die Vorlesung wird auf deutsch gehalten. Dennoch liegen die Folien in englischer Sprache vor.
In der untenstehenden Liste finden Sie die Unterlagen im pdf-Format (2 Folien je Seite).

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 A: Windows Networking

  1. Networking Components in Windows OS (.pdf)
  2. Windows Socket Programming (.pdf)
  3. Microsoft-specific extensions to Sockets and other Networking APIs (.pdf)
  4. Networking labs and quizzes (.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 Scripts )
  2. Powershell 1.0
  3. The Registry (.pdf)
  4. 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)