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
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.
< Raspberry Pi Warum sollte man fuer ein so *schlecht" dokumentiertes System etwas entwickeln wollen? Mir waere das schade um die Zeit.
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
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.
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.
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.
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.
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.
Es gibt also noch Leute, die Bill Gates nacheifern wollen. Schon "Forth" probiert?
@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?
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.
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.
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.
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.
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.
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/
(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 ;-).
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 ;)
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.
Portier erstmal was fertiges, das MINOS hier oder ein rtos. Dann kannst Du immer noch Teile neu machen und manches gar verbessern
Ich würde meine kostbare Zeit nicht mit alten Hüten verplempern. Entwickel was für zukünftige Quantencomputer, ein mehrdimensionales Betriebssystem zum Beispiel.
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.
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...
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.
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
ein gewisser Linus hat ein OS auch nur zum Spaß geschrieben um zu lernen: https://github.com/zavg/linux-0.01
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...
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
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... ;-)