Sie befinden sich hier: Termine » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 2 » ueb3-2016-03-02-2   (Übersicht)

Uebung/JIT

Was haben wir in der Uebung gemacht?

  • Interpreter (inkl. durchfaedeln)
  • JIT, hier wurde gefragt:
    1. Trampolin & wie mans los wird
    2. Registervergabe per Linear Scan (inkl. grober Erklaerung wie man die Lebensspannen berechnet)
    3. inlining, was muessen wir beachten (Adressen & returns patchen, symb. Register umbennen)

Prolog

M.A.U.S? Match/Attach/Unify/Succeed

Simples Beispiel:

 g(a, b). 
 g(c ,d).

Anfrage: g(c, X), was macht M.A.U.S. damit?

Haskell

Haskell - Was muss man bei der Uebersetzung beachten

Closures fuer zB fluechtende/unterversorgte Fkts, grobes Beispiel per unterversorgtem +

Linker&Loader

Was passiert bei dynamischen shared libs?

Exceptions

Exceptions, wie geht das?

Stack Cutting & Stack Unwinding erklaeren

GC

Referenzzaehler erklaeren (& Nachteile? → Zykl. Muell wird nicht erkannt)

Mark&Sweep erklaeren (& Wurzeln nennen: Register, Stack und globale Var.)

Basisimplementierung ist rekursiv, warum ist das schlecht?

Rekursion bei Speicherknappheit

Kopierende Speicherbereiniger erklaeren (& Nachteile? → Nur halber speicher wird genutzt)

Generationelle Speicherbereiniger erklaeren

Zu gen. Speicherber.: Warum kann es in Haskell keine Referenzen in die junge Generation geben? Immutable Objekte

Programmiersprache D (C++ mit GC), wie bekommst du den GC kaputt? Adressen in Ints casten, in Dateien speichern oder per Netzwerk verschicken ;)

Prozedurale Abstraktion

Viel Code, aber System mit sehr wenig Speicher, was mach ich?

ARM Thumb (Subset des Instruktionssets mit kuerzerer Darstellung 16 anstelle von 32bit)

Instr. komprimieren (& beim Laden entpacken + Umrechnen von unkompr. auf kompr. Addr.)

XText

Was ist Metamodell/Modell?