Java — Änderungen 10747 → 10750

Zeile 18: Zeile 18:
 
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 [[:Kategorie:Hardware | Hardwarezugriffe]] in externen Funktionen implementieren müsste, die dann beim Linken eingebunden werden können.
+
Praktisch ist das jedoch nur mit relativ hohem Programmieraufwand möglich. Denn Java unterstützt weder Zeiger noch [[Inline-Assembler | 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.
+
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) oder eine Assembler-Datei, sofern nicht bei den C-Funktionen Inline-Assembler verwendet wurde.  
  
 
=== Beispielkernel in Java ===
 
=== Beispielkernel in Java ===
 
TODO...
 
TODO...
  
−
== bekannte Projekte ==
+
== Bekannte Projekte ==
 
Ein Betriebssystem, das auf Java basiert, nennt sich JOS (Java Operating System) und ist unter [http://jos.sourceforge.net/ sourceforge.net] zu finden.
 
Ein Betriebssystem, das auf Java basiert, nennt sich JOS (Java Operating System) und ist unter [http://jos.sourceforge.net/ sourceforge.net] zu finden.