Java OS programmieren?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich weißt nicht, was du dir unter "OS" vorstellst, aber das ist letztendlich egal.

Kann man mit Java ein Betriebssystem programmieren? Nein. Warum? Erklär ich gleich. Erst einmal kläre ich die grundlegenden Begrifflichkeiten.

Java ist eine High-level-programmiersprache, das heißt so viel wie, dass sie auf "einer oberen Ebene" ausgeführt wird. Stell dir die Vorgänge im Computer wie ein Haus vor. Das erste ist der Boden, die direkte Prozessorarchitektur. Darauf folgt das Betriebssystem, das Fundament. Die Low-level-prozesse, das sind die Wände und Zimmer im Erdgeschoss. Und darauf bauen die Highlevelprozesse auf.

Um es noch einmal anders deutlich zu machen: C wurde in sich selbst entwickelt, da man den Speicher direkt manuell verwalten kann, also "lege auf Adresse 0x0 eine 1". Java wurde in C entwickelt, denn man kann nur sagen "speichere mir mal eine 1 und gebe mir eine Referenz darauf".

Ein Betriebssystem ist die unterste Ebene eines Systems, es muss direkt mit den Bits und Bytes interagieren.

Da das in Java nicht geht, kannst du kein Betriebssystem in Java schreiben.

(Übrigens ist denn Verweis auf die SwingBibliothek völlig fehl am Platze. Auch die Sache mit dem Desktop. Man braucht keine grafische Oberfläche um ein Betriebssystem zu haben. Frag mal ein paar Verwandte (Alter rund 50) nach ihren ersten Computern.)

ingowolf  13.02.2017, 20:29

Klasse erklärt ! 

0
Marcel288  24.10.2018, 20:38

Ich bin noch keine 50ig aber mein erster PC sagte...C:\ da waren keine Bilder :-)

0
Cedric309  19.08.2021, 23:22

Mit Java kann man denke ich schon Betriebssysteme entwickeln, aber halt denke ich nicht nur mit Java. Schon mal was von JNode gehört? Da kommen nur Java und ein bisschen Assembler zum Einsatz.

https://de.m.wikipedia.org/wiki/JNode

0

Also wenn du von Grund auf anfangen willst - vergiss es. Oder wie willst du die Java VM zum laufen bringen? ^^ Java-Dateien liegen nicht in Maschinensprache vor u know. Allein um die irgendwann zu starten brauchst du schon massig Programmierarbeit in einer anderen Programmiersprache. Und dann kann man ja außerdem nicht behaupten, dass Java für das ansprechen von Hardware geeignet ist.

Nein, die Programmiersprache Java wird anstatt vollständig in Maschinensprache übersetzt (kompiliert) zu werden in sog. Bytecode übersetzt und anschließend von der JRE (Java Runtime Environment) interpretiert.

D.h. wenn du kein großes Team mit zuviel Zeit, Geld und sonstigen Ressourcen bist und um das JRE ein eigenes OS herumbaust, wirst du dich mit herkömmlichen Betriebssystemen begügen müssen.

Was deinem Vorhaben, sofern ich es richtig verstanden habe, am nächsten kommen würde ist, wenn du ein Linux nimmst (z.B. Arch) und alle Pakete außer de Nötigsten rausschmeißt.

Aber auch da würdest du vermutlich massiv Zeit verschwenden.