Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 4 » BST 2016-10-05 (Übersicht)
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung | |||
pruefungen:hauptstudium:ls4:bst-2016-10-05 [05.10.2016 10:54] – Zwischenstand F30 | pruefungen:hauptstudium:ls4:bst-2016-10-05 [05.10.2016 12:43] (aktuell) – F30 | ||
---|---|---|---|
Zeile 29: | Zeile 29: | ||
**A:** Das Betriebssystem. | **A:** Das Betriebssystem. | ||
- | **F:** Vor den Betriebssystemfunktionen steht ja häufig | + | **F:** Vor den Betriebssystemfunktionen steht ja häufig |
**Beisitzer: | **Beisitzer: | ||
Zeile 49: | Zeile 49: | ||
**A:** ... | **A:** ... | ||
- | **F:** Vorlesungsfolien wohl nicht gelesen. Was verarbeitet denn so ein Prozessor? | + | **F: |
**A:** Doch, eigentlich schon; einen Befehlsstrom. | **A:** Doch, eigentlich schon; einen Befehlsstrom. | ||
Zeile 93: | Zeile 93: | ||
**A:** Kann man unterschiedlich sehen, darauf zugreifen können sie zumindest nicht. | **A:** Kann man unterschiedlich sehen, darauf zugreifen können sie zumindest nicht. | ||
- | **F:** Ja, deshalb | + | **F:** Ja, deshalb |
+ | |||
+ | **A:** Ja, z.B. in der Mitte. Dann haben Kernel und Anwendungen jeweils nur noch halb so viel Platz. | ||
+ | |||
+ | **F:** Bei mir SP gehört? | ||
+ | |||
+ | **A:** Ja. | ||
+ | |||
+ | **F:** Welches klassische Adressraumkonzept aus SP haben wir hier? | ||
+ | |||
+ | **A:** ... | ||
+ | |||
+ | **F:** Ein Gatter/ | ||
**A:** Er sollte prüfen, ob es sich wirklich um eine User-Adresse handelt. Sonst könnte die Anwendung eine Kernel-Adresse übergeben und den Kernel dazu bringen, in seinem eigenen Adressraum Dinge zu tun. | **A:** Er sollte prüfen, ob es sich wirklich um eine User-Adresse handelt. Sonst könnte die Anwendung eine Kernel-Adresse übergeben und den Kernel dazu bringen, in seinem eigenen Adressraum Dinge zu tun. | ||
**F:** Genau, und wie überprüft man das? | **F:** Genau, und wie überprüft man das? | ||
+ | |||
+ | **A:** Adresse sollte auf der richtigen Seite der Grenze liegen. | ||
+ | |||
+ | **F:** Es muss ja keine einzige Grenze geben, die Bereiche können auch feiner gestreut sein. Wie prüfen wir das dann? | ||
**A:** Über den entsprechenden Eintrag in der Page-Table, muss present und für User erlaubt sein. | **A:** Über den entsprechenden Eintrag in der Page-Table, muss present und für User erlaubt sein. | ||
- | **F: | + | **F: |
+ | |||
+ | **A:** Betriebssystem kann nicht einfach auf User-Adressraum zugreifen, Spezialbefehle oder Fenster. | ||
+ | |||
+ | **F:** Fenster, was bedeutet das? | ||
+ | |||
+ | **A:** Teil eines Benutzer-Adressraums wird im Kernel eingeblendet, | ||
+ | |||
+ | **F:** Wie macht man das technisch? | ||
+ | |||
+ | **A:** Bei x86 gibt es da z.B. das Extra-Segment… | ||
+ | |||
+ | **F:** Na gut, etwas moderner vielleicht. Wie macht man es heutzutage? | ||
+ | |||
+ | **A:** User-Seite wird in Kernel-Page-Table gemapped. | ||
+ | |||
+ | **F:** Und wie finde ich diese Seite? | ||
+ | |||
+ | **A:** Über die User-Page-Table. | ||
+ | |||
+ | **F:** Das sind ja jetzt alles Mehradressraumsysteme. Was gibt es denn noch? | ||
+ | |||
+ | **A:** Einadressraumsysteme. | ||
+ | |||
+ | **F:** Wie funktionieren die? | ||
+ | |||
+ | **A:** Es gibt einen großen gemeinsamen Adressraum für alle Prozesse und das Betriebssystem mit Berechtigungen für die einzelnen Teile. | ||
+ | |||
+ | **F:** Wie funktioniert denn da die Isolation? | ||
+ | |||
+ | **A:** Capabilities geben vor, welcher Prozess auf welche Adressbereiche… | ||
+ | |||
+ | **F:** Capabilities kommen erst im zweiten Schritt, Isolation geht auch ohne sie. | ||
+ | |||
+ | **A:** ... | ||
+ | |||
+ | **F:** Wir brauchen etwas, das quasi jeder aktuelle Rechner hat. Man könnte Einadressraumsysteme also heute implementieren. | ||
+ | |||
+ | **A:** Eine MMU? | ||
+ | |||
+ | **F:** Nee, hier nicht. Wir groß muss denn der Adressraum sein? | ||
+ | |||
+ | **A:** So groß, dass alles rein passt. | ||
+ | |||
+ | **F:** Gut, aber 2³² ist schon ganz schön groß. Muss er trotzdem größer sein? | ||
+ | |||
+ | **A:** ... | ||
+ | |||
+ | **F:** Was könnte ein böser Prozess denn tun, um das System außer Kraft zu setzen? | ||
+ | |||
+ | **A:** Allen Speicher allokieren. | ||
+ | |||
+ | **F:** Genau, dann ist für das Betriebssystem auch nichts mehr übrig. Der Adressraum muss also möglichst groß sein – wie lang würde der Angriff mit 64 Bit dauern? | ||
+ | |||
+ | **A:** Lange. | ||
+ | |||
+ | **F:** Genau, 500 Jahre – so lang läuft mein Rechner nicht. Worauf muss ich denn achten, wenn ich in einem Einadressraumsystem speicher vergebe? | ||
+ | |||
+ | **A:** ... | ||
+ | |||
+ | **F:** Es soll ja niemand erraten könne, was wo liegt? Wie mach ich es also? | ||
+ | |||
+ | **A:** Zufällig. | ||
+ | |||
+ | **F:** Genau, und die Capabilties kommen erst im Schritt danach für Lesen/ | ||
+ | |||
+ | **A:** Ist ein Passwort. Wenn der Prozess die Rechte bei der Weitergabe einschränken möchte, ist es natürlich komplizierter. | ||
+ | |||
+ | **F:** Das Stichwort Passwort reicht mir schon. | ||
===== Bewertung ===== | ===== Bewertung ===== |