• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Eingebettete Systemsoftware
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2024/25
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Systemprogrammierung 2
      • Verlässliche Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Lehre
  3. Wintersemester 2022/23
  4. Systemnahe Programmierung in C (für Wiederholer)
  5. Übung

Übung

Bereichsnavigation: Lehre
  • Systemnahe Programmierung in C (für Wiederholer)
    • Vorlesung
      • Übung
        • Folien
        • Aufgaben
        • SPiCboard
          • Linux libc-Doku
          • Prüfung
            • Evaluation
              • Intern

              Übung

              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 Studierende 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 Mikrocontrollers, zum anderen im (stark vereinfachten) Nachbau einiger gängiger Systemwerkzeuge auf einer Linux Systemschnittstelle.

              Dokumentationsbereich

              Die Datenblätter für den Mikrocontroller finden Sie auf der SPiCboard Webseite, die Dokumentation für die libspicboard und die avrlibc auf der libspicboard-Doku Seite. Eine Übersicht über gängige libc Funktionen und Systemaufrufe sind in der Linux libc-Doku hinterlegt, vollständige Informationen finden Sie in den jeweiligen Manpages.

              Folien der Übungen

              Studierende, die die Veranstaltung GSPiC hören, müssen nur die mit blauer Farbe hinterlegten Übungen besuchen.
              Nr. Thema Übungswoche Folien Material
              1 Orga, Benutzerumgebung, Optimierungen, Aufgabe 1 24.10.2022 1x1, 1x2, 2x2
              2 Bitoperationen, I/O Ports, Interrupts, Synchronisation, Stromsparmodi, Aufgabe 2 31.10.2022 1x1, 1x2, 2x2
              3 Module, IO, Aufgabe 3 07.11.2022 1x1, 1x2, 2x2
              4 Vertiefung (Zeiger), Hands-On (Zeiger) 14.11.2022 1x1, 1x2, 2x2 pointer.c
              5 Zustandsmaschinen, Timer, Aufgabe 4 21.11.2022 1x1, 1x2, 2x2
              6 Linux-Umgebung, Strings, Pufferüberläufe 28.11.2022 1x1, 1x2, 2x2
              7 Fehlerbehandlung, Debugging, Kommandozeilenparameter, Aufgabe 5 05.12.2022 1x1, 1x2, 2x2
              8 Dateisystem, Aufgabe 6 12.12.2022 1x1, 1x2, 2x2
              9 Wiederholung, Aufgabe 7 19.12.2022 1x1, 1x2, 2x2
              10 Prozesse, Aufgabe 8 (Teil a)) 09.01.2023 1x1, 1x2, 2x2 mish_vorlage.c
              11 Signale, Aufgabe 8 (Teil b) und c)) 16.01.2023 1x1, 1x2, 2x2
              12 Zusätzliche Rechnerübung 23.01.2023 1x1, 1x2, 2x2
              13 Klausurvorbereitung 30.01.2023 1x1, 1x2, 2x2
              14 Vorstellung Aufgabe 8, Klausurvorbereitung (forts.) 06.02.2023 1x1, 1x2, 2x2

              Rechnerübung

              Die Rechnerübungen starten in der zweiten Vorlesungswoche (ab 24.10.2022) und enden mit den Übungsaufgaben (bis 27.01.2023). Es dürfen auch mehrere Rechnerübungen besucht werden. Die Rechnerübungen finden im genannten CIP Pool (Rechnerarbeitsraum) statt, wo Studierende ein SPiCboard zur Verfügung gestellt bekommen. Als Entwicklungsplattform dient die SPiC-IDE.

              Übungsaufgaben

              Nr. Titel Kurzbeschreibung Ausgabe Bearbeitungszeit (in Tagen) 2er-Gruppen Abzugebende Dateien Punkte
              1 zaehler Kennenlernen der Umgebung, Implementierung eines Zähler-Programms 24.10.2022 7 Nein zaehler.c 6
              2 izaehler Interrupts, Nebenläufigkeit, IO 31.10.2022 7 Nein izaehler.c 12
              3 button IO, Module, Tests 07.11.2022 14 Ja button.c, button-test.c 14
              4 ampel Zustandsmaschinen, Interrupts, Synchronisation 21.11.2022 14 Ja ampel.c 15
              5 concat C unter Linux, Speicherallokation, Strings 05.12.2022 7 Nein concat.c 10
              6 trac Ein-/Ausgabe 12.12.2022 7 Ja trac.c 9
              7 printdir POSIX, Strukturen 19.12.2022 21 Ja printdir.c 12
              8 mish POSIX-Prozesse, Signale 09.01.2023 21 Ja mish.c 22

              Abgabe und Bewertung der Übungsaufgaben

              Die Abgabe erfolgt an den Rechnern im CIP-Pool, mit dem Skript /proj/i4spic/bin/abgabe oder durch die SPiC-IDE 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 korrigiert. Die korrigierten Abgaben finden Sie in ihrem Projektordner im Unterordner korrektur. 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 (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.
              Friedrich-Alexander-Universität
              Erlangen-Nürnberg

              Schlossplatz 4
              91054 Erlangen
              • Impressum
              • Datenschutz
              • Barrierefreiheit
              • Facebook
              • RSS Feed
              • Xing
              Nach oben