Sie befinden sich hier: Termine » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 3 » Virtuelle Maschinen   (Übersicht)

Virtuelle Maschinen

Prüfer: Volkmar Sieh

  • Nennen Sie eine Virtualisierungslösung: Bibliotheksbasiert
  • Was ist das?
  • Welche Vor-/Nachteile?
  • Was passiert, wenn ich wine implementieren will und Windows bei einem Update die Syscall-Nummern ändert? – Gar nichts, die Windows syscalls sind nicht relevant.
  • Wie kann ich ein statisch gelinktes Linux-Binary unter BSD ausführen? – Mit einer eigenen Betriebssystem-Personality
  • Wie erkenne ich, welche Personality ich anbieten soll? – Typ/Header der auszuführenden Datei.
  • Was könnte noch ein Nachteil sein, Software statt Hardware nachzumachen? – Er wollte darauf hinaus, dass sich Hardware nicht ändert.

Themenwechsel.

  • Was ist Emulation?
  • Wie unterscheided sie sich von Simulation? – Er wollte hören, dass die Grenze fließend ist und von der Schicht abhängt, die simuliert/emuliert werden soll.
  • Warum ist es langsam? – CPU simulation langsam
  • Lohnt es sich dann überhaupt, wenn so viel langsamer? – Auf IO warten muss man eh.
  • Busse, Chips, Komponenten. Wie krieg ich das schnell? – Callbacks und Cachen.
  • Bios ändert die PCI belegung, was jetzt? – Cache invalidieren.
  • Wie kann ich es schneller machen? – JIT
  • Was ist ein JIT?
  • Warum ist das schneller? Der compiler braucht ja auch Zeit. – compile once, execute often
  • Bei Kontextwechseln wird ja immer neuer Code eingeblendet, also muss ich immer alles neu übersetzen. Ist das nicht langsam? – Braucht halt gute Invalidierungsstrategie, die über Kontextwechsel hinaus speichert.
  • Preisfrage. Ich cache ja virtuelle Adressen, die sind nicht eindeutig, bei Adressraumwechseln. Was tun? – CR3 mit als key verwenden.