Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 4 » BST 7.5 ECTS Prüfung 10.8.2022 (Übersicht)
no way to compare when less than two revisions
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
— | pruefungen:hauptstudium:ls4:bst-2022-08-10 [10.08.2022 09:54] (aktuell) – angelegt qwerf | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== BST 7.5 ECTS Prüfung 10.8.2022 ====== | ||
+ | |||
+ | ===== Allgemein ===== | ||
+ | * Fach: BST 7.5 ECTS SS22 | ||
+ | * Datum: 10.8.2022 | ||
+ | * Typ: muendlich | ||
+ | * Pruefer: wosch | ||
+ | * Beisitzer: Bernhard | ||
+ | * Vorbereitung | ||
+ | * Unter dem Semester war man ganz gut mit BST beschaeftigt, | ||
+ | * Evaluation: | ||
+ | * Sehr faire Pruefung | ||
+ | * Sehr entspannte Atmosphaere | ||
+ | |||
+ | ===== Pruefung ===== | ||
+ | |||
+ | * Syscalls warum? | ||
+ | > Privilegientrennung | ||
+ | |||
+ | * Was ist der Unterschied zum normalen Prozeduraufruf? | ||
+ | > evtl. Adressraumwechsel; | ||
+ | |||
+ | * Wie? | ||
+ | > Softwareinterrupt oder Spezialbefehle (sysenter) + Unterschied | ||
+ | |||
+ | * Warum brauch ich dafuer dann Spezialbefehle, | ||
+ | > Windows wollte das wegen illegal Opcodes | ||
+ | |||
+ | * Wie kann man das machen? | ||
+ | > ueber Register oder direkt von Userstack auf Kernelstack + Erklaerung bin auch auf den Aufwand durch die Kopieroperationen eingegangen. (Primitiv- bzw. Komplexbefehl) | ||
+ | |||
+ | * Dazu kamen dann noch ein paar Fragen an die ich mich nicht mehr genau erinnern kann, so in die Richtung: | ||
+ | * "das hoert sich aber kompliziert an warum macht man es dann so? (auf Primitivbefehl mit Register bezogen)" | ||
+ | * "die Anwendung schreibt dann die Prameter auf den Kernelstack?" | ||
+ | |||
+ | * Der Prozesskontext wo liegt der und warum? Dann kam vor meiner Antwort noch eine philosophische Betrachtung des Prozesskontextes, | ||
+ | > war von der Frage etwas verwirrt und hab versucht die Sicherung im Stub zu erklaeren, allerdings wollte er nicht darauf hinaus, auf erneute Nachfrage bin ich dann auch draufgekommen, | ||
+ | |||
+ | * Welche Adressraummodelle gibt es? | ||
+ | > total privat, partiell privat, Einadressraummodell | ||
+ | |||
+ | * Was habt ihr implementiert? | ||
+ | > partiell privat | ||
+ | |||
+ | * Und warum macht ihr das, ist euch Sicherheit nicht so wichtig? Naja gut ihr koennt ja nichts dazu, das war die Vorgabe. | ||
+ | > Syscalls funktionieren ohne Adressraumwechsel | ||
+ | |||
+ | * Was ist das Problem? | ||
+ | > Kernel sieht zu viel und kann ggf. Userspeicher kaputt machen. | ||
+ | |||
+ | * Anekdote das keiner total privates Adressraummodell verwendet, wie kommt der Kernel da an Anwendungsspeicher? | ||
+ | > Fenster ueber Extrasegment und Spezialbefehle erklaert | ||
+ | |||
+ | * Welche HW-Einheit wird geschont beim partiell privaten im Vergleich zum total privaten? | ||
+ | > TLB, da weniger Adressraumwechsel | ||
+ | |||
+ | * Was muss dann da gemacht werden? | ||
+ | > TLB flushen | ||
+ | |||
+ | * Geht das auch anders, ohne jedes mal zu flushen? | ||
+ | > gibt TLBs mit Tags, dann werden nur diese Eintrage invalidiert | ||
+ | |||
+ | * Einadressraummodell, | ||
+ | > Trennung von Adressierung und Schutz, Schutz durch grossen Adressraum & Randomisierung, | ||
+ | |||
+ | * Warum macht man jetzt das, wozu ist das gut? | ||
+ | > IPC zwischen Prozessen, Zugriff auf horizontaler Ebene ohne Adressraumwechsel | ||
+ | |||
+ | * Braucht man dann ueberhaupt noch die MMU? | ||
+ | > Ja, es gibt ja mehr virtuelle als physikalische Adressen: wird noch fuer mapping gebraucht. | ||
+ | |||
+ | * Die Verwaltungsdatenstrukturen von Paging brauchen unter Umstaenden ja selbst sehr viel Speicher, was kann man dagegen tun. | ||
+ | > mehrstufiges Paging, invertiertes Paging | ||
+ | |||
+ | * Gut es gibt leider keine HW die invertiertes Paging unterstuezt, | ||
+ | > 4-5 Stufen | ||
+ | |||
+ | * Was habt ihr in der Uebung gemacht? | ||
+ | > 4 Stufen | ||
+ | |||
+ | * Und hat es Spass gemacht? | ||
+ | > ... naja debugging war schon sehr aufwaendig ... | ||
+ | |||
+ | * Ja ist komplex, was koennte man noch machen um Speicher einzusparen? | ||
+ | > zusaetzlich Segmentierung verwenden in Kombination mit Paging. Seitentabellen als Segmente sind nur so gross wie noetig und brauchen dadurch weniger Speicherplatz, | ||
+ | |||
+ | |||
+ | Als Antworten sind meist nur Stichpunkte gegeben, wobei die Beantwortung durchaus ausfuehrlicher war. | ||
+ | Generell erzaehlt wosch auch immer wieder Anekdoten (die manchmal auch etwas abschweifen). | ||
+ | Pruefungsatmosphaere ist sehr angenehm. | ||