Elite-Praktikum im Hauptstudium

Betriebssysteme

Architektur, Kernelstrukturen und Mechanismen


Veranstalter

Dr. Christian Rehn, Prof. Dr. P.P. Spies,


Inhalt des Praktikums

Das Betriebssysteme-Praktikum vermittelt Kenntnisse über den Aufbau eines Mehrbenutzer-Betriebssystems, über Abläufe und Datenstrukturen im Innern des Betriebssystems und über Verfahren und Methoden der Betriebssystemprogrammierung.


Ziele

Ziel des Praktikums ist es, Kenntnisse über den Aufbau und die Funktionsweise eines Betriebssystems zu vermitteln. Die einzelnen Praktikumsaufgaben beschäftigen sich mit internen Strukturen, Systemdiensten und Speicherverwaltung eines Betriebssystems. Dazu werden beispielsweise Änderungen an den Quelltexten des Systemkerns vorgenommen und ein eigenes, modifiziertes Betriebssystem entwickelt. Mit Hilfe von systemnahen Programmen wird anschließend die neue Funktionalität des Kerns getestet. Im Hinblick auf Sicherheitskonzepte von Betriebssystemen wird ausserdem versucht, strategische Entscheidungen bei der Verwaltung von Systemressourcen im Kern zu validieren.

Für die Bearbeitung der Praktikumsaufgaben stehen in Raum 03.05.023 Praktikumsrechner mit AMD/INTEL-Prozessoren und dem Betriebssystem Linux zur Verfügung.


Voraussetzungen

Notwendige Vorkenntnis für dieses Praktikum ist Grundwissen in der Programmiersprache C. Zusätzlich ist ein grundlegendes Verständnis über Konzepte und Komponenten von Betriebssystemen wünschenswert, wie es auch in der Vorlesung Betriebssysteme vermittelt wird.


Anzahl der Praktikumsplätze

Die Teilnehmerzahl in diesem Programmierpraktikum ist auf 31 beschränkt.


Termin und Ort

Die Besprechung findet jeweils mittwochs um 14:30 Uhr in Raum 03.05.058 statt. Im Anschluss an die Besprechung werden Testate abgenommen. Der erste Termin ist Mittwoch, der 18.10.06.


Aufgabenblätter

Die einzelnen Aufgabenblätter können alleine oder in Gruppen mit bis zu 3 Personen bearbeitet werden.

Datum Aufgabenblatt
18.10.2006 Aufgabenblatt 01 (ps) (pdf)
25.10.2006 Aufgabenblatt 02 (ps) (pdf)
8.11.2006 Aufgabenblatt 03 (ps) (pdf)
15.11.2006 Aufgabenblatt 04 (ps) (pdf)
22.11.2006 Aufgabenblatt 05 (ps) (pdf)
29.11.2006 Aufgabenblatt 06 (ps) (pdf)
6.12.2006 Aufgabenblatt 07 (ps) (pdf)
13.12.2006 Aufgabenblatt 08 (ps) (pdf)
13.12.2006 Aufgabenblatt 09 (ps) (pdf)
10.1.2007 Aufgabenblatt 10 (ps) (pdf)
17.1.2007 Aufgabenblatt 11 (ps) (pdf)
24.1.2007 Aufgabenblatt 12 (ps) (pdf)


Merkblätter

Datum Merkblatt
18.10.2006 Merkblatt 01 (ps) (pdf)


Testate

Jeweils nach der wöchentlichen Besprechung sollte jede Gruppe die bearbeiteten Aufgaben vorführen können. Dabei können noch Probleme besprochen werden und besondere Lösungen gezeigt werden. Wurde das Übungsblatt erfolgreich bearbeitet, erhält die Gruppe dafür ein Testat.


Schein

Einen Schein erhält man, wenn man alle Aufgabenblätter erfolgreich bearbeitet hat, die Problemstellungen und Lösungen verstanden hat und alle Testate erhalten hat.


Literaturliste

Die Programmiersprache C

[1]    B. Kernighan, D. M. Ritchie: C Programming Language, 2/e. AT&T Bell Laboratories: Prentice-Hall, 1989
siehe auch: http://vig.prenhall.com/academic/product/1,3411,0131103628,00.html
[2]    S. Oualline: Practical C Programming, 3rd Edition. Sebastopol: O'Reilly, August 1997
siehe auch: http://www.oreilly.com/catalog/pcp3/
[3]    H. Herold: C-Kompaktreferenz. Reading: Addison-Wesley 2005
siehe auch: http://www.addison-wesley.de/main/main.asp....

Systemprogrammierung unter Unix

[4]    H. Herold: Linux - Unix Systemprogrammierung, 2. Auflage. Bonn: Addison-Wesley-Longman, 2004
siehe auch: http://www.addison-wesley.de/main/main.asp....

Online Informationen

Das Dateiformat ELF

Wie fügt man Syscalls dem Kern hinzu

Howto add Syscalls

Keyboard-LED Ansteuerung

HD44780U und Parallelport

USB Bluetooth Dongle

Info zum Kernel 2.X

Webmaster, 19.7.2006, cr