Betriebssysteme I (2010)

Wintersemester 2010/11

Prof. Dr. Andreas Polze/Dr. Peter Tröger
Dipl.-Inf. Alexander Schmidt
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.

Klausureinsicht

Donnerstag 28.04.2011 um 13:30-16:00 Uhr in C-1
Dienstag 03.05.2011 um 13:30 Uhr in C-1
Eine Voranmeldung per E-Mail bis 02.05.2011 12 Uhr ist zwingend erforderlich!

Termine

  • Di, 09:15-10:45, Vorlesung in HPI HS 3
  • 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 uns 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

04.11.2010 (Vorstellung bei Ihrem Tutor bis zum 17.11.2010)

2. Aufgabe

25.11.2010 (Vorstellung bei Ihrem Tutor bis zum 08.12.2010)

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

06.12.2010 (Vorstellung bei Ihrem Tutor bis zum 07.01.2011, Abgabe der Quelltexte bis 23.12.2010)

4. Aufgabe

06.01.2011 (Vorstellung bei Ihrem Tutor bis zum 19.01.2011)

5. Aufgabe

20.01.2011 (Vorstellung bei Ihrem Tutor bis zum 02.02.2011)

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)