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:

dzim

Top Contributor
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.
 

Anfänger2011

Bekanntes Mitglied
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.
 

dzim

Top Contributor
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!
 

minzee

Bekanntes Mitglied
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.
 

Anfänger2011

Bekanntes Mitglied
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
 

minzee

Bekanntes Mitglied
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.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Mein erstes eigenes Projekt - Aufbau und Strukturierung Java Basics - Anfänger-Themen 6
R Eigenes Protokoll zur Übermittlung von Daten zum Webserver? Java Basics - Anfänger-Themen 4
8 Eigenes Bild in email einfügen Java Basics - Anfänger-Themen 1
G eigenes package Java Basics - Anfänger-Themen 3
P Eigenes Fenster erstellen Java Basics - Anfänger-Themen 5
F eigenes Listener Pattern mit Interface Java Basics - Anfänger-Themen 1
P eigenes Equal mit IndexOf() Java Basics - Anfänger-Themen 5
L eigenes Steuerelement Zeitstrahl Java Basics - Anfänger-Themen 3
F Eigenes Package - Variable exportieren Java Basics - Anfänger-Themen 11
GianaSisters Methoden eigenes TableModel -> removeRow möglich machen Java Basics - Anfänger-Themen 30
D Eigenes Event beim TimeOut Java Basics - Anfänger-Themen 2
C Eigenes Konsolenfenster Java Basics - Anfänger-Themen 3
D Packages verwenden und in eigenes Projekt integrieren Java Basics - Anfänger-Themen 3
B Eigenes Package Java Basics - Anfänger-Themen 6
S Eigenes Objekt temporär verändern? (Clone)? Java Basics - Anfänger-Themen 12
M Eigenes Programm Flaechenrechner Java Basics - Anfänger-Themen 8
L Eigenes List Model für Icon + String -> Speicherhungrig? Java Basics - Anfänger-Themen 8
X Eigenes Kontosystem vervollständigen Java Basics - Anfänger-Themen 11
Developer_X eigenes ImageIcon schreiben Java Basics - Anfänger-Themen 11
Q Eigenes Event feuern Java Basics - Anfänger-Themen 5
S Eigenes Kontextmenü Java Basics - Anfänger-Themen 3
I jar in eigenes Programm unwandeln (OSX und Win) Java Basics - Anfänger-Themen 4
R Eigenes Pair Object Java Basics - Anfänger-Themen 2
C eigenes TableModel Java Basics - Anfänger-Themen 2
data89 In Java ein eigenes Lexikon erstellen? Doch wie? Java Basics - Anfänger-Themen 5
GilbertGrape Eigenes Event? Java Basics - Anfänger-Themen 2
K javadoc eigenes doclet in console starten Java Basics - Anfänger-Themen 3
B Eigenes Event schreiben Java Basics - Anfänger-Themen 7
M Eigenes Ellipse2D-Objekt Java Basics - Anfänger-Themen 5
G Eigenes Fenster Java Basics - Anfänger-Themen 51
N Eigenes Icon in InputDialog geht nicht! Java Basics - Anfänger-Themen 7
J Eigenes Symbol für Java Programm Java Basics - Anfänger-Themen 3
M Eigenes Seitenformat definieren Java Basics - Anfänger-Themen 2
Q Eigenes TableModel - NullPointerException Java Basics - Anfänger-Themen 6
F eigenes Package Java Basics - Anfänger-Themen 2
B Package/Klasse in ein eigenes Projekt einbinden? aber wie? Java Basics - Anfänger-Themen 6
G Variablen in Abhängigkeit vom Betriebssystem festlegen Java Basics - Anfänger-Themen 6
M Betriebssystem erkennen? Java Basics - Anfänger-Themen 12
S Betriebssystem - Ordner erstellen auf Windows & Linux Java Basics - Anfänger-Themen 3
G Welche Programmiersprache für ein Betriebssystem? Java Basics - Anfänger-Themen 12
G Betriebssystem ermitteln Java Basics - Anfänger-Themen 4
G Betriebssystem ermitteln Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben