Betriebssysteme I (2011)

Wintersemester 2011/12

Prof. Dr. Andreas Polze/Dr. Peter Tröger
Dipl.-Inf. Bernhard Rabe
Dipl.-Inf. Alexander Schmidt

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.

Klausureinsicht

Donnerstag 26.04.2012 um 11:00-13:00 Uhr in C-1
Eine Voranmeldung per E-Mail bis 25.04.2012 12 Uhr ist zwingend erforderlich!

Termine

  • Di, 09:15-10:45, Vorlesung in HPI HS 2
  • Do, 11:00-12:30, Vorlesung und Übung im Wechsel in HPI HS 3

Der Leistungserfassungsprozeß der Vorlesung schließt das regelmäßige Lösen von Übungsaufgaben ebenso ein, wie eine schriftliche Prüfung in der vorlesungsfreien Zeit.

Literaturhinweise

  • Windows Research Kernel @ HPI Webseite
  • Sysinternals Webseite www.sysinternals.com
  • (CRK) Tools
  • Curriculum Resource Kit Website
    Link nicht mehr erreichbar: https://web.archive.org/web/20110930141613/http://www.microsoft.com/resources/sharedsource/default.mspx
  • 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.

Übung

Bei Fragen oder Anmerkungen zur Übung schreiben Sie bitte eine E-Mail.

0. Aufgabe

  • Sofern noch kein Zertifikat verhanden, richten Sie in Ihrem Browser ein exportierbares DFN-Zertifikat ein.
  • Melden Sie sich beim Abgabesystem für die Übungsaufgaben an.
  • Tragen Sie unter Persönliche Daten ihre Matrikelnummer ein.
  • Bilden Sie Gruppen zu 3 Personen.
  • Ein ausgewähltes Mitglied der Übungsgruppe erzeugt unter Persönliche Daten eine neue Gruppe und trägt die Namen aller zuvor angemeldeten Mitglieder mit Komma getrennt ein.

1. Aufgabe

17.11.2011 (Vorstellung bei Ihrem Tutor bis zum 30.11.2011)

2. Aufgabe

01.12.2011 (Vorstellung bei Ihrem Tutor bis zum 14.12.2011)

Hinweise:

  • Beim Übersetzen der Datei priotest.c aus dem Programmrahmen kommt es zu Compiler-Fehlern bei der Verwendung von Visual Studio 2010. Während wir an einer Lösung des Problems arbeiten empfehlen wir daher, Visual Studio 2008 zu verwenden!
  • Die Systemrufnummer von NtSetInformationThread in Windows 7 lautet 0x14F (335).

3. Aufgabe

15.12.2011 (Vorstellung bei Ihrem Tutor bis zum 11.01.2012)

4. Aufgabe

12.01.2012 (Vorstellung bei Ihrem Tutor bis zum 25.01.2012)

5. Aufgabe

26.01.2012 (Vorstellung bei Ihrem Tutor bis zum 08.02.2012)

  • Aufgabenblatt 5Achtung in Aufgabe 5.2 soll das Verhalten des FIFO-Algorithmus für 4 und 5 Seiten untersucht werden.
  • Folien zur Übung
  • Programmrahmen Scheduler-Aufgabe
  • Programmrahmen Seitenersetzungsverfahren im WRK

    Ablauf der Lehrveranstaltung

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

    Unit 1: Overview of Operating Systems (Core)

    1. Windows Operating System Internals Course Overview (.pdf)
    2. The Evolution of Operating Systems (.pdf)
    3. Windows Operating System Family Concepts & Tools (.pdf)

    Unit 2: Operating System Principles (Core)

    1. Structuring of the Windows Operating System (.pdf)
    2. Windows Core System Mechanisms (.pdf)
    3. Windows on Windows - OS  Personalities (.pdf)
    4. The Windows API Naming Conventions, Types (.pdf)
    5. OS Principles labs and quizzes (.pdf, .pdf)

    Unit 3: Concurrency (Core)

    1. Concurrency, Critical Sections, Semaphores (.pdf)
    2. Windows Trap Dispatching, Interrupts, Synchronization (.pdf)
    3. Advanced Windows Synchronization (.pdf)
    4. Windows APIs for Synchronization and Inter-Process Communication (.pdf)
    5. Concurrency labs and quizzes (.pdf,.pdf)

    Unit 4: Scheduling and Dispatch (Core)

    1. The Concept of Processes and Threads (.pdf)
    2. Windows Processes and Threads (.pdf)
    3. Windows Process and Thread Internals (.pdf)
    4. Windows Thread Scheduling (.pdf)
    5. Advanced Windows Thread Scheduling (.pdf)
    6. Scheduling and Dispatch labs and quizzes (.pdf,.pdf,.pdf)

    Unit 5: Memory Management (Core)

    1. Memory Management for Multiprogramming (.pdf)
    2. Windows Memory Management Fundamentals (.pdf)
    3. Virtual Address Translation (.pdf)
    4. Physical Memory Management (.pdf)
    5. Memory Management labs, quizzes and demos (.pdf, .pdf, .pdf)

    Unit 7: Protection and Security

    1. The Security Problem (.pdf)
    2. Windows Security Components and Concepts (.pdf)
    3. Windows Security Descriptors (.pdf
    4. Security labs and quizzes (.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)