Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 4 » vm-2017-03-09

Pruefer: Dr. Volkmar Sieh, 09. Maerz 2017

Die Antworten sind nur stichpunktartig und spiegeln nicht das ganze Gespraech wieder;-)

1. Ein Freund kommt zu ihnen und hat einen dicken Server gekauft, auf dem er jetzt VMs aufsetzen will um Kunden Webserver zu vermieten. Wie wuerden Sie das machen?

OS-basiert

2. Jetzt kommt aber ein Kunde und will einen Windows-spezifischen Webserver, geht das?

→ Bibliotheks-basiert

3. Hat das jetzt irgendwelche Performance einbussen?

→ Ja wenn es um PID-Dinge geht muss noch ein Praefix davor gepackt werden, das kostet minimal

4. Jetzt haben Sie in der Uebung ja was anderes gemacht?

→ Emulation AVR

5. Was muss man denn genau machen um z.B. ein „ADD“ zu emulieren?

→ …

6. Man fuehrt ja nicht nur Instruktionen aus, was macht man noch?

→ Interrupts, Timer

7. Ok, Sie sagten was von 'der Timer laeuft mit Simulationsvortschritt', was heisst das denn?

→ …

8. Was koennte man noch machen?

→ Realtime-Vortschritt, Dynamisch

9. Wie funktionert, dass denn mit beim Dynamischen?

→ …

10. Wie laeuft denn das mit dem Zeitvortschritt bei JIT

→ Immer nur nach Block-Ende ganzen 'Block-Schritt' machen

11. Wie stelle ich denn sicher dass man ein Block-Ende erreicht?

→ Counter (FAU-Machine) oder Signal (Qemu)

12. Wie funktionert denn dass mit dem Signal bei Qemu?

→ …

13. Ok die JVM hat ja noch ein paar Optimierung?

→ Exceptions, Interrupts,….

14. Wie laeuft dass denn mit den sicheren Pointern

→ Ueberpruefen beim Compilieren

15. Gibts denn noch Null-Pointer zugriffe?

→ Ja, z.B. Ende einer Verketteten-Liste

16. Und wie handelt die JVM solche?

→ Signal-Handler fuer Segfault

17. Die JVM braucht aufgrund der sicheren Pointer keine MMU, aber mal angenommen man haette sowas wie die JVM nur ohne sichere Pointer?

→ Es wird nur ein Programm ausgefuhert, man muss also 'nur' sicherstellen, dass die Anwendung nicht die JVM selber kaputt macht → MMU mit TLB

18. Wie implementiert man jetzt so einen TLB?

→ Hash-Tabelle

19. Was werden jetzt fuer Werte in dieser Hash-Map gespeichert?

→ Direkt ein Pointer in den simulierten Speicher wenns schnell gehen soll