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
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.
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:
-
Der GNU C-Compiler, der unter der GPL
für mehrere Betriebssysteme frei verfügbar ist.