Friedrich-Alexander-Universität UnivisSuche FAU-Logo
Techn. Fakultät Willkommen am Department Informatik FAU-Logo
Logo I4
Lehrstuhl für Informatik 4
SP
 
  SP1
  SP2
Übungen
  Anmeldung
  Folien
  Aufgaben
Department Informatik  >  Informatik 4  >  Lehre  >  SS 2011  >  SP  >  Übung

Übungen zu Systemprogrammierung 1&2 für WINF im SS 2011

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. In den Tafelübungen besteht Anwesenheitspflicht. 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 Übungen

All slides are copyrighted (C) 2010 by Jürgen Kleinöder, University of Erlangen-Nürnberg, Germany. Use without prior written permission of the authors is not permitted!

Die Termine für die Tafelübungen sind vorläufig.
Kurzbeschreibung Übungstermin A4 (1x1) A5 (1x2) A6 (2x2)
1 Organisatorisches, Aufgabe 1 09.05.2011 PDF PDF PDF
2 qsort(3), Debugging 16.05.2011 PDF PDF PDF
3 Zeigerarithmetik, Untypisierter und typisierter Speicher 23.05.2011 PDF PDF PDF
4 make(1), Speicherlayout, UNIX Prozesse 30.05.2011 PDF PDF PDF
5 Dateisystem, Dateiattribute, Dateisystem-API 06.06.2011 PDF PDF PDF
6 POSIX-Threads 20.06.2011 PDF PDF PDF
7 Netzwerkkommunikation, Sockets 27.06.2011 PDF PDF PDF
8 Server, Synchronisation 04.07.2011 PDF PDF PDF
9 UNIX-Signale, Nebenläufigkeit, Duplizieren von Dateideskriptoren, Pipes 11.07.2011 PDF PDF PDF
10 Ringpuffer, Klausurvorbereitung 18.07.2011 PDF PDF PDF
11 Klausurvorbereitung 25.07.2011

Übungsaufgaben

Nr. Titel Kurzbeschreibung Ausgabe Abgabe 2er-Gruppen Abzugebende Dateien Zusatzinfos
1 lilo Einfach verkettete Liste Montag, 09.05.2011 Donnerstag, 12.05.2011 18:00 Uhr Nein lilo.c
2 wsort Sortierprogramm ähnlich sort(1) Montag, 16.05.2011 Montag, 23.05.2011 18:00 Uhr Nein wsort.c
3 halde Einfache dynamische Freispeicherverwaltung Montag, 23.05.2011 Montag, 30.05.2011 18:00 Uhr Ja halde.c, halde.txt
4 clash Kleine Shell mit Vorder- und Hintergrundprozessen Montag, 30.05.2011 Montag, 06.06.2011 18:00 Uhr Ja clash.c, plist.c, Makefile plist API
5 crawl Verzeichnisse, Rekursion Montag, 06.06.2011 Donnerstag, 16.06.2011 18:00 Uhr Ja crawl.c
6 palim Threads, Semaphore Montag, 20.06.2011 Montag, 27.06.2011 18:00 Uhr Ja palim.c
7 simail Socket-Kommunikation (Client) Montag, 27.06.2011 Montag, 04.07.2011 18:00 Uhr Nein simail.c
8 mt-httpd Socket-Kommunikation (Server), POSIX-Threads, Semaphore, nicht-blockierende Synchronisation Montag, 04.07.2011 Montag, 11.07.2011 18:00 Uhr Ja mt-httpd.c, sem.c, bbuffer.c Modul-API
9 josh POSIX-Signale, Filedeskriptoren, Nebenläufigkeit Montag, 11.07.2011 Montag, 18.07.2011 18:00 Uhr Ja josh.c, josh.txt extended plist API

Anfertigung, Abgabe und Bewertung der Übungsaufgaben

Soweit in der Aufgabenstellung nicht abweichend beschrieben sollen alle abgegebenen Programme portabel auf zur SUSv3/UNIX 03 Systemschnittstelle konforme Betriebssysteme sein und im Sprachumfang dem C-Standard ISO C99 entsprechen. Alle Programme müssen mit folgenden Compileroptionen übersetzen:

gcc -std=c99 -pedantic -Wall -Werror -D_XOPEN_SOURCE=600

Die Abgabe erfolgt an den Rechnern im CIP-Pool, mit dem Skript /proj/i4sp/bin/submit und muss vor dem Abgabetermin erfolgen. Eine Abgabe nach dem Abgabetermin per eMail oder Diskette ist 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/i4sp/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 Abgabeprogramm 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 ausserdem nach Login im Waffel einsehbar.

Literaturempfehlungen

Zur Einführung in die Programmiersprache C haben wir in der Vorlesung die folgenden Bücher kurz vorgestellt:

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

Zum Thema UNIX-Systemprogrammierung sind die folgenden Bücher empfehlenswert:

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

Alle entwickelten Programme sollen zur in der Single UNIX Specification Version 3 (SUSv3) beschriebenen Systemschnittstelle kompatibel sein. Die SUSv3 ist nach Registrierung frei abrufbar.

Alle Übungsaufgaben sind in der Programmiersprache C mit dem im ISO C99 beschrieben Sprachumfang zu implementieren.

  Impressum Stand: 2011-05-12 08:34   JS