Eigenes OS

LaLALa

New member
Hi!
Ich unterhielt mich vor ein paar Tagen mit einem Freund über Windows, Linux u. Co. Irgendwann fragte er sich was wohl nötig wäre um ein eigenes OS zu programmieren("Bei mir wäre das alles viel sicherer und kompatibler und....").
Die Frage ging mir irgendwie nicht aus dem Kopf. Also was bräuchte ich bzw. was müsste ich wissen um ein eigenes System zu machen?
 
Du bräuchtes wohl vor allem ne Menge Zeit und sehr gute Programmierkentnisse in Programmiersprachen wie C++.

Albu wird dir da sicher ne Menge mehr zu erzählen können.

Gruß,
Colja
 
Sehr viel Zeit! Sehr viel! Ich glaube nicht, dass man alleine ein solches Projekt starten kann... Und das mit dem kombatibler sein, etc. bezweifle ich!
 
Ja, ich auch. Auch wenn der Kram von MS nicht so toll ist, haben die ja nunmal trotzdem über 20 Jahre Erfahtung was sowas angeht.

Gruß,
Colja
 
Bitte bitte, seht das _nicht_ als ernsthaftes Unternehmen! Es interessiert mich nur! Wobei ich grad n' paar Minuten frei hätt :D :D :D
 
Basisanforderungen:
- gut programmieren können
- gute Englishkenntnisse
- viel Zeit
- konzeptionelle Fähigkeiten

Zu Beginn müssen gleich die wichtigsten Entscheidungen getroffen werden:
- Programmiersprache (wenn Target = PC, dann sollte es eine sein, die schnellen Assembler Code generiert, also C oder C++, Java wäre dann ungeeignet)
- Design des Kernels (Microkernel oder monolithischer Kernel)

Danach mußt Du Dir Gedanken machen, wie Du Deine Fortschritte testest, schliesslich mußt Du dazu den Rechner neu booten und das kann ziemlich lästig sein. Also VMWare, einen Zweitrechner mit bootbarem USB Stick oder CDROM wären da hilfreich.
Anfangs wird es nicht viel mehr sein, als ein Hello World, welches nach dem BIOS ausgegeben wird. Später wirst Du eine einfache Shell basteln, mit der Du Befehle ausführen kannst.
Und dann wird es auch schon Zeit sich Gedanken um einen Compiler zu machen. Entweder mußt Du dazu einen eigenen schreiben, oder eben z.B. den gcc dazu bringen Code für Dein OS zu erzeugen. Dann kannst Du ihn als Crosscompiler verwenden und so z.B. von einem Linux Rechner Binaries für Dein OS erzeugen lassen, die Du dann dort einspielen kannst.
Wenn Du dann erstmal einen Compiler hast, dann kannst Du nach und nach die ganze GNU Suite auf Dein System bringen und bekommst so immer mehr Funktionalität.
Und Du kannst Dich z.B. auf die Treiberprogrammierung stürzen (Grafikkartentreiber für die grafische Oberfläche, Soundkarte, USB, Filesysteme, usw...)

Alles in allem ein Riesenprojekt... wenn man aber z.B. auf x86 Architektur bleibt und sein Binärformat kompatibel hält, dann kann man möglicherweise auf Binaries anderer OSe zurückgreifen.... zumindest theoretisch ;)

Viel Spaß auf jeden Fall!
 
Ich vergaß zu erwähnen, daß grundlegende Kenntnisse in Hardware und speziell in der Programmierung derselben ebenfalls essentiell sind.
Außerdem solltest Du Dir mal anlesen, was beim Bootvorgang so alles abgeht.
Computer an und er bootet ist ein bißchen zu trivial ausgedrückt. Wo und wie findet der Computer denn Deinen Kernel? (Einfach so im Bootmanager eintragen wird wohl nicht ganz ausreichen....)
 
ich würde mal behaupten das dein kumpel in der selben minute diese "idee" hatte wie 3 dutzen andere auf dieser welt ...
vielleicht verwirklicht gerade mal eine handvoll diese "idee".
finds nur komisch ... weil man soll doch nicht das rad neu erfinden!?
ich verstehe das alles nicht.
sorry das ich wieder auf open source zusprechen komme ... aber irgendjemand hat mal gesagt das man durch open source das rad nicht mehr neu erfinden brauch ... weil man kann ja den code nehmen oder darauf aufbauen ...

aber ich denke ich würde ebenfalls mitmachen ... weil mir auch spaß machen würde.
und wie albu sagt...

viel spaß dabei ... mir fehlt für sowas zeit und auch bestimmtes wissen :)
 
Mein Freund wird halt manchmal n' bissl größenwahnsinnig. Das sollt man ihm aber nicht ernst nehmen. Werd ihm jetzt mal erzählen wie kompliziert und zeitaufwändig das ist...
 
ähäm weiter oben sind noch ein paar sachen die ich nicht verstanden habe /kenne. könnt mir das noch einer erklären /\
 
Nunja das Einfachste wird sein, wenn Du die Begriffe einzeln durch Google jagst, oder ggfs. auf Amazon oder ebay nach einem oder mehreren Büchern umschaust ("Writing you own OS in 21 days" soll sehr gut sein!).

Denn wenn Du ernsthaft vorhast ein eigenes OS zu schreiben, dann solltest Du auch ein Händchen für Informationsbeschaffung haben... ;)
 
@ womi: also du hast schon recht... wegen dem code wiederverwenden.. aber neuentwickeln ist spannender :D wirklich ein sehr interessantes thema!!

laLAla ich finde du interessierst dich immer mehr für diese Sache ;)
also ich würde euch schon unterstützen :D

@albu: woher weisst du so viel, machst du das beruflich oder 'einfach' als hobby :confused:


rein theorethisch könnte man doch gerade noch ne neue Programmiersprache entwickeln, wenn man schon Compiler und alles von grund auf neu macht oder?
 
gery schrieb:
@albu: woher weisst du so viel, machst du das beruflich oder 'einfach' als hobby :confused:
hmm naja beides.... zwar nicht konkret OS Design, aber von Beruf bin ich Dipl. Informatiker, da hat man sowas zumindest theoretisch schon mal gehört, den Rest kann man sich zusammenreimen oder kurz nachgooglen...

gery schrieb:
rein theorethisch könnte man doch gerade noch ne neue Programmiersprache entwickeln, wenn man schon Compiler und alles von grund auf neu macht oder?
Natürlich kann man das, aber wie praktisch wäre das?
Du kannst dann wirklich alles von Grund auf neu schreiben, weil Du ja nicht auf bestehende Programme (z.B. GNU) zurückgreifen kannst, weil die alle in C oder C++ geschrieben sind...
 
Wenn es nicht gleich ein von Grund auf neues OS sein soll kann man ja eine eigene Linux Distribution basteln und diese an seine persönlichen Bedürfnissen anpassen!
In diesem Fall könntest du dich mal an dem Tutorial von Linux From Scratch versuchen. Das kann man als PDF (Englisch) downloaden und ist sogar in Deutsch verfügbar!

Wenn es dir gelungen ist, kannst du ja mal darüber berichten, würde mich auch mal interessieren!

MfG, 2xM
 
Zuletzt bearbeitet:
Zurück
Oben