Hallo!
Ich schreibe gerade meine Diplomarbeit über die Möglichkeit (oder eben auch nicht!), echtzeitfähige Java-Programme zu schreiben (auf einer bestimmten Hardware mit einer echtzeitjähigen VM von HP). Nun sollte ich zu Beginn Bewertungskriterien aufstellen, mit denen ich dann später beurteilen muß, inwieweit Java für diese Problemstellung denn überhaupt geeignet ist.
Hab schon im Internet gestöbert, aber irgendwie kommt da nix Brauchbares raus…
Fallen euch spontan Links, Bücher, etc. zu diesem Thema ein oder habt ihr selber schon Erfahrung(en) damit?
Bin für jeden Hinweis dankbar!
Viele Grüße und besten Dank schon mal im Voraus,
Thomas
Moin
Ich schreibe gerade meine Diplomarbeit über die Möglichkeit
(oder eben auch nicht!), echtzeitfähige Java-Programme zu
schreiben (auf einer bestimmten Hardware mit einer
echtzeitjähigen VM von HP).
Ohne die VM genau zu kennen:
Java hat 2 Probleme:
-
die garbage-collecton. (Ich nemm an die VM kann sich beherrschen oder reagiert zumindest vorhersagbar)
-
die Abbildung der einzelen Java-(User-level)-Threads auf einen Kernel-Level-Thread. (Sehr wichtig beim Aufruf von blockierenden nativ-Methoden, in den ersten sun-JVM sehr schlecht gelöst)
Nun sollte ich zu Beginn
Bewertungskriterien aufstellen, mit denen ich dann später
beurteilen muß, inwieweit Java für diese Problemstellung denn
überhaupt geeignet ist.
Ich würd die üblichen Kriterien, also Vorhersagbarkeit, Kontrollierbarkeit, Variation in der Abarbeitungsgeschwindgkeit einer Methode bei gleichen Ein- und Ausgaben (Stichwort JIT resp. hot-spot-C.) ausgehen. Dazu müsste man die VM kennen(lernen) und dann komplett auseinandernehmen.
Besonders auf die Speicherverwaltung würd ich achten, da java kein „free()“ kennt. Da muss in der VM was interessantes verbaut sein.
cu