|
|
Systemprogrammierung (SS 2015)
Hier finden Sie Informationen und Material zu meiner Vorlesung
"Systemprogrammierung Unix/Linux"
an der TH Nürnberg.
Systemprogrammierung Unix/Linux (SS 2015)
Im Sommersemester 2015 halte ich Vorlesungen im Fach Systemprogrammierung Unix/Linux.
Die Veranstaltung wird als Block an folgenden Terminen im August 2015 angeboten:
- 1. Block: 17.-21.08.2015, 08:30-13:30, Raum HQ 007
- 2. Block: 24.-27.08.2015, 08:30-13:30, Raum HQ 007
- Vorträge: 11.09., 15.09., 22.09. (Uhrzeiten s. u.), Raum HQ 013
(jeweils 6 Vorlesungsstunden pro Tag).
Stundenplanung:
|
08:30-10:00 1. Block (90 Min.)
10:15-11:45 2. Block (90 Min.)
12:00-13:30 3. Block (90 Min.)
|
Unterlagen benötigen Sie zunächst keine; ich stelle im Laufe des
Semesters die verwendeten Vorlesungsfolien und die
Übungsblätter im PDF-Format zum Download
zur Verfügung. Da wir wegen der hohen Teilnehmerzahl nicht
den Linux-Praktikumsraum nutzen können, bringen Sie
bitte ein eigenes Notebook mit. Ich stelle eine
Entwicklungsumgebung (Linux) als virtuelle Maschine für
VirtualBox zur Verfügung.
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 nach dem zweiten
Block fertigstellen sowie 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, 2013 oder 2014.)
- Einleitung
- Einführung in C und die Linux-Shell Bash
- Software und Betriebssystem; System Calls
- Prozesse: fork, exec, wait
- Dateien: open, read, write, close
|
- Fortgeschrittene I/O (dup, pipe, mmap)
- Speicherverwaltung: malloc, free
- Nebenläufigkeit mit POSIX-Threads
- Projekt: HTTP-Proxy-Server
|
Aktuelles
[2015/09/07] Die Kurzvorträge finden in Raum HQ 013 statt (Termine siehe unten).
[2015/08/25] Der letzte reguläre Termin (Freitag, 28.08.) entfällt als Ausgleich
für die zusätzlichen Vortragstermine im September. Bitte tragen
Sie im Doodle (siehe E-Mail) die für Sie passenden Slots ein. Der Abgabetermin
für die Projektarbeiten ist Sonntag, 06.09. (Mitternacht).
[2015/08/24] Die Ergebnisse der Evaluation sind online.
[2015/08/17] Auf Wunsch der Teilnehmer/innen haben wir Raum und Uhrzeit
geändert: jeweils 08:30-13:30 Uhr im Raum HQ 007.
[2015/08/14] Die ersten Folien und Übungsblätter sind online.
[2015/01/21] Die Termine für das Semester stehen fest.
Material
Die Folien können Sie in zwei Varianten herunterladen: 1-up
(eine Folie pro A4-Seite) und 4-up (vier Folien pro A4-Seite).
(Archive vom Typ .tgz entpacken Sie mit tar xzf archiv.tgz.
Es gibt keine Übung 9, in ue09.tgz steckt Beispielcode zu Foliensatz 10
über Makefiles.)
Hier finden Sie die Tafelbilder (Fotos).
Tag |
Inhalte |
Audio |
17.08.2015 |
Foliensatz 1 (1-22), Foliensatz 2 (1-59), Übung 1 |
a.wma,
b.wma,
c.wma,
d.wma
|
18.08.2015 |
Übung 1 (Forts., mit Besprechung), Übung 2 (mit Besprechung),
Foliensatz 3 (1-38)
|
a.wma,
b.wma,
c.wma
|
19.08.2015 |
Übung 3 (mit Besprechung), Foliensatz 4 (1-26), Übung 4
|
a.wma,
b.wma
|
20.08.2015 |
Übung 4 (Forts.; mit Besprechung), Foliensatz 5 (1-26),
Übung 5
|
a.wma
|
21.08.2015 |
Übung 5 (Forts.; mit Besprechung), Foliensatz 6,
Übung 6
|
a.wma
|
24.08.2015 |
Bespr. Übung 6,
Foliensatz 7, Übung 7
|
a.wma,
b.wma
|
25.08.2015 |
Bespr. Übung 7,
Foliensatz 8, Übung 8 mit Bespr.
|
a.wma,
b.wma,
c.wma,
d.wma
|
26.08.2015 |
Foliensätze 9 und 10, Auftakt Projekt
|
a.wma
|
27.08.2015 | Projekt |
28.08.2015 | (findet nicht statt) |
11.09.2015 | Vorträge (14:00-16:00; Raum HQ 013) |
15.09.2015 | Vorträge (10:00-14:45; Raum HQ 013) |
22.09.2015 | Vorträge (14:00-16:00; Raum HQ 013) |
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
- Link zu Übung 8: Linux Programming Blog: "Threads and fork(): think twice before mixing them", online
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.
|