Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

SPiC - Übungen im WS 2017/18

Allgemeines

Der Übungsbetrieb umfasst Tafel- und Rechnerübungen. Die Tafelübungen dienen der Vermittlung und Vertiefung des zur Bearbeitung der Übungsaufgaben notwendigen Wissens. In den Rechnerübungen sind die Arbeitsplätze des Rechnerraums für SPiC 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.

In den Aufgaben wird die Systemprogrammierung auf zwei verschiedenen Ebenen geübt: Zum Einen in Form eines Steuerprogrammes direkt auf Hardware eines AVR Mikrokontrollers, zum Anderen im (stark vereinfachten) Nachbau einiger gängiger Systemwerkzeuge auf einer Linux Systemschnittstelle.

Dokumentationsbereich

Hier finden Sie Verweise auf Datenblätter und andere für die Übungen interessante Dokumentation, sowie die Schnittstellen (API) -Dokumentation für die SPiCboard-Bibliothek.

Folien der Übungen

Kurzbeschreibung Übungswoche A4 (1x1) A5 (1x2) A6 (2x2)
1 Benutzerumgebung, Aufgabe 0, 1 26.10.2017 PDF PDF PDF
2 Interrupts, IO, Aufgabe 2 02.11.2017 PDF PDF PDF
3 IO, Module, Aufgabe 3 09.11.2017 PDF PDF PDF
4 Zustandsmaschinen, Timer, Aufgabe 4 23.11.2017 PDF PDF PDF
5 Linux-Umgebung, Fehlerbehandlung, Strings, Aufgabe 5 07.12.2017 PDF PDF PDF
6 Dateizugriff, Ein-/Ausgabe, Aufgabe 6 14.12.2017 PDF PDF PDF
7 Dateisystem, Aufgabe 7 11.01.2018 PDF PDF PDF
8 Prozesse, Signale, Aufgabe 8 18.01.2018 PDF PDF PDF
9 Threads, Hands-on Aufgaben (Linux) 25.01.2018 PDF PDF PDF

Übungsaufgaben

Nr. Titel Kurzbeschreibung Ausgabe Bearbeitungszeit
(in Tagen)
2er-Gruppen Abzugebende
Dateien
Punkte
1 Zaehler Kennenlernen der Umgebung,
Implementierung eines Zähler-Programms
26.10.2017 7 Nein zaehler.c 6
2 Interrupt Zaehler Interrupts, Nebenläufigkeit, IO 02.11.2017 7 Nein izaehler.c 12
3 Kommunikation IO, Module, Tests 09.11.2017 14 Ja com.c 20
4 Ampel Zustandsmaschinen, Interrupts, Synchronisation 23.11.2017 14 Ja ampel.c 15
5 concat C unter Linux, Speicherallokation, Strings 07.12.2017 7 Nein concat.c 10
6 trac Ein-/Ausgabe 14.12.2017 7 Nein trac.c 9
7 Printdir POSIX, Strukturen 11.01.2018 7 Nein printdir.c 12
8 Mish POSIX-Prozesse 18.01.2018 14 Ja mish.c 22

Abgabe und Bewertung der Übungsaufgaben

Die Abgabe erfolgt an den Rechnern im CIP-Pool, mit dem Skript /proj/i4spic/pub/abgabe und muss vor dem Abgabetermin erfolgen. Eine Abgabe nach dem Abgabetermin per eMail 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/i4spic/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:

  • C-Einführungsbuch "C als erste Programmiersprache": verfügbar bei Springerlink online und in /proj/i4gspic/pub/ (beides nur aus dem Uni-Netz)
  • 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:

  • Helmut Herold: Linux/Unix Systemprogrammierung, Addison-Wesley, München, September 2004.
  • 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.

UnivIS Informationen

Nachstehende Übungstermine sind vorläufig und werden sich vermutlich noch ändern bzw. erweitert werden.

Rechnerübungen zu Systemnahe Programmierung in C (RÜ SPiC)

Verantwortliche
Bernhard Heinloth, M. Sc., Benedict Herzog, M. Sc., Sebastian Maier, M. Sc.

Angaben
Übung
2 SWS, Sprache Deutsch

Studienfächer / Studienrichtungen
WF ME-BA 3

Kurse
      
Fr  14:00 - 16:00  01.153-113
Kurs R01
Bernhard Heinloth
Benedict Herzog
Sebastian Maier


Übungen zu Systemnahe Programmierung in C (für Wiederholer) (Ü SPiC)

Verantwortliche
Benedict Herzog, M. Sc., Sebastian Maier, M. Sc.

Angaben
Übung
2 SWS, Sprache Deutsch

Studienfächer / Studienrichtungen
WF ME-BA 3

Kurse
      
Do  10:00 - 12:00  01.153-113
Benedict Herzog
Sebastian Maier