Systemnahe Informatik 2 für Lehramtsstudierende

Semester
Wintersemester
Anrechenbar im
Bachelor
Leistungspunkte
5
Betreuer
Zeit/Raum
  • Montag: 14:30 bis 16:00 Uhr, Raum 3703.135
  • Dienstag: 08:30 bis 10:00, Raum 3703.135
Stud.IP-Veranstaltung

Inhalt der Vorlesung

Die Studierenden lernen grundlegende Konzepte von Systemsoftware und Betriebssystemen kennen. Die Veranstaltung vermittelt grundlegende Kenntnisse über Aufbau, Funktionsweise und Verwendung von Betriebssystemen. Behandelt werden, am Modell einer Mehrebenenmaschine, Betriebssystemabstraktionen wie Prozesse, Fäden, virtueller Speicher, Dateien, Gerätedateien und Interprozesskommunikation sowie Techniken für deren effiziente Realisierung. Dazu gehören Strategien für das Prozessscheduling, Latenzminimierung durch Pufferung und die Verwaltung von Haupt- und Hintergrundspeicher. Weiterhin werden die Themen Sicherheit im Betriebssystemkontext und des Umgangs mit Betriebsssytemen in der Praxis erörtert. In den vorlesungsbegleitenden Übungen erfolgt eine praktische Vertiefung des Stoffs anhand von Programmier- und Anwendungsaufgaben.

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.

Stoffplan

  1. Einführung
    • Systemnahe Informatik, Mehrebenenmaschine
    • Einordnung der Veranstaltung
    • Was ist denn nun ein Betriebssystem?
    • Aufbau und Organisation der Veranstaltung
  2. Grundlegende Konzepte
    • Mehrebenenmaschine: Vom C-Code zum Programm (in Ausführung)
    • Grundlegendes Speichermodell: Code, Data, Stack, Heap
    • Maschinenebene vs. Befehlssatzebene
    • Virtualisierung durch das Betriebssystem: Grundkonzepte im Schnellüberblick
  3. Dateien und Dateisysteme
    • benannte Objekte und hierarchischer Namensraum
    • Dateien und Pseudodateien
    • Aufbau eines Dateisystems
    • Pseudodateisysteme und Gerätesteuerung
  4. Prozesse und Fäden
    • Der Prozessbegriff in der Informatik
    • Prozessbegriff in der Mehrebenenmaschine (virtuelle Maschine)
    • Faden (als virtueller Prozessor)
    • Adressraum (als virtueller Zustandsspeicher)
    • Programm (als Handlungsvorschrift)
  5. Unterbrechungen, Systemaufrufe und Signale
    • Mehrebenenmaschine: Grundprinzip des Upcalls
    • Ablauf einer Hardwareunterbrechung, cli/sti
    • Implizite/explizite Betriebssystemaktivirungen
    • Privilegebenen, das Betriebssystem als Herrscher
  6. Prozesseinplanung
    • Ebenen und Kriterien der Einplanung (Scheduling)
    • Klassische Scheduling-Verfahren (FCFS, RR/VRR, SJN, ...)
    • Echtzeitbetrieb, Multiprozessor-Scheduling
    • Linux Scheduler
  7. Speicherorganisation
    • Adressraummodelle (real, logisch, virtuell)
    • Statische Speicherzuteilung
    • Dynamische Speicherzuteilung
    • Schutz
  8. Speichervirtualisierung
    • Gekachelter Speicher, Paging
    • Seitenersetzung im Detail
    • Gemeinsamer Speicher, Copy-on-Write
    • Arbeitsmengenmodell
  9. Speicherbasierte Interaktion
    • Grundprobleme, Lost-Update, Read-Write
    • Aktives Warten mit Sperrvariablen, Varianten, Probleme
    • Prinzip des passiven Wartens
    • Semaphore
  10. Betriebsmittelverwaltung, Synchronisation und Verklemmung
    • Betriebsmittel, Taxonomie (wiederverwendbar/konsumierbar, un/teilbar)
    • Livelocks und Deadlocks, 4 Bedingungen
    • Klassische Probleme (5 Philosophen, Erzeuger-Verbraucher, Leser-Schreiber)
    • Vermeidungs/Verhinderungsansätze
  11. Interprozesskommunikation
    • Speichergekoppelt vs. nachrichtengekoppelt
    • send/receive, Semantiken
    • Signale
    • Pipes und Sockets

Semesterplan

KW: DatumMo 14:30Di 08:30
42: 12.10.26--
43: 19.10.26V1 EinführungV2 Grundlegende Konzepte
44: 26.10.26U1 V3 Dateien und Dateisysteme
45: 02.11.26U2 V4 Prozesse und Fäden
46: 09.11.26U3 V5 Kernel, Treiber und Dienste
47: 16.11.26U4 V6 Prozessverwaltung
48: 23.11.26U5 V7 Speicherbasierte Interaktion
49: 30.11.26U6 V8 Betriebsmittelverwaltung
50: 07.12.26U7 V9 Systemsicherheit und Zugriffsschutz
51: 14.12.26U8 V10 Interprozesskommunikation
52: 21.12.26U9 -
53: 28.12.26--
1: 04.01.27--
2: 11.01.27U10 V11 Netzwerkkomunikation
3: 18.01.27U11 Fragestunde
4: 25.01.27FragestundeTestat

Vorkenntnisse

Literaturempfehlungen

Die genannten Bücher dienen zur Ergänzung des Vorlesungsstoffes, decken ihn aber nicht zu hundert Prozent ab. Die genannte Auflage versteht sich als Mindestauflage, es kann also problemlos eine neuerer Auflage herangezogen werden.

  1. Operating Systems. Internals and Design Principles
    William StallingsPrentice Hall PTR2008978-0136006329.
    []
  2. Operating System Concepts
    Abraham Silberschatz, Greg Gagne, Peter Bear GalvinJohn Wiley & Sons, Inc.20050-471-69466-5.
    []
  3. Modern Operating Systems
    Andrew S. TanenbaumPrentice Hall PTR2007978-0136006633.
    []
  4. Structured Computer Organization
    Andrew S. TanenbaumPrentice Hall PTR2006978-0131485211.
    []
  5. Systemprogrammierung – Grundlage von Betriebssystemen: Sachwortverzeichnis
    Wolfgang Schröder-Preikschat2019.
    PDF []

Anmeldung und weitere Infos

Für diese Veranstaltung ist eine Online-Anmeldung über Stud.IP erforderlich. Bitte registrieren Sie sich (falls noch nicht geschehen) für Stud.IP und tragen Sie sich dort in die entsprechende Veranstaltung ein.

Stud.IP Veranstaltungen
Systemnahe Informatik 2