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

Vorlesung

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

          Vorlesung

          Im Wintersemester wird keine SPiC Vorlesung stattfinden – die hier angezeigten Informationen und Folien beziehen sich auf das vorherige Semester.
          Es werden jedoch Übungen angeboten, die eine Wiederholung des Übungsstoffs ermöglichen. Durch Bearbeitung der Aufgaben ist der Erwerb von Bonuspunkten möglich.

          Vorlesungsüberblick

          Die Vorlesung soll aufbauend auf den Informatik-Kenntnissen aus GdI und ersten Programmiererfahrungen mit der Programmiersprache Java grundlegende Kenntnisse der systemnahen Programmierung vermitteln. Während sich moderne Anwendungsprogrammierung primär an den Zusammenhängen und Begriffen des Anwendungsproblems orientiert und von den tatsächlichen Abläufen im Rechner weitgehend abstrahiert wird, sind bei systemnaher Programmierung gerade diese Abläufe im Rechner/Mikrocontroller das zu lösende Problem. Damit stehen die mächtigen Abstraktionen eines Betriebssystems, einer Middleware oder einer virtuellen Maschine nicht oder zumindest nur in geringerem Umfang zur Verfügung. Eine in diesem Umfeld weit verbreitete Programmiersprache ist C, die im Rahmen der Lehrveranstaltung als Grundlage für Vorlesung und praktische Übungendienen wird. Obwohl C aus softwaretechnischer Sicht nicht mehr aktuell ist und für den Aufbau größerer Anwendungssoftwaresysteme äußerst kritisch gesehen werden muss, ist ein großer Teil der heute in Betrieb befindlichen Software in dieser Sprache geschrieben und man ist dadurch häufig mit der Wartung oder Weiterentwicklung solcher Software konfrontiert. Vor allem im Bereich von eingebetten Systemen und allen anderen Arten von systemnaher Programmierung wird C auch heute noch häufig für Neuentwicklungen eingesetzt. Viele Entwicklungswerkzeuge sind auf diese Sprache ausgerichtet und in den Entwicklergruppen ist die Erfahrung mit der Programmiersprache und der damit verbundenen Art der systemnahen Programmierung nach wie vor sehr weit verbreitet. Der Fokus der Lehrveranstaltung liegt einerseits auf der Architektur systemnaher Software und den Zusammenhängen zwischen den Abstraktionen der Programmiersprache und den tatsächlichen Strukturen und Abläufen in der Hardware (z.B. Zeiger in C, virtueller Speicher, Speicherzellen des Hauptspeichers). Andererseits wird besprochen, wie man bei der gerade im ingenieurwissenschaftlichen Bereich wichtigen systemnahen Programmierung – z.B. für für eingebettete Systeme – vorgeht und diskutiert, wann und wo man eine sinnvolle Grenze zwischen systemnaher Software und der immer umfangreicher und komplexer werdenden Anwendungssoftware ziehen sollte. Im Vergleich zu Java sollen dabei vor allem auch die aus programmiertechnischer Sicht problematischen Seiten von C und die daraus resultierenden Gefahren beleuchtet werden.

          Übungen

          Die ersten Übungsaufgaben sind „zum Warmwerden“ mit der Sprache und der Hardware gedacht. Die Entwicklung findet unter Linux und unter Verwendung der SPiC IDE statt und programmiert wird das SPiCboard, das im Rahmen der Lötabende von den Studierenden selbst gelötet werden kann. Ziel der Übungen ist es, dass die typischen Probleme und Lösungen für hardwarenahe Mikrocontrollerprogrammierung erkannt und verstanden werden. Dazu gehört auch der effiziente Umgang mit Ressourcen (z.B. Speicher und Energie) und das Erstellen von korrekter und robuster Software. Im zweiten Teil der Veranstaltung werden die Erfahrungen auf die systemnahe Programmierung unter Verwendung eines Betriebssystems (Linux) angewandt. Es wird der Umgang mit Schnittstellen des Betriebssystemkerns geübt und Parallelen zur Entwicklung ohne Betriebssystem auf dem Mikrocontroller gezogen.

          Folien der Vorlesung

          Die Folien bilden den roten Faden durch die Vorlesung. Sie können (und sollen) eine ergänzende Vorlesungsmitschrift und die ausführliche Erläuterung der Themen in der Fachliteratur nicht ersetzen! Für die komfortable Anzeige am Bildschirm und als Referenz stehen sowohl das Handout als auch die Präsentationsfolien (mit Einblendeanimationen) in einer Gesamtversion im PDF-Format zur Verfügung (durchsuchbar, mit klickbaren Querverweisen und Zur Zuordnung der Folien zu den einzelnen Vorlesungen (sowohl Planung im Voraus als auch Protokoll im Nachhinein) siehe „Terminübersicht (Semesterplanung)“ auf der SPiC-Hauptseite.

          Folienvarianten
          • Handout
          • Präsentation

          Letzte Änderung: 31.08.2021

          Folien zu Kapitel 1

          Folien zu Kapitel 2

          Folien zu Kapitel 3

          Folien zu Kapitel 4

          Folien zu Kapitel 5

          Folien zu Kapitel 6

          Folien zu Kapitel 7

          Folien zu Kapitel 8

          Folien zu Kapitel 9

          Folien zu Kapitel 10

          Folien zu Kapitel 11

          Folien zu Kapitel 12

          Folien zu Kapitel 13

          Folien zu Kapitel 14

          Folien zu Kapitel 15

          Folien zu Kapitel 16

          Folien zu Kapitel 17

          Folien zu Kapitel 18

          Folien zu Kapitel 19

          Folien zu Kapitel 20

          Hinweis: Vorlesungsteil E ist seit dem SS2021 vorgezogen.

          Folien zu Kapitel 33

          Folien zu Kapitel 34

          Folien zu Kapitel 35

          Folien zu Kapitel 36

          Folien zu Kapitel 21

          Folien zu Kapitel 22

          Folien zu Kapitel 23

          Folien zu Kapitel 24

          Folien zu Kapitel 25

          Folien zu Kapitel 26

          Folien zu Kapitel 27

          Folien zu Kapitel 28

          Folien zu Kapitel 29

          Folien zu Kapitel 30

          Folien zu Kapitel 31

          Folien zu Kapitel 32

          Beispiele

          Friedrich-Alexander-Universität
          Erlangen-Nürnberg

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