Prof. Dr.-Ing. Hans-Georg Eßer
Systemprogrammierung, Betriebssystem-Entwicklung
Studiengang Informatik, TH Nürnberg

ohm.hgesser.de


Navigation
Startseite
Impressum
Vorlesungsarchiv
BS-Entwicklung
mit Literate
Programming
WS 2015/16
Übersicht
Folien / Videos
Evaluation
Systempro-
grammierung
Linux/Unix
SS 2015
Übersicht
Folien / Audio
Evaluation
BS-Entwicklung
mit Literate
Programming
WS 2014/15
Übersicht
Folien / Videos
Evaluation
Systempro-
grammierung
Linux/Unix
SS 2014
Übersicht
Folien / Videos
Evaluation
BS-Entwicklung
mit Literate
Programming
WS 2013/14
Übersicht
Folien / Videos
Evaluation
Systempro-
grammierung
Linux/Unix
SS 2013
Übersicht
Folien / Videos
Evaluation
Systempro-
grammierung
Linux/Unix
SS 2012
Übersicht
Folien / Videos
Evaluation
Über den Dozenten
Homepage [extern]
Veröffentlichungen
Didaktik-Fortbildungen
Vorlesungen an der ...
  - FH Südwestfalen
  - Hochschule München
  - FOM Hochschule
  - Hochschule
    Albstadt-Sigmaringen
TH Nürnberg
Homepage
 

Betriebssystem-Entwicklung (WS 2014/15)

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 2014/15)

Im Wintersemester 2014/15 halte ich Vorlesungen im Fach Betriebssystem-Entwicklung mit Literate Programming.

Vorlesungsstart ist am 21.10.2014 um 15:45 Uhr, also erst in der dritten Semesterwoche! Die Termine 07.10. und 14.10. entfallen zunächst und werden im Laufe des Semesters nachgeholt.

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

Die folgende Themenplanung ist provisorisch und ändert sich evtl. im Laufe des Semesters.

  1. Einleitung
  2. Einführung in C und die Linux-Shell Bash
  3. Features eines Unix-Systems (Überblick)
  4. LaTeX und Literate Programming
  5. Booten, Protected Mode, Speicher
  1. Interrupts, Faults und System Calls in Ulix
  2. Prozesse; fork()-Implementierung im Kernel
  3. Dateisysteme
  4. Implementierungsprojekt

Aktuelles

[2015/01/13] Eine Vorabversion des "Cheat-Sheet" für Ulix ist jetzt online.
[2014/12/10] Die morgige Vorlesung (11.12.2014) muss leider entfallen; es wird dafür auch keinen Ersatztermin geben. Weiter geht es am 16.12.
[2014/12/02] Die Ergebnisse der Evaluation sind online. Danke fürs Mitmachen!
[2014/10/21] Die ersten Foliensätze stehen jetzt zur Verfügung.
[2014/09/24] 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:

  • Di. 15:45-17:15, HQ 305: Vorlesung
  • Di. 17:30-19:00, HQ 305: Ü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.

Das Ulix-Buch finden Sie unter dem folgenden Link: ULIX-Book-2014WS.pdf. Beim Klick auf den Link müssen Sie sich anmelden. Die Zugangsdaten erhalten Sie in der Vorlesung. Bitte geben Sie dieses Buch nicht weiter, stellen es nicht online etc.

#Tag ThemaFolien (pdf), Übungen, LösungenVideo (mov)
-07.10.2014entfällt! Ersatztermin: s.u.
-14.10.2014entfällt! Ersatztermin: s.u.
121.10.2014 Einführung
Installation Entwicklungs-VM,
Unix- und ULIX-Features (1.*, 3.*)
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 (105 MB),
#2 (22 MB)
228.10.2014 LaTeX und Literate Programming (4.*) Foliensatz 4: 1-up, 4-up; Übung 2: ue02.pdf;
#1 (89 MB)
304.11.2014 Booten, Protected Mode, Speicher (5.1-5.30) Foliensatz 5: 1-up, 4-up; Übung 3: ue03.pdf
#1 (105 MB)
411.11.2014 Speicher (5.31-5.44),
Rahmen- und Seitenverwaltung (6.*)
(Foliensatz 5, Rest)
Foliensatz 6: HTML, html.zip, Druck-PDF
#1 (88 MB),
#2 (65 MB)
518.11.2014 Besprechung der Übung 3; Übung 4;
Interrupts und Faults (7.*)
Vorab-Lektüre: S. 113-137 (ohne "Exercises")
Foliensatz 7: HTML, html.zip, Druck-PDF
Übung 4: ue04.pdf, Musterlösung
#1 (32 MB),
#2 (53 MB)
6Do. 20.11.2014
(HQ 305)
Besprechung der Übung 4,
System Calls (8.*)
Foliensatz 8: HTML, html.zip, Druck-PDF
Übung 5: ue05.pdf
#1 (98 MB)
725.11.2014 Prozesse (9.1-9.44), Zwischenevaluation,
Übung 5 (Forts.)
Vorab-Lektüre: S. 141-182 (Kap. 6.1-6.3)
Foliensatz 9: HTML, html.zip, Druck-PDF
#1 (69 MB),
#2 (52 MB)
802.12.2014 Besprechung von Evaluation und Übung 5,
Video zu Aufg. 9 b, Prozesse (9.45-9.92)
Übung 6: ue06.pdf #1 (93 MB),
#2 (33 MB)
909.12.2014 fork() und Scheduling (10.*),
Übung 6 (Forts.)
Vorab-Lektüre: S. 191-199 (Kap. 6.5) und
S. 256-265 (Kap. 8.3; ohne Kap. 8.3.3)
Foliensatz 10: HTML, html.zip, Druck-PDF
#1 (78 MB)
 Do. 11.12.2014entfällt! Ohne Ersatz
1016.12.2014 Besprechung zu Übung 6;
Dateisysteme (11.*); Übung 7
Foliensatz 11: 1-up, 4-up;
Übung 7: ue07.pdf
#1 (89 MB)
1123.12.2014 Einführung ins Projekt Projektaufgaben #1 (51 MB)
(06.01.2015: Feiertag, außerdem Weihnachtsferien 24.12.-06.01.)
1213.01.2015Projekt
1320.01.2015Projekt
(Ende der Vorlesungszeit: 23.01.2015)
Abgabe der Projekt-Ausarbeitungen: 11.02.2015 (23:59 Uhr)

Literatur

  • H.-G. Eßer, F. C. Freiling: The Design and Implementation of the ULIX Operating System, 2015 (noch nicht veröffentlicht)
  • 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 auf einer separaten Seite.

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.


Copyright © 2012-2017 Hans-Georg Eßer. Letzte Änderung: Sunday, 06-Aug-2017 20:27:48 CEST
Anschrift: Technische Hochschule Nürnberg, Fakultät Informatik, Hohfederstr. 40, 90489 Nürnberg