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 2013/14)

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 2013/14)

Im Wintersemester 2013/14 halte ich Vorlesungen im Fach Betriebssystem-Entwicklung mit Literate Programming.

Vorlesungsstart ist am 07.10.2013 um 11:30 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

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

[2013/12/19] Die Ergebnisse der Evaluierung sind jetzt online. Danke fürs Mitmachen!
[2013/10/29] Die Ersatztermine für den 21.10. stehen jetzt fest, wir haben auch schon Räume dafür (siehe Tabelle).
[2013/10/21] Wichtig: Heute fallen beide Termine wg. Erkrankung aus!
[2013/10/10] Raumänderung: Ab dem nächsten Termin findet die Veranstaltung in Raum HQ 211 statt.
[2013/10/05] Bitte denken Sie daran, am ersten Tag (zum Nachmittagstermin) Ihr eigenes Notebook mitzubringen, da Sie dann darauf die Entwicklungs-VM installieren werden.

Material

Termine:

  • Mo. 11:30-13:00, HQ 211: Vorlesung
  • Mo. 14:00-15:30, HQ 211: Übung

Parallel zur Vorlesung entsteht ein Lehrbuch zu Ulix; einzelne Kapitel tauchen unregelmäßig hier auf.
NEU: Beim Klick auf die Buchkapitel-Links müssen Sie sich anmelden. Die Zugangsdaten erhalten Sie in der Vorlesung.

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)
107.10.2013 Einführung, Vorher-Test *)
Installation Entwicklungs-VM,
Unix- und ULIX-Features
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 (85 MB), #2 (59 MB)
214.10.2013 LaTeX und Literate Programming Foliensatz 4: 1-up, 4-up; Übung 2: ue02.pdf;
Musterlösung: PDF-Datei, Quellcode (zip)
#1 (88 MB)
--21.10.2013 Termin entfällt; verschoben auf 07.01./08.01.
328.10.2013 Booten, Protected Mode, Speicher Foliensatz 5: 1-up, 4-up; Übung 3: ue03.pdf;
#1 (91 MB), #2 (7 MB),
#3 (20 MB)
404.11.2013 Speicher, ... (Foliensatz 5, Rest)
Foliensatz 6: HTML, html.zip, Druck-PDF
#1 (79 MB), #2 (49 MB)
511.11.2013 Speicher: Paging- und
Frame-Verwaltung
(Foliensatz 6, Rest)
Übung 4: ue04.pdf
#1 (83 MB)
618.11.2013 Interrupts und Faults Foliensatz 7: HTML, html.zip, Druck-PDF
Übung 5: ue05.pdf
#1 (87 MB)
725.11.2013 Musterlösung Aufgabe 10 b),
System Calls
Foliensatz 8: HTML, html.zip, Druck-PDF
Übung 6: ue06.pdf
#1 (89 MB)
802.12.2013 Prozesse (Teil 1), Zwischeneval. Foliensatz 9: HTML, html.zip, Druck-PDF #1 (67 MB), #2 (93 MB)
909.12.2013 Prozesse (Teil 2) (Foliensatz 9, Rest), Übung 7: ue07.pdf #1 (60 MB)
1016.12.2013 Prozesse (Teil 3: fork, Scheduler) Foliensatz 10: HTML, html.zip, Druck-PDF
(heute keine neue Übung; Rest von Übung 7)
#1 (105 MB), #2 (31 MB)
11Dienstag,
07.01.2014
Dateisysteme (Ersatztermin;
11:30-13:00 Uhr, HQ.412
)
Foliensatz 11: 1-up, 4-up;
Übung 8: ue08.pdf
#1 (62 MB)
12Mittwoch,
08.01.2014
nur Praktikum (Ersatztermin;
09:45-11:15 Uhr, HQ.211
)
Übung 9: ue09.pdf --
1313.01.2014 Einführung Projekt, Nachher-Test *) Projekt: projekt.pdf #1 (39 MB)
1420.01.2014 Projekt, Nachher-Test **) -- --

Vorher- und Nachher-Tests

*) Um den Erfolg der Veranstaltung zu evaluieren, werde ich am ersten Tag einen "Vorher-Test" und am letzten Vorlesungstag einen "Nachher-Test" durchführen. Dazu ein paar detailliertere Informationen:

  • Diese Tests sind nicht relevant für die Benotung -- sie haben andere Funktionen:
  • Der Vorher-Test hilft mir festzustellen, wie gut Ihre BS-Theorie-Kenntnisse sind (wie sie in der Vorlesung "Betriebssysteme" vermittelt wurden). Die Ergebnisse aus diesem Test werde ich u.a. verwenden, um die genauen Inhalte der Veranstaltung festzulegen.
  • Der Nachher-Test enthält i.W. dieselben Fragen wie der Vorher-Test. Durch direkten Vergleich kann ich dann feststellen, wie sich im Laufe des Kurs das Verständnis von BS-Theorie-Konzepten verändert hat.
  • Die Tests sind anonym, aber so gestaltet, dass ich einzelne Vorher- und Nachher-Testbögen einander zuordnen kann.
  • Sie brauchen (und sollen) sich auf diese Tests nicht in irgendeiner Weise vorbereiten, damit ich den Erfolg der Veranstaltung unverfälscht testen kann.
Bitte helfen Sie mit, dass diese besondere Form der Evaluierung gelingt -- im Wesentlichen, indem Sie bei den Test-Terminen vor Ort sind und mitmachen (oder bei Verhinderung den Test alleine durchführen und den Bogen später abgeben). Im Gegenzug biete ich eine sehr intensive Betreuung während des Semesters.

**) zweiter Nachtest: Nur für die, die am 13.01. nicht in der Veranstaltung waren

Literatur

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