Eigenes Betriebssystem

Anfänger2011

Bekanntes Mitglied
Hallo alle zusammen,

ich habe mir schon vor einiger Zeit vorgenommen ein eigenes Betriebssystem in Java zu schreiben. Natürlich ist mir durchaus bewusst, dass das vielleicht sogar eine oder zwei Wochen Zeit in Anspruch nehmen wird. Ne also Spaß beiseite. Mir ist sicherlich klar, dass das alleine nicht umzusetzen ist. Dennoch habe ich mich von meiner Idee nicht distanziert und mir andere Lösungsansätze überlegt.

Ich habe vor dabei eine Programm von der optischen Aufmachung eines Desktops zu programmieren. Dieses soll dann automatisch beim Start des Betriebssystems ausgeführt werden. Wenn das Programm beendet wird, ruft es eine .bat auf, die das System ebenfalls herrunterfährt.

Meine Frage ist jetzt, ob das die beste Möglichkeit ist meine Idee umzusetzen oder ob man das noch geschickter lösen kann.

Ich bin für jede Antwort dankbar.

Liebe Grüße
Anfänger2011
 
Zuletzt bearbeitet:
Ich denke, der Task ist eine Nummer zu gross - und auch vielleicht nicht mehr ganz Zeitgemäss.
Übrigens gab es so etwas schon mal: JavaOS

Mein Problem wäre, das du quasi keine anderen Programme darauf ausführen kannst, als du es bereits implementiert hast (übrigens: hier wäre OSGi eine perfekte Wahl, um die Programme wie "Plugins" in das System zu bekommen). Gut aber das ist wahrscheinlich das Problem vieler OSe, die neu auf den Markt kommen.

Dennoch:
Was ich an deiner Stelle überlegen würde ist: Warum nicht eher eine DE (Desktop Environment) für Linux. Also quasi wie Sailfish OS, Tize, Ubuntu (Phone) und Android auf ein Linux aufsetzen...
Und wie gesagt: Mach dir von vorn herein Gedanken, wie du weitere Programme in dein OS/deine DE bekommst.
 
Danke erstmal für deine schnelle Antwort. An eine DE hatte ich auch schon mal gedacht, doch ich bin mir sicher, dass das mein Können und Wissen derzeit noch übersteigt, da ich in diesem Bereich noch keinerlei Erfahrung gemacht habe. Dennoch werde ich mich in diesem Bereich einlesen und vllt doch diese Methode wählen. Dein Tipp Programme mit OSGi zu bekommen ist echt ne gute Idee, auch da werd ich mich erstmal einlesen.
 
Ich sag dir aber gleich: Das ist ein grosser Brocken! Und schwer zu verdauen...

Linux als Unterbau würde ich aus zwei Gründen empfehlen: Zum einen gibt es ein offizielles Java von Oracle (und damit ein funktionierendes JavaFX - und JavaFX sollte definitiv deine Basis für deine UI sein) zum anderen müsstest du in einem reinen auf Java basierenden OS dich auch um Treiber für diverse Hardware kümmern... Tu dir das selbst nicht an. Da die Unterstützung von Java von USB und ähnlichen Schnittstellen nicht so grandios ist, musst du hier eh viel mit JNDI machen (das Anbinden von nativen (C/C++) Schnittstellen/Programmen an Java).

Das MediaPlayer-Framework von JavaFX ist zwar da, unterstüzt aber von Haus aus nicht sehr viele Formate und Container. Hier gibt es nur den Weg: selbst schreiben oder z.B. VLC über VLCJ anbinden (wobei letzteres sicher noch am einfachsten ist, aber trotzdem nicht sehr komfortabel).

Modularisierung, bzw. Packages für andere Anwendungen: Wie gesagt bietet sich OSGi hier an.

Sicherheit: OSGi bringt durch die getrennten Classloader sicher schon ein gewisses Mass an Sicherheit, aber Sandboxing sollte ein Thema werden.

Um dir einen Start zu geben: Oracle hat mal für den RasPi einen Proof-of-Concept gemacht - ein (wenig hübsches) Tablet auf Basis des Raspberry Pi
Suchbegriff: oracle raspberry pi tablet
Links (Bsp.):
- https://wiki.openjdk.java.net/display/OpenJFX/DukePad
- Innovative monstrosity: Oracle makes tablet with Raspberry Pi and Java | Ars Technica
with-raspberry-pi-and-java/
- ...

Soweit ich es verstanden habe, setzen die auch auf OSGi und haben da schon einen Prototypen implementiert. Schau dir also das vielleicht mal an!
 
Die Idee von einem eigenen Betriebssystem halte ich für sehr gut. Heutzutage weiß man echt nicht mehr, wo die NSAler überall ihre Finger drin haben. Aber sofern man das Programmieren von Betriebssystemen nicht studiert hat, halte ich das eigentlich für unmöglich. Mal abgesehen davon bringt ein eigenes Betriebssystem nur dann was, wenn man dann auch die ganzen Treiber selbst programmiert. Und das halte ich für total ausgeschlossen.
 
Naja es ist ja eigentlich auch kein richtiges Betriebssystem, sondern ein Programm das ein solches emuliert, da es ja auf einem vorhandenen Betriebssystem läuft. Damit ist dieses Projekt (denke ich) auch aus realistischer Sicht machbar.

Das Problem mit dem bekommen von Programmen oder Plugins habe ich nach vielen hin und auch hin bekommen ... also zumindest am Schreibtisch, ob es auch später klappt ist vielleicht noch ne andere Sache. 🙂
Auch den eigentlichen Desktop hab ich schon einigermaßen fertig mit optimierten Anpassungen,... aber auch schon einer Maus mit Menü und eine Taskleiste.

Daher bin ich da recht zuversichtlich, dass das ganze klappt.
Wenn es soweit ist, das noch mehr geht als auf den Desktop zu starren und mit der Maus diese "Makierrechtecke" und eine Menü zu öffnen, stelle ich das gerne im Forum zum ausführlichen Test bereit.

Liebe Grüße
Anfänger2011
 
Auch wenn ich den Sinn irgendwie nicht erkennen kann, hört sich das trotzdem interessant an. Dann wünsche ich viel Glück damit (dabei helfen kann ich leider nicht, weil ich mich damit nicht auskenne). 🙂

Vielleicht zeigst du uns dann irgendwann ein paar Sachen, sobald das bei dir einigermaßen funktionert.
 

Neue Themen


Zurück
Oben