Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

Betriebssysteme (BS) im WS 2020/21

Neuigkeiten

26.10.2020:

Da alle verfügbaren Plätze bei der Übungsanmeldung bereits belegt sind, wurde die Anmeldung geschlossen.

Bitte schreibt bei Interesse eine Mail mit allen relevanten Daten – Name, Login und gewünschte Variante (OOStuBS oder MPStuBS) sowie optional die des gewünschten Gruppenpartners – an i4stubs@lists.cs.fau.de um auf die Warteliste gesetzt zu werden.

Wir werden außerdem noch einmal unsere technischen und personellen Mittel reevaluieren und nach Möglichkeit weiteren Gruppen (von der Warteliste) die Teilnahme ermöglichen.

20.10.2020:Die Videos zum ersten Kapitel der Vorlesung sind nun ebenfalls online.
17.10.2020:

Die Anmeldung zu der Übung für OOStuBS oder MPStuBS ist ab Sonntag, den 25. Oktober über Waffel möglich. Voraussetzungen für die Teilnahme sowie weitere Details zum Ablauf des Übungsbetriebs werden im Video Organisation erklärt – bitte vor der Anmeldung anschauen!

Weiterhin sind auch Einführungsvideos zu C++ und Git online, nach erfolgreicher Übungsanmeldung kann dazu als Fingerübung die (freiwillige) Aufgabe 0 bearbeitet werden.

27.08.2020:Eine Anmeldung zu den Übungen ist ab Mitte Oktober möglich.
29.06.2020:

BS findet in diesem Semester statt.

Da im Wintersemester 2020/21 aufgrund der Corona Situation Präsenzveranstaltungen (aller voraussicht nach) nicht oder nur eingeschränkt möglich sein werden, wird der Vorlesungs- und Übungsbetrieb auf eine präsenzlose Onlineveranstaltung umgebaut.

Weitere Details folgen in den nächsten Monaten.

26.03.2020:Eine vorläufige Version der Betriebssystem-Website zum WS 2020/21 ist online.

Inhalt der Vorlesung

Ziel der Vorlesung ist die Vermittlung von konzeptionellen Grundlagen und wichtigen Techniken, die für den Bau eines Betriebssystems erforderlich sind. In den vorlesungsbegleitenden Übungen werden diese Kenntnisse praktisch angewendet, indem ein kleines PC-Betriebssystem in kleinen Arbeitsgruppen von Grund auf neu entwickelt wird. Um dies zu bewerkstelligen, sind fundierte Kenntnisse über Aufbau und Funktionsweise der PC-Hardware erforderlich, die ebenfalls in der Lehrveranstaltung vermittelt werden. Dabei werden gleichzeitig Grundlagen aus dem Betriebssystembereich wie Unterbrechungen, Synchronisation und Ablaufplanung, die aus früheren Veranstaltungen (wie Softwaresysteme I oder Systemprogrammierung I) weitgehend bekannt sein sollten, wiederholt und vertieft.

Weitere Informationen zur Vorlesung...

Inhalt der Übungen

Ziel der Übungen ist es, schrittweise ein eigenes kleines Betriebssystem (OOStuBS, Objektorientiertes Studenten-Betriebssystem, bzw. MPStuBS, MultiProzessorStudenten-Betriebssystem) für den PC zu entwickeln. Dafür werden Gruppen aus je zwei Studenten gebildet.

Weitere Informationen zu den Übungen...

Dozenten und Betreuer

Terminübersicht (Stundenplan)

Die Veranstaltung findet in diesem Wintersemester ohne Präsenz statt.
Es werden auf dieser Webseite wöchentlich Videos zu Vorlesung und Übung veröffentlicht, für Rückfragen gibt es neben den Mailinglisten und Chat eine virtuelle Sprechstunde (Videokonferenz) am Mittwoch, ab 12:15 Uhr.
Die drei (optionalen) Zusatzseminare im Semester finden (zwecks Interaktivität) synchron im Zeitslot der Sprechstunde statt.
Für den Übungsbetrieb ist ein PC oder Laptop mit Internetzugang erforderlich.

Terminübersicht (Semesterplan)

Hier ist der geplante Ablauf der Veranstaltung im Überblick dargestellt: Zu jeder Aufgabe gibt es jeweils eine Übung, die Bearbeitungszeit beträgt zwei Wochen.
Vor dem Semesterbeginn wird eine (optionale) Übung angeboten, welche Grundlagen (C++ und git) erklärt.
Die Seminare vertiefen Inhalte über den Vorlesungsumfang hinaus, sind jedoch optional.

KWMoDiMiDoFrThemen
44 26.10 27.10 28.10 29.10 30.10 Organisation und Einleitung
Einführung in C++, git und die Arbeitsumgebung
A0: C++ Streams (freiwillig, zur Vorbereitung)
45 02.11 03.11 04.11 05.11 06.11 Einstieg in die Betriebssystementwicklung
Ausgabefunktionen und Tastaturansteuerung
A1: Ein/Ausgabe Intro, Q&A  
46 09.11 10.11 11.11 12.11 13.11 Unterbrechungen - Hardware
(Ur)Laden des x86er
  Seminar Abgabe A1
47 16.11 17.11 18.11 19.11 20.11 Unterbrechungen - Software
Interruptbehandlung für StuBS
A2: Unterbrechungen Q&A  
48 23.11 24.11 25.11 26.11 27.11 Unterbrechungen - SoftIRQ
Fehlersuche mit dem GDB
  Seminar Abgabe A2
49 30.11 01.12 02.12 03.12 04.12 Unterbrechungen - Synchronisation
Interruptsynchronisation mit dem Pro-/Epilogmodell
A3: Pro-/Epilog Q&A  
50 07.12 08.12 09.12 10.12 11.12 IA-32: Die 32-Bit-Intel-Architektur
Programmierung in Assembler
  Seminar Abgabe A3
51 14.12 15.12 16.12 17.12 18.12 Koroutinen und Programmfäden
Threadumschaltung
A4: Kontextwechsel Q&A  
52 21.12 22.12 23.12 24.12 25.12 Plätzchen backen
  Vorlesungsfrei
53 28.12 29.12 30.12 31.12 01.12
Vorlesungsfrei
01 04.01 05.01 06.01 07.01 08.01
Vorlesungsfrei Abgabe A4
02 11.01 12.01 13.01 14.01 15.01 Scheduling
Zeitscheibenscheduling für StuBS
A5: Zeitscheiben Q&A  
03 18.01 19.01 20.01 21.01 22.01 Betriebssystem-Architekturen
  Q&A Abgabe A5
04 25.01 26.01 27.01 28.01 29.01 Fadensynchronisation
Ereignisbearbeitung und Synchronisation
A6: Synchronisation Q&A  
05 01.02 02.02 03.02 04.02 05.02 Gerätetreiber
  Q&A Abgabe A6
06 08.02 09.02 10.02 11.02 12.02 Interprozesskommunikation, Zusammenfassung und Ausblick
Eine Anwendung für StuBS
A7: Anwendung Q&A, Outro (freiwillig)