Seminar: Quellcode-Analyse - Windows 2000, Mac OSX

Sommersemester 2003

Prof. Dr. habil. Andreas Polze
andreas.polze@hpi.uni-potsdam.de

Dipl.-Ing. Oliver Schmidt
oliver.schmidt@hpi.uni-potsdam.de

Dipl.-Inf. Martin von Löwis
martin.vonLoewis@hpi.uni-potsdamde

Dipl.-Phys. Michael Dirska
michael.dirska@hpi.uni-potsdam.de

Im Sommersemester 2003 findet ein Seminar zur Dokumentation und Analyse eines Betriebssystems statt. Das Seminar richtet sich an Studierende des Studienganges Softwaresystemtechnik (4. und 6. Semester) und wird dem Themengebiet Softwarekonstruktion oder Anwendungssysteme zugerechnet. Voraussetzung für das Seminar ist Standardwissen zur Architektur von Betriebssystemen (VL Prof. Polze), zur Systemmodellierung (VL Dr. Tabeling). Der Besuch des Modellierungsseminars wird empfohlen.

Von den Teilnehmern wird ein 45-50 minütiger Vortrag mit anschließender Diskussion und Auswertung (25-30 Minuten) erwartet. Zwei Wochen vor dem Vortragstermin sollten in einer Vorbesprechung die Vortragsunterlagen (draft-Ausgabe der Folien) bei einem Betreuer vorgestellt werden. Zum Seminar werden wöchentliche Konsultationen angeboten.

Am Ende des Seminars sollen Ausarbeitungen zu allen Vortragsthemen in einem englischsprachigen technischen Report zusammengefaßt werden. In die Bewertung des Seminars (3 benotete Leistungspunkte) gehen Vortrag, Diskussion und Ausarbeitung ein.

Termin: zweitägiges Blockseminar, 10./11.7.2003

Konsultationen: mittwochs, 11-13:00

Laborstunden im Windows 2000 Quellcode-Labor (C-E.5): mittwochs, 10-15:00

Themenvergabe: 9.4.2003, 13:00-14:30, HPI A.2.1

Die Auseinandersetzung mit den Betriebssystemen Windows 2000 und MacOS X erfolgt anhand von Experimenten (Debugger/Kernel Debugger), anhand von Testprogrammen, durch Studium der jeweiligen Systemdokumentation und anhand des Quellcodes. Für das Studium der Windows 2000-Quellen ist das Unterzeichnen eines non-disclosure-Agreements (NDS) vonnöten.

Alle weiteren relevanten Informationen finden sich auf der Webseite der Veranstaltung Win2KSem.

Liste der Seminarthemen:

  1. Die Strukturierung des Windows 2000/Mac OS X-Betriebssystems
    1. Quellcodebaum
    2. Kernelfunktionen (Speicherverwaltung, Interprozeßkommunikation, Scheduling)
  2. Der Windows 2000/Mac OS X build-Prozeß
    1. Setup, Modifikation an Systemkomponenten
    2. Installieren/Testen eines modifizierten Kernels
  3. Windows 2000/Mac OS X Scheduling
    1. Experimente mit dem (Kernel) Debugger
    2. Veränderung von Quantum/Prioritätenboosting
    3. Modellieren der Funktionsweise (FMC)
  4. Windows 2000/Mac OS X I/O-System
    1. Experimente mit dem Kernel Debugger
    2. Datenstrukturen, Treiber
    3. Portierung von Treibern am Bsp. USB
    4. Installation von Geräten (PnP)
    5. Modellierung der Funktionsweise (FMC)
  5. Message-Passing Kommunikation unter Windows 2000/Mac OS X
    1. Ports und Messages, Local Procedure Calls
    2. Kommunikation zwischen Kernel und User-Space Servern
  6. Systemstart
    1. Bootvorgang
    2. Power Management - Experimente mit dem Kernel-Debugger
    3. Modellieren der Funktionsweise
  7. Die Implementation von Kerberos im Umfeld des Active Directory
    1. ACLs, Windows 2000 Sicherheit
    2. Login-Vorgang
    3. Modellieren der Funktionsweise (FMC)

Literatur:

· Marshall K. McKusick, Keith Bostic, Michael J. Karels et al.
“The Design and Implementation of the 4.4 BSD Operating System”, ADDISON-WESLEY LONGMAN, AMSTERDAM, ISBN 0201549794,1996.

· David A. Solomon, Mark Russinovich
”Inside Microsoft Windows 2000” (Microsoft Programming Series),
Microsoft Press, 3rd Bk&cdr edition, ISBN: 0735610215, 2000.

· Bernd Oestereich
„Objektorientierte Softwareentwicklung - Analyse und Design mit der UML“
5., völlig überarbeitete Auflage (UML 1.4) Verlag R. Oldenbourg, München 2001, ISBN 3-486-25573-8.

erstellt von Peter Tröger