Abstract

Virtuelle Maschinen haben sich als Basistechnologie für Programmiersprachen etabliert, eine "Java Virtual Machine" (JVM) befindet sich im Lieferumfang praktisch jedes Betriebssystems. Das Konzept virtueller Maschinen findet bereits seit mehr als drei Jahrzehnten Anwendung. Es muß daher erstaunen, daß die Einführung der Sprache Java im Jahre 1995 diesem Thema zu einem explosionsartigen Wachstum der Forschungsaktivität verhelfen konnte.

Um den Beitrag aktueller Arbeiten bewerten zu können, nehmen wir eine ausführliche Einordnung der behandelten Konzepte und Techniken vor. Dazu werden detailliert Architekturen und Realisierungstechniken virtueller Maschinen betrachtet.

Es wird gezeigt, daß moderne virtuelle Maschinen hochkomplexe Softwaresysteme darstellen. Aufgrund der engen Verzahnung der Komponenten erfordert ihre Implementierung die Kenntnis einer Vielzahl von Konzepten und Techniken aus allen drei genannten Bereichen. Weiterhin ist ein fundiertes Wissen der Bereiche "Maschinenarchitektur" und "Betriebssysteme" erforderlich, um eine effiziente Abbildung der Sprachabstraktionen auf die konkrete Plattform zu realisieren.