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
 

Systemprogrammierung (SS 2014)

Hier finden Sie Informationen und Material zu meiner Vorlesung "Systemprogrammierung Unix/Linux" an der TH Nürnberg.

Systemprogrammierung Unix/Linux (SS 2014)

Im Sommersemester 2014 halte ich Vorlesungen im Fach Systemprogrammierung Unix/Linux.

Vorlesungsstart ist am 18. März um 15:45 Uhr.

Am ersten Termin an jedem Dienstag (15:45 Uhr) gibt es immer eine Vorlesung in Raum HQ104, und beim zweiten Termin (17:30) findet in Raum HQ204 eine Übung statt. Gegen Ende des Semesters gibt es dann nur noch Übungen.

Unterlagen benötigen Sie zunächst keine; ich stelle im Laufe des Semesters die verwendeten Vorlesungsfolien im PDF-Format zum Download zur Verfügung. Übungsblätter bringe ich als Ausdrucke mit. Wenn Sie im Praktikum ein eigenes Notebook verwenden möchten, ist das möglich. Darauf sollten dann ein 64-Bit-Linux und die Entwicklungsumgebung (C-Compiler & Co.) installiert sein. Sie können aber auch die Linux-PCs im Praktikumsraum nutzen.

Als Prüfungsform finden Sie im Vorlesungsverzeichnis den Eintrag "Studienarbeit (semesterbegleitende Entwicklung eines Programms mit abschließendem Kurzvortrag)". Sie werden im Rahmen des Praktikums eine kleine systemnahe Anwendung unter Linux entwickeln und zum Semesterende kurz (nach inhaltlicher Absprache) über einen Aspekt Ihrer Lösung vortragen und Fragen dazu beantworten.

Inhalte

Die folgende Themenplanung ist provisorisch; die exakten Themen (die nicht genau deckungsgleich mit denen vom letzten Sommersemester sein werden) hängen von den Projektaufgaben ab. (Es wird neue Projektaufgaben geben, nicht die alten vom SS 2012 oder 2013.)

  1. Einleitung
  2. Einführung in C und die Linux-Shell Bash
  3. Software und Betriebssystem; System Calls
  4. Prozesse: fork, exec, wait
  5. Dateien: open, read, write, close
  1. Fortgeschrittene I/O (dup, pipe, mmap)
  2. Speicherverwaltung: malloc, free
  3. Nebenläufigkeit mit POSIX-Threads
  4. Projekt: Webserver-Implementation

Aktuelles

[2014/05/06] Die Ergebnisse der Zwischenevaluation sind jetzt online. Danke fürs Mitmachen!
[2014/03/04] Die Termine für das Semester stehen fest.

Material

Termine:

  • Dienstags, 15:45-17:15: Vorlesung
  • Dienstags, 17:30-19:00: Übung

Die Folien können Sie in zwei Varianten herunterladen: 1-up (eine Folie pro A4-Seite) und 4-up (vier Folien pro A4-Seite).

#Tag ThemaFolien (pdf), Übungen, LösungenVideo (mov)
118.03.2014 Einführung, Organisatorisches (1.*),
Crashkurs C / Bash (2.1-2.9)
Foliensatz 1: 1-up, 4-up
Foliensatz 2: 1-up, 4-up
Übung 1: ue01.pdf, Code: ue01.tgz
#1 (106 MB)
225.03.2014 Crashkurs C / Bash (2.9-2.53) Übung 2: ue02.pdf #1 (74 MB)
301.04.2014 System Calls (3.1-3.31) Foliensatz 3: 1-up, 4-up
Übung 3: ue03.pdf, Code: ue03.tgz
#1 (111 MB)
408.04.2014 Lösung zu Ü3; System Calls (3.32-3.36),
Prozesse (4.1-4.12, 4.14-4.16)
Foliensatz 4: 1-up, 4-up
Übung 4: ue04.pdf, Code: myps.c
Lösung: myps1.c, myps2.c
#1 (112 MB)
515.04.2014 Prozesse (4.17-4.26), Dateien (5.1-5.18) Foliensatz 5: 1-up, 4-up
Übung 5: ue05.pdf, Code: ue05.tgz
Lösung: ue05-loesung.tgz
#1 (111 MB)
629.04.2014 Dateien (5.19-5.28),
Fortgeschrittene I/O (6.1-6.12, 6.21-6.23)
Foliensatz 6: 1-up, 4-up
Übung 6: ue06.pdf, Code: ue06.tgz,
Lösung: ue06-loesung.tgz, Doku: PDF
#1 (100 MB)
706.05.2014 Fortgeschrittene I/O (Rest: 6.13-6.20),
Speicher (7.1-7.15, 7.16, 7.17-7.21)
Foliensatz 7: 1-up, 4-up
Übung 7: ue07.pdf, Lösung: spsh-ramdisk.c
#1 (29 MB),
#2 (70 MB)
813.05.2014 Speicher (Rest: 7.22-7.30),
Threads (8.1-8.16)
Foliensatz 8: 1-up, 4-up, Übung 8:
ue08.pdf; Link zu Thread/Fork-Artikel
Lösung: ue08-loesung.tgz
#1 (106 MB),
#2 (31 MB)
920.05.2014 Threads (8.17-8.24),
Einführung Projekt (9.*)
Foliensatz 9: 1-up, 4-up
Projekt (1): projekt1.pdf, projekt1.tgz
#1 (93 MB)
1027.05.2014 Projekt (keine Vorlesung) Projekt (2): projekt2.pdf --
1103.06.2014 Projekt (keine Vorlesung) Projekt (3): projekt3.pdf --
1217.06.2014 Projekt (keine Vorlesung) Projekt (4): projekt4.pdf --
1324.06.2014 Projekt (keine Vorlesung) -- --
1401.07.2014 Präsentationen    
1503.07.2014 (Donnerstag; 15:45-19:00; Raum HQ 104)
Präsentationen
   

Literatur

  • Helmut Herold: Linux/Unix Systemprogrammierung, 2004, ISBN: 3827321603
  • Richard Stevens und Stephen A. Rago: Advanced Programming in the Unix Environment, ISBN: 0321525949 (2005), 0321637739 (neue Auflage 2013)
  • 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.

Hier ist der direkte Link zur Kursseite bei meinprof.de.


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