Java   Implementierungsstrategien für die JVM  

... [ Seminar "Java und Werkzeuge für das Web" ]  ... [ Inhaltsverzeichnis ]  ... [ zurück ]  ... [ weiter ] ...

 
Grundbegriffe


Assembler

Assembler Für jeden Computertyp gibt es spezielle, auf den Befehlsvorrat des Computers zugeschnittene Assemblersprache. Der Prozess der 1:1 Übersetzung dieser Assemblersprache in die Maschinensprache heißt Assemblieren.

   


Compiler

Compiler Allgemein:

Ein Compiler erzeugt aus einem Quellprogramm, das in einer Quellsprache geschrieben ist, ein Zielprogramm in einer Zielsprache

Auf dem Bild:

  • Hochsprache wird durch Übersetzer (Compiler) in Maschinensprache übersetzt
  • Das erzeugte Programm wir dann auf die Zielmaschine geladen und Ausgeführt
  • Die Interpretation der Befehle erfolgt direkt durch die Hardware / Betriebssystem der Zielmaschine
  • Jede Zielsprache benötigt eigenen Übersetzer
  • Weiterhin
    •  Laufzeitsystem
    •  Speicherverwaltung
    •  Typprüfung
    •  etc.
  • Betriebssystembibliotheken  müssen dazugebunden werden (Linker)

Laufzeitssystem

Bereitstellung aller Routinen, die zur Ausführung eines Programmes in einer Programmiersprache erforderlich sind (Interaktionen mit dem Betriebssytem, Speicheranforderungen, Prüfungen der dynamischen Semantik, Fehlerroutinen usw.)

Linken: Überführung des vorliegenden Maschinencodes in ein ausführbares Programm

  • Binden aller Teile des Programmes (getrennt übersetzte Dateien, Bibliotheksfunktionen, Fehler- und Speicherverwaltungsroutinen des Laufzeitsystems) zu einem lauffähigen Programm

  • Herstellung eines einheitlichen (virtuellen) Adreßraumes für das gesamte Programm (Coderaum für den Programmtext, Datenraum für die globalen Daten, Stack für die lokalen Daten und Heap für die dynamischen Daten)

Laden: Laden des ausführbaren Programmes in den Arbeitsspeicher

  • Aufruf des Programmes

  • Zuweisung bestimmter physikalischer Adreßbereiche des Arbeitsspeichers

  


index