• 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
      • Embedded Systems Software
      • 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. Sommersemester 2024
  4. Systemprogrammierung 1
  5. Vorlesung

Vorlesung

Bereichsnavigation: Lehre
  • Systemprogrammierung 1
    • Vorlesung
      • # Vorlesungskonzept
      • # Folien
      • # Vertiefende Literatur
      • # Vorlesungstermine
    • Übung
      • # Übungsfolien
      • # Aufgaben
      • # Literaturempfehlungen
      • # Termine
      • # Korrekturhinweise
    • Semesterplan
      • FAQ
        • Kontakt
          • Alte Klausuren
            • Evaluation
              • Intern

              Vorlesung

              Systemprogrammierung 1 - Vorlesung

              • Die zweite Klausureinsicht findet am Donnerstag, 17.10.2024 um 12:00 in Raum 0.031, Martensstr. 1.

              • Die Klausurergebnisse wurden im campo und Waffel eingetragen. Der Klassenspiegel ist online einsehbar: SP, GSP Die erste Klausureinsicht findet am 26.7.24 um 10:00 Uhr in Raum 11302.02.133 (02.133-113 Übungsraum) statt. Eine zweite Klausureinsicht wird zu Beginn des Wintersemesters stattfinden.
              • Fragestunde zur Klausur: Montag, 22.07.2024, 12:00 in H4
              • Basierend auf Ihren Antworten bei der Rechnerübungs-Terminumfrage haben wir eine weiter Rechnerübung am Freitag um 16:00 (s.t.) eingerichtet. Diese findet erstmalig am 21.6. statt.
              • Der Übungsbetrieb beginnt mit den Donnerstagsgruppen am Donnerstag, 25.04.2024.

                Hinweis: Teilnehmer der Mittwochsübungen sind dazu angehalten für die ersten beiden Übungswochen eine andere Übung zu besuchen.

              • Beginn der Anmeldung zum Übungsbetrieb: Donnerstag, 18.04.2024, 16:00 via Waffel

                Hinweis: Gruppenaufgaben können nur mit Partnern bearbeitet werden, die dieselbe Tafelübung besuchen.

              Die Veranstaltung Systemprogrammierung (SP) gibt eine Einführung in das „Programmieren im Großen“ mit der Sprache C, verbunden mit der Vermittlung von grundlegenden Techniken der (imperativen) Systemprogrammierung am Beispiel von Betriebssystemen. Die Vorlesung behandelt Betriebssysteme auf funktionaler wie auch (Software-)struktureller Ebene. Der „klassische“ Lehrstoff über Betriebssystemfunktionen wird am Beispiel eines logischen, schichtenstrukturierten Systementwurfs vermittelt. Dabei steht der gesamtheitliche Zusammenhang zwischen den verschiedenen Funktionen im Vordergrund. Der Lehrstoff gliedert sich auf in drei Hauptteile. Der erste Teil ist von einführendem Charakter und gibt zunächst eine kurze Motivation, gefolgt von einem etwas längeren geschichtlichen Rückblick über die Entwicklung von Betriebssystemen. Im zweiten Teil werden die typischen zentralen Betriebssystemabstraktionen (Adressraum, Speicher, Datei und Prozess) aus Benutzersicht, d. h. „von oben“ und am Beispiel der UNIX-Systemschnittstelle, diskutiert. Den Abschluss bildet ein kurzer Abstecher in den modularen, hierarchischen Entwurf von Betriebssystemen. Hier wird die logische Struktur eines Betriebssystems entwickelt, dessen Funktionen im weiteren Verlauf des sich anschließenden dritten Teils genauer betrachtet werden sollen. In eben diesem dritten Teil werden die Konzepte, Techniken und Funktionen im Detail erklärt, die zur Implementierung der eingangs erwähnten Basisabstraktionen von Betriebssystemen erforderlich sind. Im Einzelnen behandelt werden in dem Kontext die folgenden Themen:
              • Speichervergabe, Adressraumabbildung
              • Prozessumschaltung, -einplanung und -verwaltung
              • Unterbrechungssteuerung, Koordination
              • Ein-/Ausgabe, Dateiverwaltung
              • Ein-/Auslagerung, Programmverwaltung
              • Zugriffskontrolle, Systemaufrufe
              Im Vordergrund stehen Betriebssystemfunktionen für Einprozessorsysteme. Spezielle Fragestellungen zu Mehrprozessorsystemen (auf Basis gemeinsamen Speichers) werden nur am Rande und in Bezug auf Funktionen zur Koordinierung nebenläufiger Programme behandelt. In ähnlicher Weise werden Fragen zur Echtzeitverarbeitung ansatzweise nur in Bezug auf die Prozesseinplanung erörtert.

              Vorlesungskonzept

              Die Vorlesung (und die Tafelübungen) finden als Präsenzveranstaltungen statt.  

              Folien

              Die aktuellen Folien sind über die jeweils zugeordneten pdf-Links abrufbar. All slides are copyrighted (C) 2011-2023 by Wolfgang Schröder-Preikschat, Rüdiger Kapitza and Jürgen Kleinöder, University of Erlangen-Nürnberg, Germany. Use without prior written permission of the authors is not permitted!

              Vorlesung am Donnerstag, 18. April 2024

              Inhalte:

              • Vorstellung der Dozenten
              • Einleitung in den Themenkompl
              • Konzept der Lehrveranstaltung
              • Arrangement der Lehre

              Folien: (A4) (A5) (A6)

              Lernzielkontrolle: Fragen

              Vorlesung am Donnerstag, 18. April 2024

              Inhalte:

              • Teil 1 (18.04.): - Programmstruktur - Datentypen und Variablen - Anweisungen
              • Teil 2 (24.04.): - Funktionen - Preprozessor - Module - Gültigkeitsbereiche von Variablen - Lebensdauer von Variablen
              • Teil 3 (25.04.): - Zeiger - Zeiger als Funktionsargumente - Zeiger auf Strukturen - Felder - Zeiger und Felder - Zeigerarithmetik - Mehrdimensionale Felder - Dynamische Speicherverwaltung - sizeof-Operator - Cast-Operator
              • Teil 4 (29.04.): - Felder als Funktionsparameter - Zeiger - Felder und Zeichenketten - Felder von Zeigern - Argumente aus der Kommandozeile - Strukturen - Zeiger auf Funktionen - Ein-/Ausgabe

              Folien (komplett): (A4) (A5) (A6)

              Vorlesung am Donnerstag, 2. Mai 2024

              Inhalte:

              • Übersetzen, Binden
              • Programme und Prozesse, Laden
              • Prozesserzeugung, Programmausführung, Operationen auf Prozessen

              Folien (komplett): (A4) (A5) (A6)

              Vorlesung am Mittwoch, 8. Mai 2024

              Inhalte:

              • Einordnung von Systemprogrammierung
              • Deutung des Begriffs Betriebssystem

              Folien (komplett): (A4) (A5) (A6)

              Lernzielkontrolle: Fragen

              Vorlesung am Mittwoch, 15. Mai 2024

              Inhalte:

              • Schichtenstruktur
              • Mehrebenenmaschinen
              • Interpretersysteme

              Folien (komplett): (A4) (A5) (A6)

              Lernzielkontrolle: Fragen

              Vorlesung am Mittwoch, 22. Mai 2024

              Inhalte:

              • Virtualität
              • Betriebsmittel
              • Aktionen
              • Einplanung/-lastung
              • Synchronisation (Semaphor)
              • Repräsentation

              Folien (komplett): (A4) (A5) (A6)

              Lernzielkontrolle: Fragen

              Vorlesung am Donnerstag, 6. Juni 2024

              Inhalte:

              • Speicherhierarchie
              • Primär-/Sekundärspeicher
              • Speicherverwaltung

              Folien (komplett): (A4) (A5) (A6)

              Lernzielkontrolle: Fragen

              Vorlesung am Donnerstag, 20. Juni 2024

              Inhalte:

              • Namen
              • numerische (reale, logische, virtuelle) und symbolische Adressen
              • Adress-/Namensräume

              Folien (komplett): (A4) (A5) (A6)

              Lernzielkontrolle: Fragen

              Vorlesung am Donnerstag, 27. Juni 2024

              Inhalte:

              • Programmhierarchie
              • Systemaufrufe
              • Organisationsprinzipien

              Folien (komplett): (A4) (A5) (A6)

              Lernzielkontrolle: Fragen

              Vorlesung am Donnerstag, 4. Juli 2024

              Inhalte:

              • Teilinterpretation
              • Programmunterbrechung
              • Laufzeitkontext
              • Nichtsequentialität

              Folien (komplett): (A4) (A5) (A6)

              Lernzielkontrolle: Fragen

              Vorlesung am Donnerstag, 11. Juli 2024

              Inhalte:

              • Einprogrammbetrieb
              • Mehrprogrammbetrieb (Multiplexverfahren, Schutzvorkehrungen, Dynamisches Laden, Simultanverarbeitung)

              Folien (komplett): (A4) (A5) (A6)

              Lernzielkontrolle: Fragen

              Vorlesung am Donnerstag, 18. Juli 2024

              Folien (komplett): (A4) (A5) (A6)

              Vorlesung am Donnerstag, 18. Juli 2024

              Inhalte:

              • Systemsoftware, C und Betriebssysteme
              • Rechnerorganisation
              • Betriebssystemkonzepte
              • Rechnerbetriebsarten
              • Ausblick Systemprogrammierung 2

              Folien (komplett): (A4) (A5) (A6)

              Vertiefende Literatur

              • A. Silberschatz, P. B. Galvin, G. Gagne. Operating Systems Concepts. John Wiley & Sons, 2001.
              • R. W. Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley, 1992.
              • A. S. Tanenbaum, A. S. Woodhull. Operating Systems: Design And Implementation. Prentice-Hall, 1997.
              • A. S. Tanenbaum. Structured Computer Organization. Prentice-Hall, 1999.
              • Prof. Dr. Wolfgang Schröder-Preikschat. Systemprogammierung Glossar aktuell
              Nachfolgend Auszüge aus einem Manuskript des Dozenten Prof. Dr. Wolfgang Schröder-Preikschat, die die einleitenden Themen der Vorlesung (Teil B, 4. und 5.) behandeln. Der Zugriff auf die Kapitel ist nur aus dem Netz der Universität möglich.

              • Einleitung
              • Evolution und Betriebsarten
              • Organisation von Rechensystemen
              • Anhang
              • Antworten
              • Referenzen
              • Begriffsverzeichnis
              • Sachverzeichnis
              • Fremdwortverzeichnis

              Vorlesungstermin

              Im Campo zu finden.
              wöchentlichvom 18.04.-18.07.Do10:15-11:45H19
              Einzelterminam 24.04.Mi14:15-15:45H19
              Einzelterminam 29.04.Mo18:00-19:30H19
              Einzelterminam 08.05.Mi14:15-15:45H19
              Friedrich-Alexander-Universität
              Erlangen-Nürnberg

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