Meiner Meinung nach sollte dieser Artikel unbedingt noch folgende Inhalte bekommen: * Was ist an Java gut/schlecht für die Betriebssystementwicklung? * Beispielkernel in Java * Refrenzprojekte Ansonsten wäre dieser Artikel ohne große (Achtung, Schimpfwort) Relevanz, denn dann könnten wir ja sogar VB.NET in das Wiki aufnehmen. --[[Benutzer:Hartmut|DerHartmut]] 18:21, 19. Aug. 2012 (CEST) :: Ich finde die Verlinkung auf Wikipedia diskutabel, was eigenes kurz umreißen ODER ganz weg. Und du willst nen Beispielkernel implementieren? Viel Spass, ich kann aus eigener Erfahrung sagen, dass seit der Umstellung/Zusammenführung mit dem Eclipsecompiler gilt "GCJ is a bitch" --[[Benutzer:Dem epOS sein Linus|DesL]] 21:10, 19. Aug. 2012 (CEST) :: Jo, die Verlinkung auf die Wikipedia muss nicht sein, da kann man selber ein wenig reinschreiben (das Wichtigste steht ja schon im ersten Absatz). Ich persönlich werde mich hüten, einen Kernel in Java zu implementieren, das überlasse ich dem Autor des Artikel ;-) --[[Benutzer:Hartmut|DerHartmut]] 12:01, 20. Aug. 2012 (CEST) :: @Hartmut: FreeBASIC haben wir ja auch aufgenommen. Zwar mit Beispielkernel, aber es wird trotzdem wohl niemand auf die Idee kommen, ein OS mit FreeBASIC zu schreiben. --[[Benutzer:Roadrunner | Roadrunner]] 15:06, 20. Aug. 2012 (CEST) ::: Meine Intention war diese, dass der Artikel schon zeigen sollte, wie so ein Beispielkernel in Java (siehe z.B. [[Ada]] oder [[D]]) aussieht. Denn ohne Beispielkernel und/oder Referenzprojekte könnte man theoretisch ja auch Lisp ins Wiki packen - aber das wäre ja nicht Sinn der Sache. Sinn der Sache ist, Sprachen aufzuzeigen, in welchen man ein Betriebssystem implementieren könnte. --[[Benutzer:Hartmut|DerHartmut]] 15:29, 20. Aug. 2012 (CEST) :::: Da stimme ich dir vollkommen zu. Allerdings programmiere ich selbst nicht in Java, weshalb ich mir mit einem Beispielkernel schwer tun würde. Aber wie gesagt, DesL hat [[TODO#Neu_erstellen | hier]] angekündigt, dass er das tun würde. Er hat auch einen Artikel angekündigt, aber das habe ich ja jetzt schon mal angefangen. --[[Benutzer:Roadrunner | Roadrunner]] 16:07, 20. Aug. 2012 (CEST) ::: Auch wenn es eigentlich off-topic ist, kann ich mich einfach nicht zurückhalten, einen [http://sourceforge.net/projects/frostkernel/?source=directory Gegenbeweiß] zu posten. Ansonsten schließe ich mich DerHartmut an, dass ein Beispielkernel dazugehört. Der FreeBASIC Artikel sagt nämlich nicht nur, dass ein Kernel möglich ist, sondern er zeigt auch, wie ein solcher Kernel aussehen könnte bzw. wie man so einen anfängt. Allerdings denke ich auch, dass ein Beispielkernel in Java wohl sehr viel Aufwand bedeutet, daher könnte der Kernel wohl noch auf sich warten lassen. --[[Benutzer:TheThing|TheThing]] 16:39, 20. Aug. 2012 (CEST) :::: Ich hatte auch nicht wirklich vor, einen Kernel in Java zu implementieren. Doch ich habe auf der TODO - Liste gesehen, dass DesL geschrieben hat, dass er das tun würde. Der Artikel hier stellt ja nur das Grundgerüst dar.
Übrigens: Die Verlinkung auf Wikipedia habe ich eingefügt, weil die Geschichte von Java für die Betriebssystemprogrammierung eigentlich völlig unwichtig ist. Interessierte sollen aber trotzdem eine Möglichkeit haben, das Nachzulesen, ohne großartig danach suchen zu müssen. --[[Benutzer:Roadrunner | Roadrunner]] 12:16, 20. Aug. 2012 (CEST) ::::: Ich glaube die meisten sind hier in der Lage selber bei Wiki nachzugucken. Und hast du in der TODO-Liste mal geguckt was fürn Datum da steht? :D Eine andere Sache noch: du machst immer . Warum? Und du benutzt generell an sehr vielen Stellen überflüssige Bindestriche! Auf den Diskussionsseiten ist mir das ja Wumpe, aber im Artikel müssen andere das dann wieder ausbessern. Kannst du nochmal über deine Sachen bitte drüber gucken? --[[Benutzer:Dem epOS sein Linus|DesL]] 21:34, 20. Aug. 2012 (CEST) :::::: Ich habs doch nur gut gemeint, was die Verlinkung betrifft. Dann entferne ich sie halt wieder. Was die TODO - Liste betrifft: Ich habe das Datum durchaus gesehen, ich dachte nur, der Kernel wäre mittlerweile mal fertig ... Und zu den Bindestrichen: Alles auseinander zu schreiben, ist nun mal schlechtes Deutsch. Und wenn man Wörter nicht zusammen schreiben kann, dann setze ich eben Bindestriche. Außedem gibt es genügend andere Wiki - Artikel in schlechterem Deutsch als das hier ('''überflüssige''' Bindestriche sind nicht falsch). Übrigens hat das einen guten Grund, warum ich die Bindestriche zwischen Leerzeichen setze: Häufig entstehen durch Bindestriche längere Konstrukte. Wenn man nun das Browserfenster verkleinert, werden die Zeilen nun schon früher umgebrochen, aber immer, ohne ein Wort zu zerteilen. Normale Bindestriche würden dies nicht möglich machen, und deshalb verwende ich Leerzeichen. -- [[Benutzer:Roadrunner | Roadrunner]] 18:25 23. Aug. 2012 (CEST) ::::::: So, die Bindestriche sind auf allgemeinen Wunsch jetzt ohne Leerzeichen geschrieben. --[[Benutzer:Roadrunner|Roadrunner]] 19:08, 23. Aug. 2012 (CEST) ::::::: Überflüssige Bindestriche sind in vielen Fällen sehr wohl Falsch. Diese "Mode" sehr sehr viele Bindestriche zu setzen ist wohl auch eine Sache die sich in der letzten Zeit aus dem Englischen festgesetzt hat. Wie dem auch sei, Leerzeichen vor und nach Bindestrichen machen daraus einen Gedankenstrich, ob der jetzt ein Anderes Unicode Zeichen hat oder nicht. Nur so als Tipp ;D --[[Benutzer:Dem epOS sein Linus|DesL]] 15:46, 24. Aug. 2012 (CEST) :::::::: Ich finde, so was ist Ansichtssache. Aber es ist ja eigentlich auch egal - dann lasse ich die Leerzeichen eben weg... --[[Benutzer:Roadrunner|Roadrunner]] 17:02, 25. Aug. 2012 (CEST) == Beispielkernel == Ich kann eigentlich kein Java, aber ich habe trotzdem mal versucht, einen Beispielkernel zu entwerfen. Da in Java keine Zeiger unterstützt werden, muss man Speicherzugriffe über externe Funktionen realisieren. Dazu bietet sich C oder von mir aus auch C++ an: //c_file.c void write(unsigned long int addr, char value) { *((char *) addr) = value; return; } Nun kommen wir zum Java-Teil. Soweit ich weiß, verwendet Java eine Klasse namens String, um Zeichenketten darzustellen. Diese kommt aus der Runtime-Bibliothek, also lassen wir sie lieber weg. Ansonsten weiß ich nicht, wie man Zeichenketten in Java sinnvoll implementieren kann, so ganz ohne Zeiger - schließlich kann man char-Arrays in Java nicht einfach mit char xy[] = "abc"; zuweisen. Da ich - wie gesagt - kein Java-Programmierer bin, lassen wir den Kernel nur ein "X" darstellen: //kernel.java public class kernel { public static void main() { c_file.write(0xb8000, 0x58); //'X' an Pos. 1 c_file.write(0xb8001, 0x07); //Farbe hellgrau auf schwarz } } Das ganze könnte man dann (hoffentlich) mit folgenden Befehlen kompilieren: gcj -c kernel.java -o kernel.o g++ -c c_file.c -o c_file.o ld -o kernel kernel.o c_file.o --entry main --Ttext=... Vielleicht kann ja jemand, der in Java bessere Kenntnisse hat, das ganze mal testen und ggf. überarbeiten. Ich kann nur hoffen, dass das wirklich funktioniert... --[[Benutzer:Roadrunner|Roadrunner]] 15:06, 10. Sep. 2012 (CEST) :: glaubst du wirklich das es so einfach ist? :D Java hat unglaublich viele Symbole die man entwirren/gegen die man linken muss u.A. fürs erstellen von Objekten, Reflection, Garbage Collector um nur ein Paar zu nennen. Es hat schon seinen Grund warum das nicht für OS-Dev eingesetzt wird. Und zu deinem Beispiel: Woher soll denn class kernel in kernel.java wissen was c_file ist? nachdem was du schreibst wäre das ne klasse mit einem static member write. Aber diese Klasse existiert nirgendwo. Woher soll GCJ den wissen was für Parameter die (imaginäre) Funktion der (imaginären) Klasse hat? Das kann so schonmal nicht Kompilieren, und wenn du es noch schaffen solltest, dass Java das irgendwie trotzdem Baut, bringt das linken dir mindestens drei Dutzend unresolved references. Und nein, das ist nicht Übertrieben. --[[Benutzer:Dem epOS sein Linus|DesL]] 16:29, 10. Sep. 2012 (CEST) ::: Sonst machts doch auch keiner. Das ist doch wenigstens schon mal ein Anfang - deswegen hab ich den Code ja auch auf die Diskussionsseite gestellt. Dass der Kernel so nicht funktioniert, kann ich mir aufgrund meiner begrenzten Java-Kenntnisse gut vorstellen. ::: Und einfach ist in diesem Wiki sowieso nichts. --[[Benutzer:Roadrunner|Roadrunner]] 20:27, 10. Sep. 2012 (CEST) :::: "Sonst machts doch auch keiner" ist falsch. Und "nicht so einfach" war schon in relation mit anderen Sprachen für Kernel gemeint.... --[[Benutzer:Dem epOS sein Linus|DesL]] 20:37, 10. Sep. 2012 (CEST) :::: Und sonst wäre das Forum da vielleicht eher die richtige Anlaufstelle für ;-) forum.lowlevel.eu oder links in der Naviation... --[[Benutzer:Dem epOS sein Linus|DesL]] 20:42, 10. Sep. 2012 (CEST)