Allgemeines
Der Übungsbetrieb umfasst Tafel- und Rechnerübungen.
Jeder Student sollte eine Tafelübung besuchen, zu der eine Anmeldung erforderlich ist.
Die Rechnerübungstermine können ohne vorherige Anmeldung je nach Bedarf besucht werden.
Die Tafelübungen dienen der Vermittlung von Theoriewissen, welches zur Lösung der Übungsaufgaben erforderlich ist.
Hinweis:
Zu Beginn der Tafelübungen können ein oder auch mehrere Teilnehmer zur Vorstellung ihrer gelösten Übungsaufgabe aufgefordert werden.
Nichtanwesenheit oder nicht hinreichende Erklärung der Aufgabe führt hierbei zur Bewertung der Aufgabe mit 0 Punkten.
In den Rechnerübungen sind die Arbeitsplätze des Rechnerraums
für SP-Studenten reserviert. In diesen Übungen sollen die Aufgaben
bearbeitet werden, wobei in der Regel ein Betreuer zur Verfügung stehen
wird um bei Bedarf Hilfestellung zu geben.
Zur Information
Folien der Tafelübungennach oben ▲
All slides are copyrighted (C) 2011-2017 by Jürgen Kleinöder, University of Erlangen-Nürnberg, Germany. Use without prior written permission of the authors is not permitted!
Kurzbeschreibung | Übungswoche | PDF |
U1 |
Netzwerkkommunikation, Sockets, POSIX-I/O vs. C-I/O, Aufgabe 1 |
23.10.–27.10.2017 |
A4
A5
A6
animiert
|
UH |
Hacking |
02.11.–08.11.2017 |
A4
A5
A6
animiert
|
U2 |
Netzwerkkommunikation, UNIX-Signale, Aufgabe 2 |
13.11.–17.11.2017 |
A4
A5
A6
animiert
|
B1 |
Besprechung Aufgabe 1 |
20.11.–24.11.2017 |
|
U3 |
UNIX-Signale, Nebenläufigkeit, Duplizieren von Dateideskriptoren, Aufgabe 3 |
27.11.–01.12.2017 |
A4
A5
A6
animiert
|
B2 |
Besprechung von Aufgabe 2 |
04.12.–08.12.2017 |
|
U4 |
Thread-Synchronisation, Bibliotheken, Aufgabe 4 |
11.12.–15.12.2017 |
A4
A5
A6
animiert
|
B3 |
Besprechung von Aufgabe 3 |
18.12.–22.12.2017 |
|
U5 |
Ringpuffer, Semaphore, Zusammenfassung, Aufgabe 5 |
08.01.–12.01.2018 |
A4
A5
A6
animiert
|
B4 |
Besprechung von Aufgabe 4 |
15.01.–19.01.2018 |
A4
A5
A6
animiert
|
UK1 |
Klausurvorbereitung, Teil 1 |
22.01.–26.01.2018 |
Klausur,
Man-Pages
|
B5 |
Besprechung von Aufgabe 5, Evaluierung, Klausurvorbereitung |
29.01.–02.02.2018 |
|
UK2 |
Klausurvorbereitung, Teil 2 |
05.02.–09.02.2018 |
|
Anfertigung, Abgabe und Bewertung der Übungsaufgabennach oben ▲
Soweit in der Aufgabenstellung nicht abweichend beschrieben, sollen alle
abgegebenen Programme portabel zur
SUSv4/POSIX.1-2008-Systemschnittstelle
sein und im Sprachumfang dem C-Standard
ISO C99
entsprechen. Alle Programme müssen mit folgenden Compileroptionen
übersetzen:
-std=c99
-Wpedantic
-Wall
-Werror
-D_XOPEN_SOURCE=700
Die Abgabe erfolgt an den Rechnern im CIP-Pool mit dem Skript
/proj/i4sp2/bin/submit und muss vor dem Abgabetermin erfolgen. Eine
Abgabe per E-Mail oder USB-Stick ist grundsätzlich nicht
möglich.
Zur Bearbeitung der Aufgaben wird Ihnen automatisch ein Projektverzeichnis
angelegt, nachdem Sie sich zu einer Übung angemeldet haben. Der Pfad
zu diesem Verzeichnis lautet /proj/i4sp2/LOGIN, wobei LOGIN
für Ihren Benutzernamen im CIP-Pool steht. Bitte bearbeiten Sie Ihre
Aufgaben in diesem Verzeichnis und verwalten Sie das Verzeichnis wie in
der ersten Aufgabenstellung beschrieben, da ansonsten das Abgabesystem
Ihre Lösung nicht finden kann.
Die abgegebenen Aufgaben werden von uns ausgedruckt und korrigiert. Die
korrigierten Ausdrucke werden in den Tafelübungen ausgehändigt. Die
Ergebnisse der Korrektur sind außerdem nach Login im
Waffel einsehbar.
Die Übungsaufgaben für das komplette Semester stehen grob fest. Allerdings
können sich bis zum Ausgabezeitpunkt noch Details an den Aufgaben
ändern.
Die verlinkten Aufgabenstellungen mit einem "Entwurf"-Wasserzeichen im
Hintergrund stellen lediglich eine Orientierungshilfe dar. Die endgültigen
Aufgabenstellungen werden spätestens am Ausgabetag verlinkt.
Auch die Hinweise zur Aufgabe auf dem Aufgabenblatt können Teile
der einzuhaltenden Spezifikation enthalten und sind somit explizit als Teil der
Aufgabenstellung zu verstehen.
Nr. |
Titel |
Kurzbeschreibung |
Ausgabe |
Bearbeitungszeit (Werktage) |
2er-Gruppen |
Abzugebende Dateien |
Zusatzinfos |
1 |
snail
|
Socket-Kommunikation (Client) |
Montag, 23.10.2017 |
11 |
Nein |
snail.c, Makefile
|
|
2 |
sister
|
Socket-Kommunikation (Server), Signale, Makefile |
Montag, 13.11.2017 |
11 |
Ja |
sister.c, connection-fork.c, request-http.c, Makefile
|
API-Dokumentation
|
3 |
rush
|
POSIX-Signale, Filedeskriptoren, Nebenläufigkeit |
Montag, 27.11.2017 |
11 |
Ja |
Makefile, rush.c
|
API-Dokumentation
|
4 |
jbuffer
|
Semaphore, nicht-blockierende Synchronisation, Bibliotheken |
Montag, 11.12.2017 |
11 |
Nein |
jbuffer.c, sem.c, Makefile
|
API-Dokumentation
|
5 |
mother
|
Socket-Kommunikation (Server), POSIX-Threads, Verzeichnisse, Prozesse, Signale |
Montag, 08.01.2018 |
11 |
Ja |
connection-mt.c, request-httpx.c
|
API-Dokumentation
|
Hinweis zur Aufgabe 5:
Entgegen der initialien Version der Aufgabenstellung dürfen Sie die Funktion readdir() auch in Arbeiterthreads nutzen.
Einführung in die Programmiersprache C
- Stephen Kochan: Programming in C. Sams Publishing, 3rd Edition, 2005.
- Karlheinz Zeiner: Programmieren lernen mit C. Carl Hanser, 4. Auflage, 2000.
- Steve Oualline: Practical C Programming. O'Reilly, 1991.
- Peter Darnell, Philip Margolis: C: A Software Engineering Approach. Springer, 1991.
- Brian Kernighan, Dennis Ritchie: The C Programming Language. Prentice Hall, 1988 (in der deutschen Übersetzung 1990 bei Hanser erschienen)
UNIX-Systemprogrammierung
- A. S. Tanenbaum, A. S. Woodhull: Operating Systems: Design And Implementation, Prentice Hall, 1997.
- R. W. Stevens: Advanced Programming in the UNIX Environment. Addison-Wesley, 1992.
Übersicht aller angebotenen Tafelübungen
| Mo | Di | Mi | Do | Fr |
08:00 | | | | | | |
| | | | |
|
|
09:00 | | |
|
|
| | | | |
10:00 | | | | | | |
| | | | |
|
|
11:00 | | |
|
|
| | | | |
12:00 | | | | | | |
| | |
|
|
13:00 | | | | |
|
|
| | |
14:00 | | | | | | |
| | | |
|
|
15:00 | | | |
|
|
| | | |
16:00 | | | | | | |
| | | |
|
|
17:00 | | | |
|
|
| | | |
Übungen zu Systemprogrammierung 2 (Ü SP2)
- Verantwortliche
- Christian Eichler, M. Sc., Dr.-Ing. Jürgen Kleinöder
- Angaben
- Übung
2 SWS, Sprache Deutsch, Achtung: Es werden voraussichtlich nicht alle hier angezeigten Termine angeboten werden können - die tatsächlich angebotenen Tafelübungen sind zum Semesterbeginn im Waffel eingetragen!
- Studienfächer / Studienrichtungen
- PF CE-BA-G 3
PF INF-BA 3
PF IuK-BA 3
PF WINF-BA 3
WPF MT-BA ab 5
Kurse
Übersicht aller angebotenen Rechnerübungen
| Mo | Di | Mi | Do | Fr |
08:00 | | | | | | |
|
|
|
09:00 | | | | | | |
|
|
|
10:00 | | | | | | |
|
|
|
11:00 | | | |
|
|
|
12:00 | | | | | | |
|
|
|
13:00 | | |
|
|
|
14:00 | | | | | | |
|
|
|
15:00 | | |
|
|
|
16:00 | | | | | | |
|
|
|
17:00 | | |
|
|
|
Rechnerübungen zu Systemprogrammierung 1 und 2 (RÜ SP)
- Verantwortliche
- Christian Eichler, M. Sc., Dr.-Ing. Jürgen Kleinöder
- Angaben
- Übung
2 SWS
Frühstudium, Sprache Deutsch
- Studienfächer / Studienrichtungen
- PF CE-BA-G 3
PF INF-BA 3
PF IuK-BA 3
PF WINF-BA 3
Kurse