**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