• Hallo, ich habe schon ein mal nach einem eigenen Betriebsystem gefragt.
    Genau in diesem Forum. Aber ich habe keine richtige Antwort bekommen da immer jemand gespamt hat und das Forum dann Gesperrt wurde.

    Also habe ich noch einmal die Frage:

    Wie programmiere ich ein eigenes OS?
    Hat jemand gute, Deutsche Tutorials für NASM falls mann den Assembler für das eigene OS braucht?


    Ich kann in: PHP, Qbasic, PureBasic, bisschen VisualBasic, bisschen NASM, minikleines bisschen C programmieren.

    Schonmal Danke für die Antworten.


    P.S.: Wenn jemand ein eigenes OS hat fende ich ScreenShots ganz nett.

    Einmal editiert, zuletzt von ak1999 (23. März 2009 um 10:34)

  • Wenn nur ganz wenig C bzw C++ wirds schwer.
    Tutorials wird schwer, da es doch einfach viel zu kompliziert ist.
    Du könntest dich ja mal an eine Mini Linux Distro ransetzen (DamnSmallLinux, Minix?).
    Aber ich glaube mit Basic kommste nicht weit.
    Obwohl ich mir da sogar mit nen bisschen Assembler vorstellen könnte etwas DOS ähnliches zu proggen.

  • Beitrag von ak1999 (23. März 2009 um 10:54)

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Hab mich doch damals beschwert, dass der Thread geschlossen wurde. Das war völlig ungerechtfertigt. Aber unserer Junta ist das ja egal.

    Wie oreissig (glaub ich) ja schon gesagt hat: Betriebsystemprogrammierung ist eine Art Königsklasse der Programmierung. Es benötigt halt enormes Fachwissen über den Aufbau von Computern. Sowas lernt man nicht in einem Tutorial.

    Es gibt zwar Tutorials für so ne Art Mini-DOS, aber bringen tun die nichts. In der Regel versteht man nicht, was dort gesagt wird, und schreibt einfach ab. Damit ist niemandem geholfen. Und anfangen kannst weder du noch sonst jemand was damit.

    Von daher hast du grundsätzlich zwei Möglichkeiten:

    1. Du fängst dich an mit der Thematik zu beschäftigen. Dazu wirst du aber ohne Bücher nicht weit kommen. Ich kann dir grad nichts empfehlen, aber von Andrew S. Tanenbaum solls ja was geben. Und wenn du mal etwas grob Ahnung hast, wie das in der Theorie funktioniert (wobei man das nicht an einem Abend lernt), schaust du dir am besten ein paar praktische Beispiele (Linux-Quellcode) an.
    Und dann kannst du dir selber Gedanken machen, wie man sich ein eigenes Betriebsystem bauen könnte.

    2. Du ignorierst die Tatsache, dass du das Wissen für Betriebsystemprogrammierung nicht hast und baust auf einem bestehenden System auf. Zum Beispiel auf FreeDOS oder Linux oder Minix. Alles freie Betriebsysteme, die du abändern und erweitern kannst. Ein "Eigenes Betriebsystem" wirst du es allerdings nicht nennen dürfen.

  • Wo gibt es solche Tutorials für so eine Art Mini-Dos???

  • Also mit den von Dir genannten Kenntnissen halte ich das Vorhaben schon für recht abenteuerlich, aber wenn Du etwas Unix-ähnliches vorhast, ist der Tanenbaum "Operating Systems - Design and Implementation" schon die erste Wahl (gibts auch auf deutsch). Allerdings setzt das dann schon das Verständnis von C voraus, sonst ist das eher so, als wolltest Du mithilfe eines Buches "Englisch-Chinesisch - Chinesisch-Englisch" zwei Fremdsprachen, die du beide nicht kannst, gleichzeitig lernen.
    Falls Du etwas DOS-artiges vorhast (und das ist imho vermutlich wesentlich einfacher), solltest Du Dir zunächst mal eine Befehlsreferenz für die Maschinensprache/Assembler der 8086-Archiktur beschaffen und verstehen. Dann wäre ein BIOS-Kompendium hilfreich, in dem die in jedem PC-BIOS enthaltenen BIOS-Routinen erläutert werden, denn DOS bildet seine höheren Funktionen darauf ab: ein Beispiel: im BIOS gibt es eine Routine, mit der man einen bestimmten Sektor der Festplatte lesen kann. Dazu übergibt man an die Funktion Werte wie Spur, Sektor und Kopf und eine Speicheradresse, in die der Inhalt des Sektors gelesen werden soll. DOS wiederum benutzt eine
    Kombination aus diesem und anderen Befehlen, um z.B. eine Funktion wie "Öffne Datei zum Lesen" oder "Schreibe ab Speicheradresse x 20 Sektoren in Datei y ab Dateiposition z". Es ist auch auf jeden Fall einfacher, zunächst mal die Implementation einer Betriessystemfunktion in einem realen System, z.B. FreeDOS nachzuvollziehen als eine komplexe Funktion von Grund auf selbst zu implementieren.

    "I think that computer viruses should count as life. I think it says something about human nature that the only form of life we have created so far is purely destructive. We've created life in our own image."
    (Stephen William Hawking)
    (Igor bevölkert das Winhistory-Forum seit dem 21.09.2006)
    (In the rpg commonly known as rl, Igor got an extra life on March 28, 2009)

  • Zitat von siffkowitsch


    Du könntest dich ja mal an eine Mini Linux Distro ransetzen (DamnSmallLinux, Minix?).

    Tut mir Leid, diesen nicht zum Thema beitragenden Post zu schreiben, aber ich kanns nunmal nicht so stehen lassen:

    Minix is _KEINE_ Linux Distribution ;)

  • Zitat von LukeGee

    Tut mir Leid, diesen nicht zum Thema beitragenden Post zu schreiben, aber ich kanns nunmal nicht so stehen lassen:

    Minix is _KEINE_ Linux Distribution ;)


    Umgekehrt wird eher ein Schuh draus, denn der gute Herr Torvalds hatte seinerzeit unter Minix zunächst eine Erweiterung begonnen, die einen 386er "vernünftig" im 32-Bit-Modus ausnutzt, aus der dann der erste Linux-Kernel entstand. x86-Minix unterstützt nämlich nur das 16-bittige Speichermodell, läuft sogar noch auf 8088ern im Realmode und kann je Anwendung für Programme und statische Daten jeweils nur ein 64kB großes Speichersegment benutzen, kennt also noch nicht einmal Segmente - es war ja auch nur als Lehrsystem und nicht für den Produktiveinsatz geplant. Die Implementation für den Motorola 68000 hat diese Beschränkung natürlich nie gehabt, da dieser Prozessor von Hause aus ein flaches Speichermodell unterstützt.

    "I think that computer viruses should count as life. I think it says something about human nature that the only form of life we have created so far is purely destructive. We've created life in our own image."
    (Stephen William Hawking)
    (Igor bevölkert das Winhistory-Forum seit dem 21.09.2006)
    (In the rpg commonly known as rl, Igor got an extra life on March 28, 2009)

    Einmal editiert, zuletzt von Igor Todeshure (23. März 2009 um 18:02)

  • Zitat von ak1999

    Wo gibt es solche Tutorials für so eine Art Mini-Dos???

    Du hast dich also für den "dritten" Weg entschieden und ignorierst sämtliche fachkundige Ratschläge (nämlich dich lieber genauer zu informieren, als irgendwas blind loszuschreiben)?
    Wenn dem so ist, was willst du dann mit einem Tutorial, wenn du eh deinen eigenen Weg gehen willst und nix von anderen lernst?

    Sorry, aber wenn du echt gar kein Interesse zeigst dich zuerst mit dem Thema auseinanderzusetzen bevor du irgendwas losproggen willst, dann seh ich da auch absolut keinen Sinn drin, dir irgendwelche Tipps zu geben (z.B. für dich zu googeln, das wirst du schön selbst machen müssen).
    Von mir wirst du jedenfalls keine Hilfe bekommen, wenn du deine Einstellung dazu nicht änderst


    gandro: guter Beitrag, mich hätte er ehrlich überzeugen können, mich zu informieren

    Einmal editiert, zuletzt von oreissig (23. März 2009 um 19:07)

  • Sind denn jetzt auf einmal alle durch den Wind?
    Minimale Grundkenntnisse und gleich das allerhöchste anpacken...

    wie in dem thread hier https://www.winhistory-forum.net/anwendungen/25…e-new-post.html

    Mach lieber erstmal ein paar kleinere Sachen in C, dann mittlere, dann größere und dann kann ein eigenes OS in Erwägung gezogen werden.

    Wenn du darüber hinaus alles aus den Tutorials abtippst ist es doch iwie auch nicht DEIN OS?

  • Zitat von oreissig

    ein zugekauftes Produkt, welches von MS praktisch ohne weitere bearbeitung an IBM verkauft wurde


    Also jain. MS hat IBM eine Lizenzierung für ein Produkt verkauft, was noch gar nicht existierte. Darum hat MS dann husch husch QDOS fürn Appel und nen Ei aufgekauft. :fresse:

  • Das Buch von Andrew S. Tannenbaum kann ich nur empfehlen. Das hilft echt weiter;
    zwar baue ich auf Minix auf...Aber gleich mit nen eigenen Quellcode anfangen ist eig. echt hart

    Es ist besser nicht zu moderieren als falsch zu moderieren

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!