Forum: /dev/null Eigenes Betriebssystem programmieren [Endet 17.05.]


von Joerg (Gast)


Lesenswert?

Hallo,

macht es Sinn, als angehender Ingenieur ein eigenes Betriebssystem (z.B. 
auf einem Raspberry Pi) programmiert zu haben? Hab da irgendwie Lust 
drauf, weiß nur nicht, ob sich der Aufwand lohnt. Gibt ja schon bspw. 
schon viele Linux-Distributionen für jeden Zweck.

Kann C und Assembler, daran sollte es nicht scheitern.

: Gesperrt durch Moderator
von Sven D. (sven_la)


Lesenswert?

Ein eigenes OS programmiert man wenn man es unbedinght benötigt, weil es 
nix anderes gibt, oder weil man dadurch lernen möchte.

Was ist deine Motivation? Du weisst es nicht? Dann lohnt sich die Sache 
nicht für dich.

von xyz (Gast)


Lesenswert?

< Raspberry Pi
Warum sollte man fuer ein so *schlecht" dokumentiertes System
etwas entwickeln wollen?
Mir waere das schade um die Zeit.

von Georg (Gast)


Lesenswert?

Joerg schrieb:
> als angehender Ingenieur ein eigenes Betriebssystem (z.B.
> auf einem Raspberry Pi) programmiert zu haben?

Bis du auch nur in die Nähe von Linux oder Windows kommst bist du kein 
angehender Ingenieur mehr, sondern ein pensionierter. Altersarmut 
inklusive.

Georg

von Berater (Gast)


Lesenswert?

Was erwartest du denn von uns hören?
>Hab da irgendwie Lust drauf, weiß nur nicht, ob sich der Aufwand lohnt.
Finanziell, oder was meinst du mit "lohen"?

Es gibt Leute, die machen kleine Hobbyprojekte und stellen die bei 
Github oder sonstwo als OpenSource bereits, schreiben Artikel bei 
Mikrocontrollernet oder pflegen eine eigene Webseite mit Projekten wie 
sie Ideen teilen. Oder wirken zusammen mit anderen an Projekten mit.

Und es gibt andere.

von Sebastian S. (amateur)


Lesenswert?

Ich kann mir nicht vorstellen was, über den spielerischen Aspekt hinaus, 
das bringen soll.
Mit DEINEM Betriebssystem kann NIEMAND - außer Dir - etwas anfangen! Ein 
System lebt ja davon, dass über definierte Schnittstellen JEDER darauf 
zugreifen kann.
Übrigens: Auch die Himbeere lebt davon, dass - mehr oder weniger - JEDER 
von außen auf die Hardware zugreifen kann.
Im Übrigen: Ein eigenes Betriebssystem entwerfen und implementieren ist 
der richtige Job für den guten, alten Sisyphos.

von Gustl B. (gustl_b)


Lesenswert?

Sebastian S. schrieb:
> Mit DEINEM Betriebssystem kann NIEMAND - außer Dir - etwas anfangen!

Falsch. Auch er kann sich bei seinem Betriebssystem an gängigen 
Standards orientieren und standardisierte Schnittstellen anbieten. Er 
könnte es z. B. POSIX konform bauen.
Ein eigenes Betriebssystem bedeutet nicht, dass man alles komplett neu 
und anders machen muss, siehe ReactOS.

von MaWin (Gast)


Lesenswert?

Joerg schrieb:
> macht es Sinn, als angehender Ingenieur ein eigenes Betriebssystem (z.B.
> auf einem Raspberry Pi) programmiert zu haben?

Klar, so sammelt man know how und hat ein urheberrechtlich und 
lizenzzahlungstechnisch einwandfreies Produkt zur eigenen Vermarktung.

> Hab da irgendwie Lust drauf

Na dann, leg unverzüglich  los, die Arbeit kann halt ein paar tausend 
Mannjahre betragen.

Es bleibt immer die Frage, was man sich unter Betriebssystem vorstellt, 
aber eine Prozessverwaltung mit Speichezuweisung und Taskscheduler 
mindestens, ereignisgesteuerte Schnittstellen von Tastatur über USB bis 
SATA und Ethernet wohl auch, ein Dateisystem auch im Zugriff zu 
remotesystemen ebenfalls zum TCP/IP stack. Etwas weiter weg liegt die 
graphische Benutzeroberflache mit Installationsprogramm und 
Rechtevergabe.

von Jetzt weg mit dem Troll (Gast)


Lesenswert?

Ich denke mir, dass sich so ein Aufwand unbedingt lohnt, es gibt viel zu 
lernen. Um des Lernens willen.
Ich habe mir auch einen PC aehnlichen Rechner gebaut, bevor es PC's gab. 
Also mit Tastatur, LCD, Editor, auf 8086 basis. Mit ASM auf Papier, im 
Kopf nach Maschinencode uebersetzt und als Hex in einen EPROM Programmer 
eingetippt. Das Projekt versandet als ich mir einen PC kaufen konnte.

Wenn du eine MMU mit Pagemode, eine Prozessstuktur, Warteschlangen, 
Scheduler ... hast wir dir der Schnauf ausgehen. Was eigentlich egal 
ist.
Doof ist, dass dein Compiler irgendwo aufsetzt. Du wirrst keinen auf 
blanker Maschine lauffaehigen Maschinencode bekommen, sondern auf einer 
Library, resp Betriebssytem aufseten. Bedeutet, du musst das Unterhalbe, 
auf der Maschine Aufsetzende, in ASM machen muessen.

Also such dir eine 32bit Maschine mit guter Dokumentation. Und nicht die 
Erste, weil sie guenstig ist. Vergiss eine Disk, schreib einen 
bootloader per Serial zB.

von Nautilus (Gast)


Lesenswert?

Es gibt also noch Leute, die Bill Gates nacheifern wollen.
Schon "Forth" probiert?

von Sebastian S. (amateur)


Lesenswert?

@Gustl B.
>Sebastian S. schrieb:
>> Mit DEINEM Betriebssystem kann NIEMAND - außer Dir - etwas anfangen!

>Falsch. Auch er kann sich bei seinem Betriebssystem an gängigen
>Standards orientieren und standardisierte Schnittstellen anbieten. Er
>könnte es z. B. POSIX konform bauen.

Also erst mal genau nachsehen, wie xxx (zutreffendes hier einsetzen) 
funktioniert, um es dann genauso - nur anders - zu machen.
Ich weiß ja nicht ob das dem TO so vorschwebt?

von Gustl B. (-gb-)


Lesenswert?

Ein neues Betriebsystem kann sehr anders als vorhandene Systeme aussehen 
und trotzdem auf vorhandene Schnittstellen setzen. Klar den maximalen 
Lerneffekt wird man haben wenn man alles neu baut. Aber gerade bei so 
komplexer und schlecht dokumentierter Hardware wie dem Pi macht das 
wenig Sinn.
Wenn ein neues System, dann erstmal für etwas das man gut simulieren 
kann in z. B. QEMU. Was man dann wirklich alles neu baut muss man dann 
entscheiden. Es gibt viele Beispiele, die auch von Einzelpersonen 
geschrieben wurden wie https://de.wikipedia.org/wiki/MenuetOS und 
https://en.wikipedia.org/wiki/TempleOS . Das ist also machbar, ist aber 
keine Sache von wenigen Wochen oder Monaten sondern eher mehreren 
Jahren.

von Dieter D. (Firma: Hobbytheoretiker) (dieter_1234)


Lesenswert?

Es ist besser Du schließt Dich einer Entwicklergruppe eines bereits 
vorhandenen OSS Betriebssystem an. Wenn Du auch Assembler kannst, 
könntest Du diese auch bei der Treiberentwicklung unterstützen.

von Mucky F. (Gast)


Lesenswert?

Joerg schrieb:
> macht es Sinn, als angehender Ingenieur ein eigenes Betriebssystem (z.B.
> auf einem Raspberry Pi) programmiert zu haben?

Barebone (also z.B. uC) schreibt man ja immer das "eigene 
Betriebssystem".
Das ist dann meist eine while(1){ ...  oder for(;;){...  loop aber auch 
ein OS, sogar ein RTOS wenn man noch ne Zeitsteuerung einbaut.


Kommt dann darauf an wie weit man runter gehen will. Einen USB Host der 
alle möglichen classes kennt und auch noch die max. Zahl von Hubs 
verwalten kann schreibt wohl niemand in überschaubarer Zeit.

Dateisysteme sind so ne Sache für die ein Wochenende recht knapp 
bemessen scheint ;-) .

Aber vom Prinzip ist das nie falsch. Man wird auch bescheiden wenn man 
sieht wie viele der eigenen tollen Ideen schon andere hatten und das 
meist noch sehr viel besser in Konzept und Umsetzung.

von (prx) A. K. (prx)


Lesenswert?

Mucky F. schrieb:
> Dateisysteme sind so ne Sache für die ein Wochenende recht knapp
> bemessen scheint ;-) .

Wochenende ist nicht, aber wenn es erst einmal nur darum geht, 
Minimalansprüche zu implementieren, ist der Aufwand überschaubar.

von Schlaumaier (Gast)


Lesenswert?

xyz schrieb:
> Warum sollte man fuer ein so *schlecht" dokumentiertes System
> etwas entwickeln wollen?
> Mir waere das schade um die Zeit.

Warum sind Spielkonsolen schneller als PC's.

Antwort : Weil das Kernel direkt auf den Prozessor programmiert sind.
Ich erinnere mich an eine alten MAC-Werbung.  "Jetzt kann der Pentium 
mal zeigen was er kann".

Wenn er bereit ist für jeden Prozessor/Hardware ein eigenen Kernel zu 
schreiben wäre das der Knaller. Bloß ich denke das wird nix, weil das 
viel zu aufwendig ist.

von Melinda (Gast)


Lesenswert?

Nautilus schrieb:
> Schon "Forth" probiert?

Dem kann ich mich nur anschließen. Hier noch ein paar Links für Dich und 
viel Erfolg bzw. Spaß.

http://www.lowlevel.eu/wiki/Hauptseite

https://forth-ev.de/

https://wiki.osdev.org/Main_Page

http://forth.org/

von Mucky F. (Gast)


Lesenswert?

(prx) A. K. schrieb:
> Wochenende ist nicht, aber wenn es erst einmal nur darum geht,
> Minimalansprüche zu implementieren, ist der Aufwand überschaubar.

Das ist wie mit einer Modelleisenbahn. Fängt man damit an bekommt man 
nie genug, nur damit spielen bringt nichts weil schnell langweilig ;-).

von Schlaumaier (Gast)


Lesenswert?

Mucky F. schrieb:
> Das ist wie mit einer Modelleisenbahn. Fängt man damit an bekommt man
> nie genug, nur damit spielen bringt nichts weil schnell langweilig ;-).

Deshalb steht meine ja im Schrank ;)

von Mucky F. (Gast)


Lesenswert?

Schlaumaier schrieb:
> Mucky F. schrieb:
>> Das ist wie mit einer Modelleisenbahn. Fängt man damit an bekommt man
>> nie genug, nur damit spielen bringt nichts weil schnell langweilig ;-).
>
> Deshalb steht meine ja im Schrank ;)

bin schon als Kind darauf geprägt worden mit den Teilen "Addams family" 
zu spielen, Keine hat bis Ostern überlebt.

von A. S. (Gast)


Lesenswert?

Portier erstmal was fertiges, das MINOS hier oder ein rtos. Dann kannst 
Du immer noch Teile neu machen und manches gar verbessern

von Kraftnudel (Gast)


Lesenswert?

Ich würde meine kostbare Zeit nicht mit alten Hüten verplempern. 
Entwickel was für zukünftige Quantencomputer, ein mehrdimensionales 
Betriebssystem zum Beispiel.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Ein eigenes Betriebssystem ist nichts besonderes. Es ist nichts anderes 
als jedes andere Programm auch, nur daß es halt auf die Maschine(n) 
angepasst sein muß, auf denen es laufen soll bzw. mit der Hardware 
klarkommen muß. Beim x86 bekommt man ein wenig Unterstützung vom BIOS, 
heute evtl. UEFI, aber den ganzen Rest darf man komplett selber machen.

Ich habe damals(tm) ein eigenes Mini-OS auf dem x86 geschrieben, bringt 
mir heute keine Punkte. Das BIOS/UEFI lädt quasi den MBR/Bootsektor 
seines Bootlaufwerks ins RAM und startet ihn - das wars, ab dann gehört 
der Rechner Dir, egal was Du damit anstellst. Der Bootcode muß zumindest 
schlau genug sein, mit seinem Datenträger umgehen zu können bzw. 
weiteren Code vom Laufwerk ins RAM laden und starten zu können. Es gibt 
nur einen Stapel BIOS-Funktionen über SW-INT 10h (falls heutige Systeme 
noch damit kompatibel sind), mit denen sich grundlegende 
Hardwarefunktionen steuern lassen (z.B. Grafikmodus, Cursorposition, 
Lesen und Schreiben einzelner Sektoren von Laufwerken), den ganzen Rest 
wie Treiber für nicht BIOS-bekannte Hardware oder so'n Riesenklopper wie 
ein GUI muß man komplett selbst entwickeln. Wenn man Hilfsprogramme aus 
dem DOS-Sektor nutzen möchte (z.B. Maustreiber) muß man eine bestimmte 
DOS-Kompatibilität erreichen, wodurch man bspw. .EXE-Dateien ausführen 
könnte.

von c-hater (Gast)


Lesenswert?

Joerg schrieb:

> macht es Sinn, als angehender Ingenieur ein eigenes Betriebssystem (z.B.
> auf einem Raspberry Pi) programmiert zu haben?

Im Prinzip: ja. Nur leider: du wirst die Früchte erst ernten können, 
wenn du in Rente gehst. Wenn überhaupt.

Selbst ein relativ schmales OS für Hardware mit der Komplexität eines 
RasPi erfordert schon gerne mal etliche Mannjahre Entwicklungszeit.

Deswegen: Wenn du unbedingt ein eigenes OS entwickeln willst, mach' es 
für deutlich einfachere (und besser dokumentierte) Hardware. Die 
Konzepte eines OS kannst du daran größtenteils genausogut lernen, aber 
du hast eine Chance, das in halbwegs überschaubarer Zeit hinzubekommen.

Allerdings: der praktische Nutzen dürfte sich auch hier arg in Grenzen 
halten...

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Der praktische Nutzen tendiert ganz stark gegen Null, da es für solche 
Systeme genügend frei OS gibt, die sich ggf. anpassen lassen wenn sie 
den Anforderungen out of the box nicht gerecht werden. Muß man sich 
vielleicht auch etwas einarbeiten, aber es geht deutlich schneller als 
was von Null zu erstellen bzw. bei den gängigen Linux-Derivaten bekommt 
man bestimmt Hilfe wenn man es nicht alleine schafft.

Mein Mini-OS war auch nur eine Programmierübung, wollte wissen ob ich es 
hinkriegen würde - mehr nicht. Am Ende hatte ich ein ganz rudimentäres 
Dateisystem was etwa den Fähigkeiten von FAT gemischt mit etwas 
C64-Ideen entsprach und einen Texteditor - aber dann recht schnell das 
Interesse verloren weil Kernfrage beantwortet. Das Ding konnte nicht mal 
DOS-Disketten lesen.

von udok (Gast)


Lesenswert?

Joerg schrieb:
> macht es Sinn, als angehender Ingenieur ein eigenes Betriebssystem (z.B.
> auf einem Raspberry Pi) programmiert zu haben? Hab da irgendwie Lust
> drauf, weiß nur nicht, ob sich der Aufwand lohnt. Gibt ja schon bspw.
> schon viele Linux-Distributionen für jeden Zweck.

Ein minimal BS ist ja kein so grosses Ding,
das haben schon viele vor dir gemacht.

Hier gibt es Gleichgesinnte:

https://forum.osdev.org/index.php

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Mittlerweile der sechste Trollversuch des TE.

von User (Gast)


Lesenswert?

ein gewisser Linus hat ein OS auch nur zum Spaß geschrieben um zu 
lernen:
https://github.com/zavg/linux-0.01

von Melinda (Gast)


Lesenswert?

Jörg W. schrieb:
> Mittlerweile der sechste Trollversuch des TE.

Von solchen Menschen lebt das Netz. Ein "erfolgreicher" Troll regt doch 
nur eine Diskussion an, die sonst nie stattgefunden hätte. Aber 
wahrscheinlich trauer ich nur um meinen Post...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Melinda schrieb:
> Jörg W. schrieb:
>
>> Mittlerweile der sechste Trollversuch des TE.
>
> Von solchen Menschen lebt das Netz.

Nein, sie produzieren lediglich sinnlosen Aufwand bei einer Menge Leute, 
die guten Glaubens "antworten", obwohl das den Troll absolut nicht 
interessiert.

Mittlerweile hat er schon wieder den nächsten Thread gestartet, und 
mehrere Dutzend sind drauf rein gefallen.

: Bearbeitet durch Moderator
von Mani W. (e-doc)


Lesenswert?

Jörg W. schrieb:
> Mittlerweile hat er schon wieder den nächsten Thread gestartet, und
> mehrere Dutzend sind drauf rein gefallen.

Gut, dass Du darüber ein wachsames Auge hast...

;-)

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Links?

von Rainer Z. (netzbeschmutzer)


Lesenswert?

Rechts?

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.