Eigenes Betriebssystem erstellen?

8 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
Gibt es einen Kurs der dies erklärt oder soll ich es lieber lassern?

Lassen nicht unbedingt, aber einfach tiefer stapeln. Also mit Monaten kommst du da nicht hin. Wir reden hier wohl wirklich eher von Jahren. Wenn du noch nie was mit Programmierung gemacht hast, ist es einfach sehr schwer. Und selbst MIT Erfahrung ist es für die meisten nicht möglich.

Natürlich gibt es bestimmte Online Tutorials, aber mehr als einfach nachbauen, wirst du wohl nicht schaffen und sogar das wird dir wahrscheinlich äußerst schwer fallen.

Die wirklich realistischen, ersten Schritte wären: Fange an die Sprache C zu lernen. Hol dir ein Linux und lerne, wie man es betreibt. Du musst auf jeden Fall Rechnerarchitektur lernen und du brauchst zum Einstieg ein Buch über Betriebssysteme, welches sich "moderne Betriebssysteme" nennt. Das ist von Andrew Tanenbaum. Grundlagen Mathe und theoretische Informatik sollten auch mit dabei sein. Ohne das geht's gar nicht. Damit wirst du, falls du das wirklich willst, bestimmt ein gutes Jahr verbringen. Vllt sogar ein bisschen mehr. Wenn du das gemacht hast, kannst du dir zumindest mal ein Selberbaututorial reinpfeifen, welches du dann verstehst, damit du dann mit den nächsten Schritten weitermachen kannst.

greenshop 
Fragesteller
 09.07.2020, 15:35

Vielen Dank. Kompletter Neuling bin jetzt auch nicht. Ich habe Programmiere schon seit einem Jahr mit Python, aber mir ist die Schwierigkeit bewusst.

0
GedankenGruetze  09.07.2020, 15:42
@greenshop

Wie gesagt. Dann fang halt klein an. :) Vllt merkst du ja schon beim Umgang mit Linux, dass dich das langweilig. Vllt auch beim Programmieren mit C. Letztlich lohnt es sich auch das zu lernen, aber für die wenigsten wird nicht mehr dabei rumkommen als ein bisschen know how. Und du darfst nicht vergessen: Realistisch gesehen wird dein Betriebssystem einfach nur ein schwarzer Bildschirm, bei dem du ein paar Befehle eingeben kannst, die dann ausgeführt werden.

So ein vollfunktionsfähiges Ding von Anfang an zu schreiben mit Grafik, parallele Verarbeitung, Geräteunterstützung etc. wird, realistisch gesehen, nicht klappen :) Sorry. Es lohnt sich dennoch es mal zu versuchen. Weniger als "ich hab ein bisschen was gelernt" wird dabei auch nicht rauskommen und das ist ja eigentlich schon sehr gut! :)

0

Immerhin hast Du es als Königsdisziplien erkannt.

Allerdings was bringt jemanden, der gerademal gelernt hat halbwegs unverletzt auf einen Baum zu klettern, dazu, als erste Fingerübung den Mt.Everest erklimmen zu wollen (...und das Ganze mit Badeschlappen und T-Shirt)?

...ja, so mutet das an😅

Leutchen wie Dich gibt es immer wieder...und immerwieder fegen die hiesigen "Psycholgen" die Überreste zerschmetterter Träume zusammen.

Muss man wirklich das Rad neu erfinden?

Vor 20 Jahren bei einem 286er wäre das wohl noch gegangen. Da gabs noch nicht allzuviel Hardware zu berücksichtigen. Da genügt in der Regel das Wissen um die Belegung der Register für die ersten 16 Interupts und ein paar Ports.

Heute nahezu undenkbar.

Linux wurde selbst damals nicht ganz am Punkt 0 begonnen. Es existierte bereits eine gewisse Basis. Lange bevor Torvald mit Linux begann gab es zahlreiche Vorstufen. Neben DOS, Novel, OS/2 , Unix und einigen Speziallösungen, gab es diverse DosExtender, welche Teilweise schon selbst kleine Betriebssysteme waren. Torwald brauchte eigentlich auch nur in die Schatztruhe zu greifen... und wie bereits angemerkt... die anzusprechende Hardware war überschaubar (es dauerte teilweise kleine Ewigkeiten bis neue Hardware unter Linux angesprochen werden konnte.).

Ja, jemand der noch nie einen Fußball in der Hand (oder am Fuß) hatte, spielt natürlich auch direkt in der Bundesliga. Macht Sinn.

Sorry, aber das wird nichts. Egal, in welcher Zeit. Man fängt von vorne an, nicht von hinten. Übe dich erstmal mit ein paar einfachen Anwendungen wie Taschenrechnern und Co, meinetwegen auch direkt in einer hardwarenahen Sprache wie C (was du nachher brauchen wirst für dein Vorhaben), gehe weiter über komplexere Anwendungen und System-APIs und am Ende wirst du dann auch wissen, wo du für ein Betriebssystem ansetzen musst.

Woher ich das weiß:Berufserfahrung – Inhaber einer App-Agentur & 15+ Jahre Programmiererfahrung

Das ist die richtige Aufgabe für einen Neuling. Ein erfahrener Programmierer würde das aus sehr guten Gründen niemals tun.

Es gibt keline Micro-controller-Boards, auf denen man ein winziges Betriebssystem tatsächlich noch mal eben selbst schreiben kann. Ich hatte auf dem ZX81 das Programmieren gelernt. Dessen Betriebssystem passte mitsamt Basic-Interpreter in 8kB. Das kann man selbst auch noch hintbekommen. Praktischerweise musst du das nicht in Maschinensprache schreiben, sondern kannst eine beliebige andere Sprache nehmen.

Ich würde es sein lassen.

...mehrere Monate, bzw. Jahre...

Jahrzehnte.

...soll ich es lieber lassern?

Lies dir doch einfach mal die vielen Programmierfragen hier durch. Viele Anfänger (sofern sie überhaupt richtig angefangen haben) wollen von 0 auf 100 gleich ein Spiel, ein Minecraft-Plugin sonst etwas für sie Unerreichbares umsetzen.

Man baut keine Autos, Flugzeuge oder [moderne] Häuser ohne Ahnung davon zu haben und genauso verhält es sich mit Softwareentwicklung - diese lernt man erst einmal. Statt eines Tutorials oder Kurses zum Thema "Eigenes Betriebssystem" teilt man das Thema eher in seine Teilgebiete auf und sammelt dazu das notwendige Wissen, womit man dann das eigentliche Projekt angehen kann. Richtiges, lehrreiches und performantes Programmieren funktioniert nicht nach Anleitung.

bluebird5  09.07.2020, 15:35

"Jahrzehnte" ist noch zu tief gestapelt, in Linux stecken wohl 73000 Mannjahre. Man findet im internet auch andere Zahlen, aber sie alle übersteigen die Lebenszeit eines einzelnen Menschen.

0
verreisterNutzer  09.07.2020, 15:37
@bluebird5

Gehen wir davon aus, dass solche Anfänger 99% des Codes von Stackoverflow & Co. kopieren, dann geht sich das bestimmt aus.

0