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

ohm.hgesser.de


Navigation
Startseite
Impressum
Aktuelle Vorlesungen
BS-Entwicklung
mit Literate
Programming
WS 2015/16
Übersicht
Folien / Videos
Evaluation
Vorlesungsarchiv
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 From 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 hier:

    FH Südwestfalen

  • Betriebssysteme 1 (SS 2016)
 

    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.


Copyright © 2012-2015 Hans-Georg Eßer. Letzte Änderung: Tuesday, 13-Jan-2015 13:44:08 CET
Anschrift: Technische Hochschule Nürnberg, Fakultät Informatik, Hohfederstr. 40, 90489 Nürnberg