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.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
pruefungen:hauptstudium:ls4:bst-2016-10-05 [05.10.2016 10:54] – Zwischenstand F30pruefungen: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 `asmlinkage– zumindest in den alten Kernel-Versionen, die ich so kenne… steht das in neuen eigentlich immer noch?+**F:** Vor den Betriebssystemfunktionen steht ja häufig ''asmlinkage'' – zumindest in den alten Kernel-Versionen, die ich so kenne… steht das in neuen eigentlich immer noch?
  
 **Beisitzer:** Weiß nicht, den Teil schau ich mir nicht so oft an. **Beisitzer:** Weiß nicht, den Teil schau ich mir nicht so oft an.
Zeile 49: Zeile 49:
 **A:** ... **A:** ...
  
-**F:** Vorlesungsfolien wohl nicht gelesen. Was verarbeitet denn so ein Prozessor?+**F:** Aha, Vorlesungsfolien wohl nicht gelesen. Was verarbeitet denn so ein Prozessor?
  
 **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 existiert er für sie auch nicht. Wenn bei einem Systemaufruf jetzt ein Zeiger übergeben wird, kann der Kernel den einfachen verwenden oder muss er noch irgendwas prüfen?+**F:** Ja, deshalb sage ich er existiert für sie auch nicht. Wir haben hier also einen Adressraum, der irgendwo geteilt ist (zeichnet ihn hin). 
 + 
 +**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/Fence. Wenn jetzt bei einem Systemaufruf ein Zeiger übergeben wird, kann der Kernel den einfachen verwenden oder muss er noch irgendwas prüfen?
  
 **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:** TODO+**F:** OK, was ist denn das Exklusionsmodell? 
 + 
 +**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, um darauf zuzugreifen. 
 + 
 +**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/Schreiben und ähnliche Rechte. So eine Capability zum Lesen und Schreiben kann ja von Prozess zu Prozess weitergegeben werden, ohne dass das Betriebssystem davon weiß. Wie geht das? 
 + 
 +**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 =====