Betriebssysteme II 2020
Prof. Dr. Andreas Polze
Andreas Grapentin, Sven Köhler, Daniel Richter, Lukas Wenzel
Die Lehrveranstaltung richtet ihren Schwerpunkt auf Technologien in Standard-Betriebssystemen (general-purpose operating systems) und diskutiert Techniken und Ansätze am Beispiel der Microsoft Windows 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.
Intro
Vorlesung und Projektarbeit
Die Vorlesung ist nach dem "inverted classroom" Prinzip strukturiert. Außerdem wird ein begleitendes Projekt durgeführt. Dabei entfallen ca. 25% der Zeit auf Vorlesungsinhalte, und 75% der Zeit auf Projektarbeit und Auswertung.
Termine
Es findet eine Wöchentliche Videokonferenz zur Besprechung des Materials und des Projektfortschritts statt. Folgender Termin ist dafür vorgesehen:
- Zeit: Donnerstags, 11:00 Uhr
- Ort: Videokonferenz
Unterlagen zur Vorlesung
Die Vorlesung wird auf deutsch gehalten. Die Folien, sowie die meisten weiterführenden Materialien, liegen in englischer Sprache vor.
- Intro [slides]
Leistungserfassung
Es gelten folgende Regeln:
- Es handelt sich um eine 6 Punkte Bachelor-Vorlesung.
- Ergänzend zur Vorlesung werden Projekte durchgeführt.
- Die Ermittlung der Endnote erfolgt zu gleichen Teilen durch die Bewertung der Projektarbeit, sowie eines abschließenden Reports.
- Zum Bestehen der Veranstaltung ist die Teilnahme an den wöchentlichen Projektgesprächen erforderlich
Projektarbeit
Im Projektteil der Veranstaltung werden die folgenden Themen bearbeitet:
Virtual Memory in Ninjastorms
Developing Linux Kernel Modules in Rust
Discovering Grant Searle's Multicomp
Portable Binary Executables
Projekt Kraken -- TPC/IP in Ninjastorms
Projekt Kernel -- Ninjastorms Kernel Architecture
Static Vulnerability Analysis of the Windows Research Kernel
Deep Packet Inspection using the NetFilter API
[Einführung] [Zwischenpräsentation] [Endpräsentation] [Demo]
LM-EV3-NS-OS-I2C-BS-EP -- Driver Development on Ninjastorms
Literaturhinweise
Diese Liste wird ständig ergänzt.
- Sysinternals Webseite www.sysinternals.com
- (CRK) Tools
- 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.
- VMware curriculum repository: GoVirtual.org