Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 2 » ueb1-vm-2011_3   (Übersicht)

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
pruefungen:hauptstudium:ls2:ueb1-vm-2011_3 [14.10.2011 09:25] – angelegt Raimpruefungen:hauptstudium:ls2:ueb1-vm-2011_3 [14.10.2011 09:31] (aktuell) Raim
Zeile 1: Zeile 1:
 +**Pruefer:** Michael Philippsen, Volkmar Sieh \\ 
 +**Themengebiete:** Uebersetzerbau 1, Virtuelle Maschinen \\
  
 Uebersetzerbau 1: Uebersetzerbau 1:
Zeile 5: Zeile 6:
   * Bootstrapping:   * Bootstrapping:
     * "Nehmen Sie mal Ihre Lieblingssprache und schreiben sie einen Compiler dafür"     * "Nehmen Sie mal Ihre Lieblingssprache und schreiben sie einen Compiler dafür"
-    * Habe C++ genommen und wollte als Subset C nehmen. Ihm war C aber immernoch zu groß. Er wollte aber genau wissen, was man alles weglassen sollte und ob man den Compiler dann wirklich in Maschinensprache schreiben wuerde.+    * Habe C++ genommen (Nein, nicht meine Lieblingssprache! Aber ich dachte halt an das einfachere Subset...) und wollte als Subset C nehmen. Ihm war C aber immernoch zu groß und wollte genau wissen, was man alles weglassen sollte und ob man den Compiler dann wirklich noch in Maschinensprache schreiben wuerde.
   * Semantische Analyse   * Semantische Analyse
     * gegebener Code: int c = true + 6;     * gegebener Code: int c = true + 6;
Zeile 16: Zeile 17:
 Virtuelle Maschinen: Virtuelle Maschinen:
  
-   * Was muss man denn alles so machen, wenn man einen kompletten PC emulieren will? (einzelne Komponenten emulieren, usw.) +   * Was muss man denn alles so machen, wenn man einen kompletten PC emulieren will? \\ (einzelne Komponenten emulieren, usw.) 
-   * Speicherzugriffe (MMU emulieren, evtl. direkten Zugriff erlauben, nur bestimmte Seiten mappen)+   * Speicherzugriffe \\ (MMU emulieren, evtl. direkten Zugriff erlauben, nur bestimmte Seiten mappen)
    * Wie funktionieren I/O-Zugriffe?    * Wie funktionieren I/O-Zugriffe?
-   * Wie sind die Komponenten denn verbunden? (Busse)+   * Wie sind die Komponenten denn verbunden? \\ (Busse)
       * Wie macht man das effizient (Tabelle mit Mapping von Adressen zu Devices anlegen)       * Wie macht man das effizient (Tabelle mit Mapping von Adressen zu Devices anlegen)
-      * Wann fuellt man das aus? (Da wollte er hoeren, dass man das inkrementell zur Laufzeit machen kann, waehrend ich irgendwie an der Konfiguration festgehalten hatte)+      * Wann fuellt man das aus? \\ (Da wollte er hoeren, dass man das inkrementell zur Laufzeit machen kann, waehrend ich irgendwie an der Konfiguration festgehalten hatte)
    * JIT erklaeren    * JIT erklaeren
-   * Wie kann man das machen, wenn man nur ein Software-Programm emulieren moechte? (JIT-freundliche Hardware, was kann man alles weglassen, usw.) +   * Wie kann man das machen, wenn man nur ein Software-Programm emulieren moechte? \\ (JIT-freundliche Hardware, was kann man alles weglassen, usw.) 
-   * [Die letzte Frage war dann so ein bisschen ein Mix aus Uebersetzerbau und VM:] Wie ist das denn bei der JVM, kann man den Bytecode so einfach auf x86 ausfuehren? (Kellermaschine vs. Registermaschine, Umwandlung noetig, Stichworte Registerfärben und Lebendigkeit von Variablen)+   * [Die letzte Frage war dann so ein bisschen ein Mix aus Uebersetzerbau und VM:] Wie ist das denn bei der JVM, kann man den Bytecode so einfach auf x86 ausfuehren? \\ (Kellermaschine vs. Registermaschine, Umwandlung noetig, Stichworte Registerfärben und Lebendigkeit von Variablen)