Prüfer: Daniel Lohmann
Beisitzer: Isabella Stilkerich

Themengebiete: Betriebssysteme (mpstups + Uebung, 7.5 ECTS)

Datum: Februar 2012

Ergebnis: 1.7

Allgemeines

Die Atmosphaere ist sehr entspannt, es gibt einen Zettel und einen Stift auf dem Tisch falls noetig. Daniel hat auch seine Fragen selbst aufs Blatt gemalt (wir haben hier ein programm das macht folgendes → schreibt ne main hin und n printf rein). Sehr hilfreich. Isa hat eigtl nichts gesagt, nur Fragen aufgeschrieben und Haeckchen daneben gemacht (ist beruhigend wenn man da paar haeckchen sieht).
Die Fragen sind recht offen, es hilft auf jeden Fall ausfuehrlich zu antworten. Wenn ein Thema aus Sicht des Pruefers abschliessend abgehandelt ist fuehrt er auch zum naechsten. Manchmal wird explizit auf Buzzwords gewartet (wie zB. lost update).
Selber lenken in Richtungen die man behandeln moechte funktioniert teilweise (hab dauernd ueber locks geredet, dann gabs am Ende auch noch eine Frage an der man das anbringen konnte) aber auch nur begrenzt (haette gerne verschiedene Ebenen erklaert und Prolog Epilogzeug abgearbeitet. Das hat aber nicht interessiert ^^. Der Fokus liegt ganz klar auf dem Verstaendnis; Auswendiglernen ist nicht noetig. Es gab keinerlei Fragen zum Code, keine direkte Verbindung zu irgendeiner Klasse die wir implementiert haben.

Im nachhinein hat Daniel gesagt dadurch dass ich am Anfang sehr breit angefangen zu erzaehlen was ich weiss und einfach paar grundlagen rausgehauen hab hat er mir abgekauft dass ich das kann und deswegen danach auch nicht mehr danach gefragt. Die Fragen werden also an den Pruefling angepasst. Die Themenbereiche aus denen er was wissen moechte sind aber denke ich immer dieselben.

Zur Vorbereitung in BS habe ich die Uebungsaufgaben im Semester verwendet und das Script von vorn bis hinten gelesen und alles was wichtig erschien auf ein whiteboard gemalt um uebersicht zu bekommen (versch. Betriebssystemarten, Schedulingstrategien etc). Da ich mich auf Protokolle bei Kleinoeder und Wosch vorbereitet hatte war vieles was ich gelernt hatte ueberhaupt nicht gefragt.

Fragen

ein Kunde hat eine kritische Anwendung die so wichtig ist dass er dafuer ein eigenes Betriebssystem haben moechte. (malt die Anwendung aufs Blatt)

main () {

 printf("Hallo Welt");

}

wie wuerden sie dazu ein Betriebssystem verwirklichen


→ simpel bleiben. Ich hab zu oft viel zu kompliziert gedacht. Hier soll gezeigt werden was der einfachste und simpleste weg ist. Man braucht ein Ausgabedevice + Treiber. Shared Memory Access. Aktives warten. Muss nichtmal Coroutine geben.


→ neues device tastatur schickt nen Interrupt (APIC etc war gar nich gefragt)


→ passives warten. cpu_sleep. Interrupts ausmachen sonst lost wakeup.


→ man braucht IPIs. Die werden in der Interruptbehandlung geschickt. die stelle im buffer wird von produzent & konsument ausgelesen → muss synchronieriert werden. einfach interrupts ausmachen.


→ cli lock buf++ unlock sti


→ BS gibt Schnittstellen vor. Treiber sind ein Grossteil eines Betriebssystems, haette man wohl weit mehr sagen koennen, Zeit war da quasi schon um.

lg && gl – spchsclu