Java — Änderungen 10682 → 10683

Zeile 16: Zeile 16:
 
Wie oben bereits erwähnt, gibt es durchaus auch Java - Compiler, die keinen Bytecode, sondern normalen Maschinencode erzeugen können, z. B. Excelsior JET und der GNU Compiler for Java (GCJ). Dadurch ist es zumindest theoretisch möglich, einen [[Kernel]] in Java zu implementieren.
 
Wie oben bereits erwähnt, gibt es durchaus auch Java - Compiler, die keinen Bytecode, sondern normalen Maschinencode erzeugen können, z. B. Excelsior JET und der GNU Compiler for Java (GCJ). Dadurch ist es zumindest theoretisch möglich, einen [[Kernel]] in Java zu implementieren.
  
−
Praktisch ist das jedoch nur mit relativ hohem Programmieraufwand möglich. Denn Java unterstützt weder Zeiger noch Inline - [[Assembler]], weshalb man direkte Hardwarezugriffe in externen Funktionen implementieren müsste, die dann beim Linken eingebunden werden.
+
Praktisch ist das jedoch nur mit relativ hohem Programmieraufwand möglich. Denn Java unterstützt weder Zeiger noch Inline - [[Assembler]], weshalb man direkte [[:Kategorie:Hardware | Hardwarezugriffe]] in externen Funktionen implementieren müsste, die dann beim Linken eingebunden werden können.
 +
 
 +
Beispielsweise bräuchte man eine Java - Datei, die den Kernel enthält, eine C - Datei, in der grundlegende Funktionen zum Hardwarezugriff implementiert sind (z. B. eine Funktion, die den Wert der angegebenen Speicheradresse zurückgibt bzw. ändert) und eventuell noch eine Assembler - Datei, sofern nicht bereits bei den C - Funktionen Inline - Assembler verwendet wurde.
 +
 
 +
=== Beispielkernel in Java ===
 +
TODO...