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 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 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

  1. Einleitung
  2. Einführung in C und die Linux-Shell Bash
  3. Features eines Unix-Systems (Überblick)
  4. LaTeX und Literate Programming
  1. Booten, Protected Mode, Speicher
  2. Interrupts, Faults und System Calls in Ulix
  3. Prozesse; fork()-Implementierung im Kernel
  4. 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 ThemaFolien (pdf), Übungen, LösungenVideo (mov)
108.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)
215.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)
322.10.2015 Booten, Protected Mode, Speicher (5.*) Foliensatz 5: 1-up, 4-up #1 (96 MB),
#2 (69 MB)
429.10.2015 Übung 3 mit Besprechung (Aufg. 5, 6) Übung 3: ue03.pdf #1 (80 MB)
505.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)
612.11.2015 Übung 4 (Forts.) mit Besprechung,
Interrupts und Faults (7.1-7.21)
Foliensatz 7: HTML, html.zip, Druck-PDF #1 (79 MB)
719.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)
826.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)
903.12.2015 Prozesse (9.8-9.80) -- #1 (82 MB),
#2 (72 MB)
1010.12.2015 Prozesse (9.81-9.92), Übung 6 Übung 6: ue06.pdf
#1 (63 MB)
1117.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
1207.01.2016 Projekt
1314.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

  • Betriebssysteme 2 (WS 2016/17)
  • 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: Thursday, 07-Jan-2016 01:06:55 CET
Anschrift: Technische Hochschule Nürnberg, Fakultät Informatik, Hohfederstr. 40, 90489 Nürnberg