Java Betriebssystem

B

Bluewhile

Hallo Community,

ich möchte mit meinen Freunden ein Betriebssystem schreiben. So spätestens jetzt habt ihr mich für verrückt erklärt :D
Aber back to topic: Das System sollte möglichst in Java gehalten sein (außer Kernel -> Assembler oder Linux!?). Hat vielleicht jmd Ahnung wie so etwas gehen könnte? Das OS soll ja kein Microsoft Killer sein, sonder ein just4fun Projekt. Ich wäre schon froh überhaupt iwas zum booten zu kriegen.

Also wie gesagt:

Kernel: Micro Assembler / Linux Kernel
Sprache: Java SE oder muss es EE sein?
Ähnlich: JNode (http://www.jnode.org/)

Vorkenntnisse in Java sind natürlich vorhanden. Ist es also möglich bzw hat jmd Tutorials? Unser IT-lehrer meinte man könne mit Java Handy-Firmware's schreiben und das dazu noch recht einfach....

Also haut rein in die Tasten :D
 
muahaha wir sind beide verrückt :)

Aber mit Java wird das wohl eher nichts.

Wenn ihr einen Linuxkernel verwendet, geht von Haus aus einmal kein Java.
Die Java VM ist ziemlich sicher nicht im Kernel, und wenn ihr ein Linuxdistribution mit JavaVM nehmt, ist es eben nicht mehr nur der Kernel, dann habt ihr ein komplettes Betriebssystem schon da.

Vaiante Eigener Kernel (sollte eigentlich für ein eigenes "Betriebssystem" schon da sein):
Wäre ja alles gut und schön, aber woher kommt die JavaVM?
Selber schreiben...
Und bevor die auch nur funktionieren kann, muss euer Betriebssystem einmal mit Festplatten, Grafikkarten und ähnlichem ordentlich zurechtkommen...das kann dauern

Wenn ihr ein eigenes OS schreiben wollt, bleibt besser beim guten alten C.
Und seit nicht enttäuscht, wenn nach ein paar Jahren noch immer der Kernel in Arbeit ist.
 
Firmware schreiben? Oo
Du weißt schon, das Java in einer VM abläuft? Deswegen ist es nicht möglich, ein Betriebsystem darin zu schreiben, ist ja nichtmal Maschinen- sondern Bytecode. Die GUI könntest du (rein theoretisch) darin schreiben, die hat mit dem OS aber so gut wie gar nichts zu tun. Das wäre sonst, als würdest du bei Windows ein rießiges Fenster über den Monitor ziehen, darauf Icons darstellen und sagen, du hättest eine neue Windows-Version geschrieben. x)
Und wenn du den Kernel selbst schreiben willst würde ich dir 1. Das low-level-Magazin empfehlen und 2. auf C oder C++ und nicht Assambler setzen (ausgenommen Boot-Loader und ein paar Kleinigkeiten), da es wesendlich einfacher ist. (Und du dir mehr Hilfe als bei ASM besorgen kannst.)

Und wenn er wirklich gesagt hat, das es einfach ist eine Firmware zu schreiben, würde ich aufhören ihm zuzuhören, denn "einfach" ist immer subjektiv. Jeder Coder mit 3 Jahren Erfahrung fällt es wohl sehr einfach ein Pong zu schreiben, ein absoluter Anfänger wird dabei schon ein paar Stunden brauchen.
 
Es muss einfach bei Java bleiben, amsonsten kommen wir denke ich einmal zu sehr durcheinander, zumal wir in der Schule Java lernen und ich will im ABI nicht System.out mit cout verwechseln ^^.

Also wenn ich dich richtig verstehe, willst du damit sagen, dass es keinen Kernel gibt der "nur" eine VM hat. Hmm.. Nun gut und wie sieht es mit Distributionen aus? Ist da etwas mit Java machbar? Wäre auf jeden Fall mal eine Abwechslung zu den schnöden Applications..
 
Du meinst, auf den Linuxkernel aufsetzend weiterprogrammieren mit Java?
Auch nicht. Lies doch, was ich vorher geschrieben habe.
Ich bin mir ziemlich sicher, das der Kernel keine JavaVM hat...

Java braucht, damit es laufen kann, eine aufs Betriebssystem zugeschnittene Runtime (die wiederum in C/C++ geschrieben wurde).
Ohne die Runtime gehts nicht.
Und damit die Runtime funktioniert, wird ein funktionierendes Betriebssystem vorrausgesetzt.
 
Zuletzt bearbeitet:
lol, ich habe bis jetzt unter anderen G. W. Basic, QuickBasic und DarkBasic verwendet, und bis jetzt noch nie statt System.out.println("String"); PRINT "String" verwendet.
Klar, theoretisch ist alles möglich. Brauchst nur ne VM im OS-Boot starten. Aber im Endeffekt wird es wohl immer darauf hinauslaufen, das ihr mindestens einen bestehenden Kernel modifizieren müsst, da werdet ihr um C wohl kaum herumkommen.
Da würde ich mir überlegen, ob eine angepasste GUI das wirklich wert ist.
 
Jaja der Lehrer meines Vertrauens, was meinste was der für Augen gemacht hab als ich mit nem Intel MacBook angekommen bin : Ja haben die nicht PowerPc CPUs? ^^

Zwingt mich nicht so zu C ^^ Naja mal guckn vllt fang ich mal an in den Ferien etwas C zu lernen, denn wer java erträgt wird wohl auch noch C packen können :D
 
Hi!
Nur mal als Info: Die Idee, ein Betriebssystem in Java zu schreiben, ist nicht neu. JNode wurde ja schon erwähnt, aber auch JX oder das von SUN entwickelte JavaOS wären zu nennen.
Meines Wissens ist die Entwicklung aller Projekte aber mittlerweile eingeschlafen.

Falls ihr ernsthaft sowas entwicklet wollt, könntet ihr euch aber auch überlegen, etwas bestehnendes weiterzuentwicklen. Da sind vielleicht schon einige Probleme, die sich am Anfang ergeben, gelöst worden...

*grüssle*

Edit: Das kommt davon. Wenn man mit anderen Leuten schwätzt, währrend man eine Antwort schreibt, schiebt sich dann doch jemand dazwischen, der genau das Gleiche, aber schneller schreibt ;)
 
Ich kam auch schon auf die Idee. Aber wie ist das denn möglich? Eine der Hauptaufgaben eines OS ist ja die Speicherverwaltung. Um mit Java hat man ja keine Möglichkeit, direkt den RAM anzusprechen, oder irre ich mich da?
 
Zurück