Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: sfan am 14. April 2011, 18:08

Titel: Mit gcj(Java) DIREKT in den Speicher schreiben
Beitrag von: sfan am 14. April 2011, 18:08
Hallo,
ich dachte mir ich schreibe einen Java HelloWorld-Kernel.
Ich habe mir mit apt gcj installiert um die .java Dateien zu komplieren.
Nun zur Frage:
Ist es mit gcj möglich wie bei C ("(char*) 0xABCDE") in den Speicher zu schreiben?
Falls es nicht möglich ist:
Wie schreibe ich einen Textmodustreiber in Java(gcj)?
Zu gcj: Vielleicht gibt es da ja eine Möglichkeit.

Sfan
Titel: Re:Mit gcj(Java) DIREKT in den Speicher schreiben
Beitrag von: kevin am 14. April 2011, 19:12
Wenn du nicht in der Lage bist, das selbst zu beantworten, ist Java nicht die richtige OS-Dev-Sprache für dich.
Titel: Re:Mit gcj(Java) DIREKT in den Speicher schreiben
Beitrag von: sfan am 14. April 2011, 19:35
Das Problem ist nur das es keine Pointer gibt.
Wie soll ich es sonst machen?


Sfan
Titel: Re:Mit gcj(Java) DIREKT in den Speicher schreiben
Beitrag von: rizor am 14. April 2011, 20:46
Es kann sein, dass ich mich taeusche, aber ich glaube, dass du eine native Bibliothek bauen musst.
Du musst glaub ich diese ganzen IO-, Memory-, etc.-Komponenten in C oder so bauen und dann dem linker uebergeben.
Soweit ich das verstanden habe, bleibt es eine art VM (also kein direkter Zugriff auf die Hardware).
Muesste vermutlich so sein wie bei Singularity, da ist der Kernel ja selbst ein abgeschlossenes System.
Musst du dir mal anschauen.
Es gibt aber auch ein paar Java-Kernel. Befrag einfach mal google, die wissen sowas.
Titel: Re:Mit gcj(Java) DIREKT in den Speicher schreiben
Beitrag von: sfan am 15. April 2011, 06:51
Es kann sein, dass ich mich taeusche, aber ich glaube, dass du eine native Bibliothek bauen musst.
Du musst glaub ich diese ganzen IO-, Memory-, etc.-Komponenten in C oder so bauen und dann dem linker uebergeben.
Das werde ich machen!
gcj kann man sogar direkt asm und c dateien übergeben.
Gibt es in Java so etwas wie "extern" in C und Asm?


Sfan
Titel: Re:Mit gcj(Java) DIREKT in den Speicher schreiben
Beitrag von: DesL am 15. April 2011, 14:31
a) NACHMACHER :D
b) es gibt "native" das bei Memberfunktionen dafür sorgt, das die nicht in der .java Datei implementiert sondern nur deklariert werden müssen, dann kann man gegen entsprechenden anderen Code linken.
c) es ist ein enormer Aufwand unter Java, schon alleine weil eine Java-Array nicht mit C/C++ kompatibel ist, und weil sich auch die primitiven Datentypen tlw anders verhalten.
Titel: Re:Mit gcj(Java) DIREKT in den Speicher schreiben
Beitrag von: sfan am 15. April 2011, 14:35
a) NACHMACHER :D
Willst du einen Java HelloWorld-Kernel wie ich schreiben oder einen ganzen Kernel?
c) es ist ein enormer Aufwand unter Java, schon alleine weil eine Java-Array nicht mit C/C++ kompatibel ist, und weil sich auch die primitiven Datentypen tlw anders verhalten.
Da hast du wohl leider recht :(


Sfan
Titel: Re:Mit gcj(Java) DIREKT in den Speicher schreiben
Beitrag von: DerHartmut am 15. April 2011, 14:36
Ok, DU, der den Kernel schreiben will, fragst UNS, wie man den schreibt ... wtf? Wir wollen den doch nicht schreiben! Wenn du den schreiben willst musst du dich selbst mit den Fragen auseinander setzen, oder? Und wenn du dir einfachste Fragen nicht beantworten kannst oder willst oder nur eine Sekunde Denkschmalz einsetzen willst dann ist das, wie taljeth schon sagte, nicht die richtige Sprache für dich.
Titel: Re:Mit gcj(Java) DIREKT in den Speicher schreiben
Beitrag von: sfan am 15. April 2011, 14:38
... dann ist das, wie taljeth schon sagte, nicht die richtige Sprache für dich.
Da habt ihr leider recht.
... oder willst oder nur eine Sekunde Denkschmalz einsetzen willst ...
Ich bin kein Java-Experte und "darf" sowas fragen.

Titel: Re:Mit gcj(Java) DIREKT in den Speicher schreiben
Beitrag von: DesL am 15. April 2011, 14:40
Wie der aufmerksame Leser in #lost eventuell mitbekommen hat, arbeite ich seit geraumer Zeit an einem Java-Testkernel, und glaub mir: das ist eine Heidenarbeit. Machs lieber in irgendeiner esoterischen Programmiersprache, da sieht das ganze meist auch noch lustig aus  ;D
Titel: Re:Mit gcj(Java) DIREKT in den Speicher schreiben
Beitrag von: DerHartmut am 15. April 2011, 14:43
Ein Betriebssystem sollte man dann programmieren, wenn man die Sprache beherrscht. Das hier ist kein Java-Forum.

So viel von meiner Seite, ich geh in den Keller mich weiter aufregen.