Praktikum im Hauptstudium

Betriebssysteme

Architektur, Kernelstrukturen und Mechanismen


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 Praktikumsrechner mit AMD/INTEL-Prozessoren und dem Betriebssystem Linux zur Verfügung. Der Praktikumsraum befindet sich im Gebäude 5 des Zentralgeländes, Luisenstraße Ecke Theresienstraße, 3. Stock, Raumnummer 3557 und kann tagsüber genutzt werden.


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 im Hauptstudium vermittelt wird. Weitere Kenntnisse werden nicht vorausgesetzt.


Anmeldung

Die Anmeldung zu diesem Programmierpraktikum ist noch bis 10.8.2001 möglich.


Anzahl der Praktikumsplätze

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


Termin und Ort

Die Besprechung findet jeweils Mittwochs von 15 Uhr bis 17 Uhr im Seminarraum 3565 statt.


Praktikumsbesprechung

Datum Nummer
17.10.2001 Folien 1 PDF
24.10.2001 Folien 2 PDF
31.10.2001 Folien 3 PDF
7.11.2001 Folien 4 PDF
21.11.2001 Folien 6 PDF

Aufgabenblätter

Die einzelnen Aufgabenblätter werden in Gruppen zu je zwei Personen bearbeitet. Bitte aber darauf achten, dass die Arbeit gleichmäßig verteilt wird.
 
Datum Nummer
17.10.2001 Aufgabenblatt 1 Postscript
24.10.2001 Aufgabenblatt 2 Postscript
31.10.2001 Aufgabenblatt 3 Postscript
7.11.2001 Aufgabenblatt 4 Postscript
14.11.2001 Aufgabenblatt 5 Postscript
21.11.2001 Aufgabenblatt 6 Postscript
28.11.2001 Aufgabenblatt 7 Postscript
12.12.2001 Aufgabenblatt 8 Postscript
19.12.2001 Aufgabenblatt 9 Postscript
9.1.2002 Aufgabenblatt 10 Postscript
23.1.2002 Aufgabenblatt 11 Postscript


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.


Ansprechpartner

Fragen zu diesem Praktikum beantwortet:
Harald Görl, Raum 3562

Gebäude 5
Luisenstraße, Eingang XI
3. Obergeschoß (Ecke Luisenstr./Theresienstr.)

Tel. 089/289-25362
email: goerl@in.tum.de


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 1999
siehe auch: http://www.addison-wesley.de/projector/projector.asp?page=bookdetails&isbn=3827314801

Systemprogrammierung unter Unix

[4]    H. Herold: Linux - Unix Systemprogrammierung, 2. Auflage. Bonn: Addison-Wesley-Longman, 1999
siehe auch: http://www.addison-wesley.de/projector/projector.asp?page=bookdetails&isbn=3827315123

Der Linux Kernel

[5]    Beck, Böhme, Dziadzaka, Kunitz, Magnus, Schröter, Verworner: Linux Kernelprogrammierung. Bonn: Addison-Wesley-Longman, 2001
siehe auch: http://www.addison-wesley.de/projector/projector.asp?page=bookdetails&isbn=3827316596
[6]    Daniel P. Bovet, Marco Cesati: Understanding the Linux Kernel. Sebastopol: O'Reilly, 2001
siehe auch: http://www.oreilly.com/catalog/linuxkernel/
[7]    Alessandro Rubini: Linux Device Drivers, 2nd Edition. Sebastopol: O'Reilly, 2001
siehe auch: http://www.oreilly.com/catalog/linuxdrive/

Online Informationen

Das Dateiformat ELF

Das ELF-Dateiformat

Wie fügt man Syscalls dem Kern hinzu

Howto add Syscalls

Programm zur LED-Ansteuerung

led_cpu

Info zum Kernel 2.4

Linux Kernel 2.4 Internals

Links

Begleitend zu diesem Praktikum sind Informationen zu folgenden Themen abrufbar:
Webmaster, 4.9.01, hg 14.10.01