|
|
Betriebssystem-Entwicklung (WS 2015/16)
Hier finden Sie Informationen und Material zu meiner Vorlesung
"Betriebssystem-Entwicklung mit Literate Programming"
an der TH Nürnberg.
Betriebssystem-Entwicklung mit Literate Programming (WS 2015/16)
Im Wintersemester 2015/16 halte ich Vorlesungen im Fach
Betriebssystem-Entwicklung mit Literate Programming.
Vorlesungsstart ist am 08.10.2015 um 15:45 Uhr.
Unterlagen benötigen Sie zunächst keine; ich stelle im Laufe des
Semesters die verwendeten Vorlesungsfolien im PDF-Format bzw. in
Form von HTML-Folien (in zip-Archiven) zum Download
zur Verfügung. Übungsblätter bringe ich
als Ausdrucke mit.
Für die Bearbeitung der Aufgaben brauchen Sie ein Linux-System (echt
oder in einer virtuellen Maschine), in dem
u. a. die Entwicklungsumgebung (Compiler, make etc.) sowie der
Emulator qemu installiert sind. Ein für die Entwicklung geeignetes
Linux-Image für VirtualBox stelle ich zu Beginn der Veranstaltung
zur Verfügung.
Zum Leistungsnachweis: Sie werden im Rahmen des Praktikums Teile
des kleinen, Unix-ähnlichen Betriebssystems ULIX mit Hilfe von
Literate Programming implementieren und dokumentieren und die dabei
entstehende
Ausarbeitung nach Ende der Vorlesungszeit einreichen.
Voraussetzungen
Hilfreiche Vorkenntnisse sind Programmiererfahrung in C (wie sie z. B.
in meiner Vorlesung
Systemprogrammierung Unix/Linux eingeübt wurden)
sowie die grundlegende Theorie der Betriebssysteme. Wer bereits
LaTeX-Kenntnisse hat, findet zudem einen schnelleren Einstieg, die
Teilnahme ist aber auch ohne LaTeX-Erfahrungen möglich.
Inhalte
- Einleitung
- Einführung in C und die Linux-Shell Bash
- Features eines Unix-Systems (Überblick)
- LaTeX und Literate Programming
|
- Booten, Protected Mode, Speicher
- Interrupts, Faults und System Calls in Ulix
- Prozesse; fork()-Implementierung im Kernel
- Implementierungsprojekt
|
Aktuelles
[2016/01/07] Andreas Kurz hat ein kleines Tool namens nwIndex entwickelt, das den
Aufbau eines Programms anzeigt. Ein Archiv mit Quellcode und kompilierter Version
für die Entwicklungs-VM finden Sie hier.
[2015/12/01] Die Ergebnisse der Evaluierung sind online. Danke fürs
Mitmachen.
[2015/10/04] Die ersten Foliensätze und das Lehrbuch (freiwillige Zusatzlektüre)
sind online.
[2015/09/17] Bitte denken Sie daran, am ersten Tag (in der zweiten Doppelstunde) Ihr eigenes
Notebook mitzubringen, da Sie dann darauf die Entwicklungs-VM installieren werden.
Material
Termine:
- Do. 15:45-17:15, HQ 104: Vorlesung
- Do. 17:30-19:00, HQ 104: Übung
Die Folien können Sie -- bei PDF-Dateien -- in zwei Varianten herunterladen: 1-up
(eine Folie pro A4-Seite) und 4-up (vier Folien pro A4-Seite). Die meisten
Foliensätze stehen als HTML-Datei zur Verfügung.
# | Tag |
Thema | Folien (pdf), Übungen, Lösungen | Video (mov) |
1 | 08.10.2015 |
Einführung,
Installation Entwicklungs-VM,
Unix- und ULIX-Features (1.*, 2.1-2.16, 3.*);
Übung 1
|
Foliensatz 1:
1-up,
4-up
Foliensatz 2:
1-up,
4-up (ggf. Selbststudium)
Foliensatz 3:
1-up,
4-up;
Übung 1:
ue01.pdf
|
#1 (81 MB),
#2 (41 MB)
|
2 | 15.10.2015 |
LaTeX und Literate Programming (4.*);
Übung 2
|
Foliensatz 4:
1-up,
4-up;
Übung 2:
ue02.pdf;
Musterlösung: PDF-Datei,
Quellcode (zip)
|
#1 (86 MB)
|
3 | 22.10.2015 |
Booten, Protected Mode, Speicher (5.*)
|
Foliensatz 5:
1-up,
4-up
|
#1 (96 MB),
#2 (69 MB)
|
4 | 29.10.2015 |
Übung 3 mit Besprechung (Aufg. 5, 6)
|
Übung 3:
ue03.pdf
|
#1 (80 MB)
|
5 | 05.11.2015 |
Rahmen- und Seitenverwaltung (6.*),
Übung 4
|
Foliensatz 6:
HTML,
html.zip,
Druck-PDF;
Übung 4:
ue04.pdf
|
#1 (75 MB),
#2 (58 MB)
|
6 | 12.11.2015 |
Übung 4 (Forts.) mit Besprechung,
Interrupts und Faults (7.1-7.21)
|
Foliensatz 7:
HTML,
html.zip,
Druck-PDF
|
#1 (79 MB)
|
7 | 19.11.2015 |
Interrupts und Faults (7.22-7.36, auf alter-
nativem Foliensatz FOM/V: V1-V46), Übung 5
|
Übung 5:
ue05.pdf
Alternativer Foliensatz FOM/V:
1-up,
4-up
|
#1 (81 MB),
#2 (19 MB)
|
8 | 26.11.2015 |
Übung 5 (Aufg. 10, mit Bespr.), Zwischen-
evaluation, System Calls (8.*), Übung 5
(Aufg. 11, mit Bespr.), Prozesse (9.1-9.7)
|
Foliensatz 8:
HTML,
html.zip,
Druck-PDF
Foliensatz 9:
HTML,
html.zip,
Druck-PDF
|
#1 (58 MB),
#2 (42 MB)
|
9 | 03.12.2015 |
Prozesse (9.8-9.80)
|
--
|
#1 (82 MB),
#2 (72 MB)
|
10 | 10.12.2015 |
Prozesse (9.81-9.92), Übung 6
|
Übung 6:
ue06.pdf
|
#1 (63 MB)
|
11 | 17.12.2015 |
Besprechung zu Übung 6, fork() und
Scheduling (10.*), Einführung ins Projekt
|
Foliensatz 10:
HTML,
html.zip,
Druck-PDF;
Projektaufgaben
|
#1 (90 MB),
#2 (40 MB)
|
24.12.2015-06.01.2016: Weihnachtsferien |
12 | 07.01.2016 |
Projekt
|
13 | 14.01.2016 |
Projekt
|
Abgabe der Projekt-Ausarbeitungen: 07.02.2015 (23:59 Uhr) |
Tafelbilder:
Verzeichnis
Literatur
- H.-G. Eßer, F. C. Freiling: The Design and Implementation of the ULIX Operating System, 2015, PDF-Datei (Lehrbuch zum Kurs)
- F. Mittelbach, M. Goossens: Der LaTeX-Begleiter, 2010, ISBN: 386894088X
- D. E. Knuth: Literate Programming, The Computer Journal, 27(2), pp. 97-111, 1984,
PDF-Datei
- N. Ramsey: Literate Programming Simplified, IEEE Software, 11(5):97-105, 1994,
PDF-Datei
- N. Ramsey: A One-Page Guide to Using noweb with LaTeX,
PDF-Datei
- A. S. Tanenbaum, A. S. Woodhull: Operating Systems Design and Implementation, 3rd edition, ISBN 0131429388 bzw. 0135053765 (Taschenbuch)
- W. R. Stevens, S. A. Rago: Advanced Programming in the Unix Environment, 2013, ISBN 0321637739
- Helmut Herold: Linux/Unix Systemprogrammierung, 2004, ISBN: 3827321603
- Elias Fischer: Das C-Tutorial
- Ted Jensen: A Tutorial on Pointers and Arrays in C, 2003
Evaluation, MeinProf...
Ich evaluiere alle Veranstaltungen. Zu den verschiedenen Vorlesungen finden Sie
die Auswertungen der Evaluationen hier:
FH Südwestfalen
|
|
FOM Hochschule
|
|
TH Nürnberg
Hochschule München
|
Unabhängig von den regelmäßigen Evaluierungen würde ich mich freuen, wenn Sie
meine Veranstaltung auch auf MeinProf.de bewerten; mein Profil finden Sie
hier.
|