Abschnittsübersicht

  • Logo der BS-Veranstaltung

    Überblick

    • (Wahl)pflichtfach
      • Informatik, Angewandte Informatik (BSc): Pflichtfach (INF-BSC-117)
      • Informatik Lehramt Bachelor (BSc): Wahlpflicht (INF-BL-108)
      • Informatik Lehramt Master (MSc): Wahlpflicht (INF-ML-351)
    • Vorlesung (2 SWS) + Übungen (1 SWS)
     

    Inhalt

    Die Vorlesung vermittelt grundlegende Kenntnisse über den Aufbau und die Funktionsweise von Betriebssystemen. Behandelt werden Betriebssystemabstraktionen wie Prozesse, virtueller Speicher, Dateien, Gerätedateien und Kommunikationsendpunkte sowie Techniken für deren effiziente Realisierung. Dazu gehören Strategien für das Prozess- und E/A-Scheduling, die Pufferung und die Haupt- und Hintergrundspeicherverwaltung. Weiterhin werden die Themen Sicherheit im Betriebssystemkontext und Betriebssysteme für Multiprozessorsysteme erörtert.

    In den vorlesungsbegleitenden Übungen erfolgt eine praktische Vertiefung des Stoffs anhand von Programmieraufgaben aus dem Bereich der UNIX-Systemprogrammierung.

    In diesem Moodle Raum finden Sie alle Informationen und Materialien zur

    • Vorlesung,
    • Tafelübung und Rechnerübung (HelpDesk)

    von Betriebssysteme (BS ehemals BsRvS 1) im Sommersemester 2025.

    • Inhalt

      Die Veranstaltung vermittelt grundlegende Kenntnisse über den Aufbau und die Funktionsweise von Betriebssystemen. Behandelt werden Betriebssystemabstraktionen wie Prozesse, virtueller Speicher, Dateien, Gerätedateien und Kommunikationsendpunkte sowie Techniken für deren effiziente Realisierung. Dazu gehören Strategien für das Prozess- und E/A-Scheduling, die Pufferung und die Haupt- und Hintergrundspeicherverwaltung. In den vorlesungsbegleitenden Übungen erfolgt eine praktische Vertiefung des Stoffs anhand von Programmieraufgaben aus dem Bereich der UNIX-Systemprogrammierung.

    • Format und Termin

      • Präsenz
      • Zeit: montags, 12-14 Uhr (c.t.)
      • Ort: Seminarraumgebäude 1 H.001 (SRG1, H.001)

    • Vorlesungsmaterialien

      Kapitel Vorlesung Thema Folien Screencasts
      (aus SS2021)
       Aufzeichnung
      (SS2024)
      1 07.04. 1. Einführung
      1.1. Organisatorisches
      1.2. Begriffe und Überblick
      1.3. Verhaltenskodex
      Einführung | C-Einführung
      -

       N/A
      2 14.04.
      2. Abstraktionen und Strukturen
      2.1. Ein Blick in die Geschichte
      2.2. Systemabstraktionen im Überblick (Teil 1)
      2.2. Systemabstraktionen im Überblick (Teil 2)

       
      3 28.04. 3. Prozesse
      3.1. Das UNIX-Prozessmodell
      3.2. Leichtgewichtige Prozessmodelle

       
      4

      05.05.

      4. Ablaufplanung
      4.1. Prozesszustände und Zustandsübergänge
      4.2. Klassische Planungsstrategien
      4.3. Bewertungskriterien und Vergleich

        
      5 12.05. 5. Synchronisation
      5.1. Einführung und Begriffsbildung
      5.2. Ad-Hoc-Lösungsansätze
      5.3. Hardwareunterstützung
      5.4. Betriebssystemunterstützung
      5.5. Sprachunterstützung

       
      6 19.05. 6. Verklemmungen
      6.1. Ursachenforschung
      6.2. Verklemmungen von Prozessen
      6.3. Ein klassisches Verklemmungsproblem
      6.4. Gegenmaßnahmen, Verklemmungsbekämpfung

       
      7 26.05. 7. Interprozesskommunikation
      7.1. Grundlagen der Interprozesskommunikation
      7.2. Lokale Interprozesskommunikation unter UNIX
      7.3. Rechnerübergreifende Interprozesskommunikation

        
      8 02.06. 8. Speicherverwaltung
      8.1. Grundlegende Aufgaben der Speicherverwaltung
      8.2. Speichervergabe
      8.3. Speicherverwaltung bei Mehrprogrammbetrieb

      8.4. Segmentbasierte Adressabbildung
      8.5. Seitenbasierte Adressabbildung

         
      9 16.06. 9. Virtueller Speicher
      9.1. Motivation
      9.2. Demand Paging
      9.3. Seitenersetzung
      9.4. Seitenzuordnung
      9.5. Ladestrategie

          
      10 23.06 10. Ein- und Ausgabe
      10.1. Ein-/Ausgabe-Hardware
      10.2. Geräteprogrammierung
      10.3. Aufgaben des Betriebssystems

           
      11 30.06. 11. Dateisysteme
      11.1. Dateien
      11.2. Freispeicherverwaltung
      11.3. Verzeichnisse
      11.4. Dateisysteme
      11.5. Pufferspeicher
      11.6. Dateisysteme mit Fehlererholung

           
      12 07.07. 12. Systemsicherheit
      12.1. Überblick über Sicherheitsprobleme
      12.2. Rechteverwaltung
      12.3. Systemsoftware und Sicherheit
      12.4. Softwarefehler


       N/A
      13 07.07. 13. Zusammenfassung, Fazit, Ausblick
      N/A  N/A
        14.07. Probeklausur und Besprechung
      N/A  N/A
    • Übungsblätter

      • Ausgabe: 14-tägig
      • Besprechung: gemeinsam in der jeweiligen Übung

    • Studienleistung

      • Insgesamt 6 Übungsblätter (A0-A5), aufgeteilt in zwei Blöcke: (A0-A2) und (A3-A5)
      • Jedes Übungsblatt gibt mind. 10 Punkte. Ggf. mehr, wenn Bonuspunkte vergeben werden.
      • Zum Bestehen sind in beiden Blöcken jeweils 15 Punkte nötig.
    • Format

      • jeweils 14-tägig und 90 Minuten
      • Alle Übungen finden in Präsenz statt!
      • Unterscheidung zwischen Übungen nach Woche der Übungszeit in W1 oder W2:
        • W1 (gerade Kalenderwoche): 16. KW (14.-18.04), 18. KW (28.4.-02.05.), ...
        • W2 (ungerade Kalenderwoche): 17. KW (21.-25.04.), 19. KW (05.-09.05.), ...
      • Anmeldung via AsSESS. Die Frist zur Abgabe der Prioritäten ist Freitag, der 11.04, um 12 Uhr.
      • Bei Problemen mit der Anmeldung bitte unter bs-problems@ls12.cs.uni-dortmund.de melden.

    • Termine

      Typ Zeit Raum Dozent/Tutor(inn)en Anmerkung
      Vorlesung Mo 12:15 - 13:45 SRG1, H.001 Prof. Dr. Peter Ulbrich  
      Übung Mo 14:15 - 16:00 OH12 2.063 Emilio Pielsticker  
      Di 10:15 - 12:00 OH16 205 Thomas Hövelmann  
      Di 14:15 - 16:00 SRG1 3.012 Pavel Stute  
      OH4a CP-E0-108  Sebastian Hauer  
      Di 16:15 - 18:00 SRG1 3.012 Pedro Portela  
      OH4a CP-E0-108 Alwin Berger  
      Mi 08:15 - 10:00 OH14 104 Fabian Hilker  
      Mi 14:15 - 16:00 OH14 104 Fabian Hilker  
      Mi 16:15 - 18:00 OH12 3.031 Pedro Portela  
      Do 08:15 - 10:00 OH12 1.055 Emilio Pielsticker  


    • Abgabegruppen

      • Die Aufgaben sind in Dreiergruppen (nach Absprache mit dem Tutor sind auch Vierergruppen oder Zweiergruppen möglich) zu bearbeiten. 
      • Der Lösungsweg und die Programmierung sind gemeinsam zu erarbeiten.
      • Die Gruppenmitglieder sollten nach Möglichkeit gemeinsam an der gleichen Tafelübung teilnehmen. Es sind aber auch Abgaben mit Studierenden aus verschiedenen Übungsgruppen zulässig. Es gilt dabei immer die früheste Abgabefrist. 
      • Die Lösung wird jeweils komplett bewertet und den Gruppenmitgliedern gleichermaßen angerechnet.
      • Die abgegebenen Antworten/Programme werden automatisch auf Ähnlichkeit mit anderen Abgaben überprüft. Wer beim Abschreiben erwischt wird, verliert ohne weitere Vorwarnung die Möglichkeit zum Erwerb der Studienleistung in diesem Semester!

    • Für alle die noch eine Gruppe suchen.

    • Übungsaufgaben

      • Die Aufgaben sind in Dreiergruppen zu bearbeiten. Der Lösungsweg und die Programmierung sind gemeinsam zu erarbeiten.
      • Die Gruppenmitglieder sollten nach Möglichkeit gemeinsam an der gleichen Tafelübung teilnehmen. Es sind aber auch Abgaben mit Studierenden aus verschiedenen Übungsgruppen zulässig. Es gilt dabei immer die früheste Abgabefrist. Die Lösung wird jeweils komplett bewertet und den Gruppenmitgliedern gleichermaßen angerechnet.
      • Die abgegebenen Antworten⁄Programme werden automatisch auf Ähnlichkeit mit anderen Abgaben überprüft. Wer beim Abschreiben erwischt wird, verliert ohne weitere Vorwarnung die Möglichkeit zum Erwerb der Studienleistung in diesem Semester!
      • Die Zusatzaufgaben sind ein Stück schwerer als die „normalen“ Aufgaben und geben zusätzliche Punkte.
      • Die Aufgaben sind über AsSESS (https://ess.cs.tu-dortmund.de/ASSESS/) abzugeben. Dort gibt ein Gruppenmitglied die erforderlichen Dateien ab und nennt dabei die anderen beteiligten Gruppenmitglieder (Matrikelnummer, Vor- und Nachname erforderlich!). Namen und Anzahl der abzugebenden C-Quellcodedateien variieren und stehen in der jeweiligen Aufgabenstellung. Bis zum Abgabetermin kann eine Aufgabe beliebig oft abgegeben werden – es gilt die letzte, vor dem Abgabetermin vorgenommene Abgabe.

      Aufgabe Beschreibung Ausgabe Abgabe Anmerkungen
      A0     23.04. 23:59 Uhr / 28.04. 14:00 Uhr  
      A1 Prozesse Verwalten      
      A2 Thread-Synchronisation      
      A3  Verklemmungen      
      A4 Speicherverwaltung      
      A5 Dateioperationen      
    • Altklausuren

      Altklausuren findet ihr in unserem Archiv:

      Jahr
      Termin
       Klausur 
       Handbuchseiten 
       2022 
      Haupttermin (August)
      PDF
      PDF
      2022
      Nebentermin (September)   
      PDF
      PDF
      2023
      Haupttermin (August)
      PDF
      PDF
      2023
      Nebentermin (September)
      PDF
      PDF
      2024
      Haupttermin (August)
      PDF
      PDF
      2024
      Nebentermin (September)
      PDF
      PDF

    • Probeklausuren

      Jahr
      Probeklausur
       Lösungsfolien
        
       2022 
      PDF
      Animiert
         Druckversion   
      2023
      PDF
      Animiert
         Druckversion   
      2024
      PDF
       2024 ohne Lösungsfolien! 


    • Weitere Übungsmaterialien

      Für die Vertiefung des Vorlesungsstoffs zum Thema Prozess- und I/O-Scheduling gibt es das Werkzeug AnimOS, mit dem sich verschiedene Strategien der Ablaufplanung ausprobieren lassen. Die Arbeitsgruppe ESS der Universität Osnabrück stellt dazu das Modul I/O-Scheduling sowie das Modul Prozessscheduling auf ihren Webseiten bereit.

    •   
      One careless strcat ... Yours?
Remember - Only you can prevent buffer overflows!

    • Rechnerübung und HelpDesk

      • Unterstützung beim Lösen der Übungsblätter
      • Beantwortung von Fragen zum Vorlesungsinhalt
      • Hilfe bei technischen Problemen rund um die BS Entwicklungsumgebung
    • Termine in der Vorlesungszeit

       
      Typ Zeit Raum Dozent/Tutor(inn)en Anmerkung
      Rechnerübung
      (HelpDesk)
      Mo 14:00 - 16:00 OH12 3.032 Alwin Berger / Pavel Stute  
      Di 10:00 - 12:00 OH12 3.032 Fabian Hilker  
      Mi 10:00 - 12:00 OH12 3.032  Thomas Hövelmann  


    • Livechat

      • Der BS-Helpdesk ist auch via Livechat erreichbar: #bs-helpdesk:fachschaften.org
      • Teilnahme z. B. über den Matrix-Server der Fachschaft
      • Wichtig: Außerhalb der o.g. Zeit ist eine zeitnahe Antwort auf Eure Fragen nicht garantiert.
        Dennoch schauen wir zwischendurch immer mal wieder in den Chat
    • Hilfe bei schwerwiegenden Problemen


      bs-problems@ls12.cs.uni-dortmund.de
      z.B. Bei Problemen mit oder innerhalb der Abgabegruppe


    • WSL

      Installieren von Linux unter Windows mit WSL

    • UTM

      Installation von Debian auf Apple Mac Silicon mit UTM/QEMU

    • BSVM

      • BSVM(64bit).ova
        • SHA256 Prüfsumme: 1f65a2b4e30dbeee6fbbb63cf12f9a2f193148ba2763af20f511739d16887cd0
      • BSVM(32bit).ova (32-Bit-VM primär gedacht für 32-Bit-Windows-Nutzer)
        • SHA256 Prüfsumme: 727e284b0234038d205dad6fe1fb51c50a46529887c357353477baf281975fe7
      • Anleitung zu Entwicklungsumgebung und VMs: BS-Entwicklungsumgebung.pdf


    • IRB-Account für die Pool-Rechner

    • Lehrbücher


      Bücher zur Wiederholung der RS-Grundlagen auf die wir in BS aufbauen wollen:
      • Peter Marwedel: Skript zur Vorlesung ”Rechnerstrukturen, Teil 2” [PDF]
      • Gottfried Vossen, Walter Oberschelp: Rechneraufbau und Rechnerstrukturen, 10. Auflage. Oldenbourg, 2006.
      • Dirk W. Hoffmann: Grundlagen der technischen Informatik, 5. Auflage. Carl Hanser Verlag München, 2016.

    • Kommandoreferenzen

      • Michael Kofler: Linux-Kommandoreferenz, 4. Ausgabe. Rheinwerk, 2019.
      • Klaus Utech: Linux Befehlsreferenz kompakt, 1. Ausgabe. 2010.
    • Kummerkasten

    • Der Link zum Kummerkasten wird nur angezeigt, wenn Sie eingeloggt sind.