Seminar: Quellcode-Analyse - Windows 2000, Mac OSX
Sommersemester 2003
Prof. Dr. habil. Andreas Polze
|
Dipl.-Ing. Oliver Schmidt
|
Dipl.-Inf. Martin von Löwis
|
Dipl.-Phys. Michael Dirska
|
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:
- Die Strukturierung des Windows 2000/Mac OS X-Betriebssystems
- Quellcodebaum
- Kernelfunktionen (Speicherverwaltung, Interprozeßkommunikation, Scheduling)
- Der Windows 2000/Mac OS X build-Prozeß
- Setup, Modifikation an Systemkomponenten
- Installieren/Testen eines modifizierten Kernels
- Windows 2000/Mac OS X Scheduling
- Experimente mit dem (Kernel) Debugger
- Veränderung von Quantum/Prioritätenboosting
- Modellieren der Funktionsweise (FMC)
- Windows 2000/Mac OS X I/O-System
- Experimente mit dem Kernel Debugger
- Datenstrukturen, Treiber
- Portierung von Treibern am Bsp. USB
- Installation von Geräten (PnP)
- Modellierung der Funktionsweise (FMC)
- Message-Passing Kommunikation unter Windows 2000/Mac OS X
- Ports und Messages, Local Procedure Calls
- Kommunikation zwischen Kernel und User-Space Servern
- Systemstart
- Bootvorgang
- Power Management - Experimente mit dem Kernel-Debugger
- Modellieren der Funktionsweise
- Die Implementation von Kerberos im Umfeld des Active Directory
- ACLs, Windows 2000 Sicherheit
- Login-Vorgang
- 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.