next up previous contents
Next: Scheduling-Verfahren Up: Grundlagen Previous: Interrupt Service Threads (IST)   Inhalt

Java

Java ist eine objektorientierte Programmiersprache, die 1995 von Sun Microsystems Inc. vorgestellt wurde. Sie ermöglicht einfache plattformübergreifende Programmierung. Der kompakte Bytecode eignet sich gut für Anwendungen, bei denen das Programm über ein Netzwerk auf den Zielrechner geladen wird. Daher gründet sich der große Erfolg von Java auch auf die wachsende Beliebtheit des Internet.

Aber auch für eingebettete Systeme bietet der Bytecode Vorteile, da er Speicher spart. Normalerweise werden Java-Programme durch eine Java Virtual Machine interpretiert. Dafür braucht man aber einen schnellen Rechner, der für eingebettete Systeme normalerweise zu groß und zu teuer ist. Höhere Geschwindigkeiten erreicht man mit Just-in-Time-Compilern, die zur Laufzeit Teile des Programms in Maschinenbefehle übersetzen. Diese benötigen aber viel Speicher und erschweren zudem die Vorhersagbarkeit der Programme, was für Echtzeitsysteme ungünstig ist.

Eine Möglichkeit besteht darin, compilierte Java-Programme direkt in Hardware auszuführen. Dabei gibt es drei Klassen von Bytecodes. Die meisten Befehle werden direkt in einem Takt ausgeführt. Komplexere Befehle wie Array-Zugriffe werden durch ein Mikroprogramm ausgeführt, das zuerst die Adresse berechnet und dann den eigentlichen Zugriff ausführt. Sehr komplexe Befehle, wie etwa das Anlegen neuer Objekte, erledigen Trap-Routinen, also kurze Pogrammstücke. Für einige dieser Trap-Routinen gibt es sogenannte Quick-Varianten, die sich nach dem ersten Durchlauf die Adressen von Methoden oder Variablen merken und beim nächsten Aufruf direkt darauf zugreifen können.


next up previous contents
Next: Scheduling-Verfahren Up: Grundlagen Previous: Interrupt Service Threads (IST)   Inhalt
Alexander Schulz
2000-06-18