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

  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 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:24 CEST
Anschrift: Technische Hochschule Nürnberg, Fakultät Informatik, Hohfederstr. 40, 90489 Nürnberg