====== Betriebssysteme 2014-03-12 ====== **Fach:** Betriebssysteme (MPStuBS, 7,5 ECTS) **Prüfer:** Daniel Lohmann **Beisitzer:** Daniel Danner Angenehme Atmosphäre, man kennt sich. Stift und ein großes Blatt Papier liegen bereit und werden während der Prüfung auch benutzt. (Man soll z.B. etwas illustrieren bzw. eine Zeichnung von Daniel erklären oder ergänzen.) Wenn man nicht weiter weiß, wird versucht, einem auf die Sprünge zu helfen. ===== Fragen ===== So ganz genau weiß ich alles nicht mehr und vieles hat sich auch aus dem Gespräch ergeben, sodass die einzelnen Fragen schwer zu präzisieren sind. Deshalb hier nur ein kleiner Überblick ohne Anspruch auf Vollständigkeit: Los ging es mit dem Klassiker „Was ist ein Betriebssystem?“ und einer Erläuterung der verschiedenen Architektur-Paradigmen. Daran schloss sich die Frage an, welche Funktionen in der Hardware vorhanden sein müssen, um einen Monolithen zu implementieren. Anschließend wollte er wissen, welche Teile beim Umstieg auf einen Microkernel weiterhin im Kern bleiben müssen und, was im User-Modus laufen kann. Dann ging es um Scheduling, wobei die Implementierung und das Zusammenspiel von ''kickoff()'', ''toc_switch()'' etc. zu erläutern waren. Anhand eines Fallbeispiels sollte außerdem auf Synchronisierung beim Scheduling eingegangen werden. (Wie synchronisieren? Wann Sperren freigeben?) Mit Synchronisierung ging es weiter, jetzt aber beim Zugriff auf eine Queue: Gefragt war, was beim Zugriff durch zwei Threads der Anwendungsebene sowie unter Beteiligung der Epilog- und Unterbrechungsebene jeweils zu tun ist. Außerdem sollten Grenzen der Synchronisation durch Sperrens von Interrupts aufgezeigt (wenn mehrere CPUs im Spiel sind) und eine Lösung für dieses Problem präsentiert werden. ===== Bewertung ===== Im Bereich zwischen 2,0 und 3,0. Nicht ganz das, was ich mir erhofft hatte, aber für den Verlauf der Prüfung sehr fair. ===== Vorbereitung ===== Ich bin die Folien durchgegangen und hab mir eine Zusammenfassung geschrieben. Das würde ich aber nicht nochmal so machen: Abgesehen von den Standardfragen zu Definition und Paradigmen von Betriebssystemen wird kaum auswendig zu lernendes Wissen abgefragt. Was ich mir in der Prüfungsvorbereitung zu oberflächlich angeschaut habe, ist der Code von *StuBS. Damit meine ich nicht jede einzelne Zeile oder die genauen Namen von Methoden, sondern die „schmutzigen Details“ wie, was in welcher Reihenfolge stehen muss, wie man bestimmte Abläufe synchronisiert etc. Mindestens die Sachen, die auch als Codebeispiele auf den Vorlesungsfolien stehen, sollte man verinnerlicht haben – sie sich während der Prüfung nochmal herzuleiten, klappte zumindest in meinem Fall nur bedingt.