Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 4 » MPStuBS
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Letzte ÜberarbeitungBeide Seiten, nächste Überarbeitung | |||
pruefungen:hauptstudium:ls4:bs-2019-04-11 [11.04.2019 13:56] – angelegt xilef97 | pruefungen:hauptstudium:ls4:bs-2019-04-11 [11.04.2019 14:00] – xilef97 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ===== MPStuBS ===== | + | ====== MPStuBS |
Prüfer: Volkmar Sieh, Beisitzer: Bernhard Heinloth | Prüfer: Volkmar Sieh, Beisitzer: Bernhard Heinloth | ||
- | ==== Allgemein ==== | + | ===== Allgemein |
Sehr entspannt. Bernhard hat keine Fragen gestellt. Er hat aber manchmal Volkmar gestikuliert, | Sehr entspannt. Bernhard hat keine Fragen gestellt. Er hat aber manchmal Volkmar gestikuliert, | ||
+ | |||
Als Vorbereitung bin ich die Vorlesungsfolien durchgegangen und habe mir ein paar alte Prüfungsprotokolle angeschaut. Die Aufgaben habe ich alleine und sehr gründlich bearbeitet, d.h. ich war dadurch relativ gut vorbereitet, | Als Vorbereitung bin ich die Vorlesungsfolien durchgegangen und habe mir ein paar alte Prüfungsprotokolle angeschaut. Die Aufgaben habe ich alleine und sehr gründlich bearbeitet, d.h. ich war dadurch relativ gut vorbereitet, | ||
Note: 1,0. | Note: 1,0. | ||
Zeile 9: | Zeile 10: | ||
Manche Fragen weiß ich nicht mehr genau, d.h. es ist vermutlich etwas unvollständig. Es ging aber gefühlt sehr lange um Interrupts. | Manche Fragen weiß ich nicht mehr genau, d.h. es ist vermutlich etwas unvollständig. Es ging aber gefühlt sehr lange um Interrupts. | ||
- | ==== Fragen ==== | + | ===== Fragen |
- | === Betriebssystementwicklung === | + | ==== Betriebssystementwicklung |
- | **Was ist Bare-Metal-Programmierung? | + | |
Habe praktisch den ersten Foliensatz erzählt. Bei der Linkerkonfiguration wollte er wissen, was da besonders ist, was ich nicht wusste. Er wollte darauf hinaus, dass standardmäßig virtuelle Adressen verwendet werden. | Habe praktisch den ersten Foliensatz erzählt. Bei der Linkerkonfiguration wollte er wissen, was da besonders ist, was ich nicht wusste. Er wollte darauf hinaus, dass standardmäßig virtuelle Adressen verwendet werden. | ||
- | **Wie kann man debuggen?** | + | * **Wie kann man debuggen?** |
Habe den Rest des ersten Foliensatzes erzählt. Hier hab ich praktisch alles aufgezählt, | Habe den Rest des ersten Foliensatzes erzählt. Hier hab ich praktisch alles aufgezählt, | ||
- | === Interrupts/ | + | ==== Interrupts/ |
- | **Verschiedene Fragen bzgl. weicher/ | + | |
Habe die verschiedenen Sachen erklärt. Für den Mutex habe ich in etwa das hingeschrieben: | Habe die verschiedenen Sachen erklärt. Für den Mutex habe ich in etwa das hingeschrieben: | ||
Zeile 30: | Zeile 31: | ||
'' | '' | ||
- | **Wie macht man da jetzt passives Warten?** | + | * **Wie macht man da jetzt passives Warten?** |
In lock ein scheduler.block in der while-Schleife, | In lock ein scheduler.block in der while-Schleife, | ||
- | **Muss man da synchronisieren o.ä.?** | + | * **Muss man da synchronisieren o.ä.?** |
Habe die Synchronisation mit dem Scheduler erzählt, d.h. auch ein bisschen die Strukturen dort. | Habe die Synchronisation mit dem Scheduler erzählt, d.h. auch ein bisschen die Strukturen dort. | ||
Zeile 40: | Zeile 41: | ||
- | **Was ist die Epilogebene, | + | * **Was ist die Epilogebene, |
Habe zuerst allgemein das Ebenenmodell kurz beschrieben und dann die Aufteilung Prolog/ | Habe zuerst allgemein das Ebenenmodell kurz beschrieben und dann die Aufteilung Prolog/ | ||
- | **Worauf muss man bei der Interruptbehandlung/ | + | * **Worauf muss man bei der Interruptbehandlung/ |
Dass es so kurz wie möglich dauert. | Dass es so kurz wie möglich dauert. | ||
Bei der Tastatur holt man sich im Prolog nur das Zeichen aus dem Tastaturpuffer. | Bei der Tastatur holt man sich im Prolog nur das Zeichen aus dem Tastaturpuffer. | ||
- | **Es gibt zwei verschiedene Arten von Interrupts(signalisierungen), | + | * **Es gibt zwei verschiedene Arten von Interrupts(signalisierungen), |
Hier war ich etwas verwirrt; er hat gesagt "Du wusstest ja bisher alles, jetzt muss ich mal etwas schwierigere Fragen stellen" | Hier war ich etwas verwirrt; er hat gesagt "Du wusstest ja bisher alles, jetzt muss ich mal etwas schwierigere Fragen stellen" | ||
Zeile 55: | Zeile 56: | ||
Er wollte auf etwas sehr detailliertes hinaus: die beiden verschiedenen Trigger-Modes //Edge// und //Level// (im IO-APIC). Er hat dann behauptet, dass wenn man ein Zeichen nicht abholt, das System nichts mehr tut. Damit meinte er, dass die Behandlung von Tastaturinterrupts den Trigger-Mode //Level// verwendet, und das BS deswegen die ganze Zeit wieder in den Interrupthandler springen würde, weil die Interruptleitung erst auf 0 gesetzt wird, wenn das Zeichen abgeholt wurde. Hierauf bin ich nur so halb gekommen. | Er wollte auf etwas sehr detailliertes hinaus: die beiden verschiedenen Trigger-Modes //Edge// und //Level// (im IO-APIC). Er hat dann behauptet, dass wenn man ein Zeichen nicht abholt, das System nichts mehr tut. Damit meinte er, dass die Behandlung von Tastaturinterrupts den Trigger-Mode //Level// verwendet, und das BS deswegen die ganze Zeit wieder in den Interrupthandler springen würde, weil die Interruptleitung erst auf 0 gesetzt wird, wenn das Zeichen abgeholt wurde. Hierauf bin ich nur so halb gekommen. | ||
- | **Welche Interrupt(signalisierungs)art wird beim Timer-Interrupt verwendet? | + | * **Welche Interrupt(signalisierungs)art wird beim Timer-Interrupt verwendet? |
Hier hab ich ziemlich lange überlegt, bin dann aber darauf gekommen. Es war //Edge//, weil es ja keine Daten abzuholen gibt, sondern es nur um die Signalisierung bzgl. der abgelaufenen Zeit geht. | Hier hab ich ziemlich lange überlegt, bin dann aber darauf gekommen. Es war //Edge//, weil es ja keine Daten abzuholen gibt, sondern es nur um die Signalisierung bzgl. der abgelaufenen Zeit geht. | ||
- | === IPC === | + | ==== IPC ==== |
- | **Was ist Virtual Shared Memory?** | + | |
Habe kurz allgemein was zu IPC gesagt, und dann eben, dass Virtual Shared Memory die Nachstellung von Shared Memory über Nachrichten ist. Da hab ich ein bisschen erklärt wie das abläuft, mit dem Versenden von Seiten usw. | Habe kurz allgemein was zu IPC gesagt, und dann eben, dass Virtual Shared Memory die Nachstellung von Shared Memory über Nachrichten ist. Da hab ich ein bisschen erklärt wie das abläuft, mit dem Versenden von Seiten usw. | ||
- | **Wenn man mehrere Variablen hat, und auf die Variablen von verschiedenen Prozessen zugegriffen wird, warum könnte das problematisch sein?** | + | * **Wenn man mehrere Variablen hat, und auf die Variablen von verschiedenen Prozessen zugegriffen wird, warum könnte das problematisch sein?** |
Wei die Variablen vermutlich in der gleichen Seite liegen. | Wei die Variablen vermutlich in der gleichen Seite liegen. | ||
- | **Wie würde man Raytracing mit vielen PCs wie im CIP machen?** | + | * **Wie würde man Raytracing mit vielen PCs wie im CIP machen?** |
Jeder PC hat eine Kopie von der Szene, weil sie sich nicht verändert. Dann berechnet jeder PC einen Teil der Szene, und am Ende schreiben alle ihr Ergebnis synchronisiert auf Platte. | Jeder PC hat eine Kopie von der Szene, weil sie sich nicht verändert. Dann berechnet jeder PC einen Teil der Szene, und am Ende schreiben alle ihr Ergebnis synchronisiert auf Platte. |