Betriebsystem anleitung

hallo ich möchte gerne ein genaue Anleitung haben wie man ein Betriebssystem programmiert mit richtiger benutzeroberfläsche diese frage hate ich schon einmal gestell aber das wuste ich alles schon was dort stand. wie geht das?

(programmieren mit Basic kann ich schon wer genaueres wissen will gibt bei YouTube ein „jan friedmann“ und ihr kommt auf meinem Kanal)

Auf die Frage:

Wie funktioniert das Universum?

hat mir auch noch keiner geantwortet…
Was hälst du davon, wenn du eine präzise Frage stellst…
Du scheinst ja nicht mal ne Ahnung zu haben, wo du Anfangen könntest… Geschweige denn, was ein Betriebssystem ist…

Und ich besuche bestimmt keinen Youtube-Chanel, damit ich daraus ableite, wie viel du kannst und was ich dir erzählen muss… Mal ganz davon abgesehen, dass ich auch nicht in der Lage bin einen Kernel zu schreiben, der qualitativ auf einer Stufe mit dem Windows- oder Linux-Kernel steht…

Hallo Jan,

du hast diese Frage ja schon gestellt und eine ganze Reihe von verschiedenen Antworten erhalten. Der Tenor, der aller dieser Antworten ist jedoch derselbe:

Vorsichtig ausgedrückt: Es gibt Leute, die studieren viele Jahre Informatik oder lesen zumindest über viele Jahre hinweg viele Bücher und Üben bis zum Umfallen um überhaupt mal das nötige Grundwissen zu haben um dann mit meist vielen anderen Leuten zusammen im Team ein Betriebssystem mit grafischer Oberfläche zu entwickeln. Es ist faktisch unmöglich auf Basis deiner bisherigen Grundkenntnisse so eine von dir eingeforderte genaue Anleitung zu schreiben, denn eine solche theoretische Anleitung würde mehrere sehr dicke Bücher füllen…

Wir können dir lediglich aufzählen, wie du dir dieses Grundwissen selbst erarbeiten kannst.
Um es zu wiederholen:

  1. Lern C++ oder C#, dazu musst du entweder studieren oder einige Bücher im Laden kaufen,
  2. besorg dir sämtliche Anleitungen zu der Hardware, für die du das Betriebssystem schreiben möchtest. Schreibe dazu die Hersteller an oder schau auf deren Seiten.
  3. Mach erstmal kleinere Dinge, z.B. ein Computerspiel in C oder ein paar Tools.
  4. Analysiere freien Quellcode von existierenden Betriebssystemen z.B. Linux - Die Quellen kannst du dir googlen. Hier siehst du am besten was du tun musst.

Es gibt einfach Dinge, die kann man sich nicht einfach so einfach erarbeiten, in dem nach eine kurzen und für Anfänger verständliche Anleitung im Internet oder Youtube sucht oder in einem Forum nach einer schnellen Antwort bittet. So läuft das leider nicht.

Gruß
Vivis

Sorry, aber ein Betriebssystem habe ich noch nicht programmiert und werde ich auch nicht programmieren. Das ist eine Nummer zu groß für mich. Ich selbst habe schon in Visual Basic, Pascal, FORTRAN, C und Maschinensprache programmiert. Trotzdem ist ein Betriebssystem einfach eine Nummer (oder mehrere) zu groß für mich.

Ich versuch’ mal trotzdem eine kurze Anleitung, vielleicht hilft’s Dir:

  • Deutsch lernen (7 Rechtschreibfehler in einem Satz darfst Du in Deinem Betriebssystem nicht machen)

  • Eine sehr maschinennahe Programmiersprache lernen (z.B. C) und sehr, sehr gut beherrschen. Dabei genügt es nicht, ein kleines Progrämmchen geschrieben zu haben, das halbwegs funktioniert.

  • Gute Beziehungen zu sämtlichen Hardware-Herstellern aufbauen, die an Deinem Gerät beteiligt sind, denn von denen wirst Du Treiber benötigen, damit Du Dein Betriebssystem bauen kannst.

  • Baue Dir ein Testlabor mit den unterschiedlichsten Hardware-Komponenten, die überhaupt für Dein Gerät denkbar sind auf. Das wirst Du zum Testen benötigen.

  • Engagiere viele Testpersonen, denen Du Dein Betriebssystem zum Testen gibst.

  • Achte bei allem, was Du programmierst und tust darauf, dass Du keine Urheberrechte anderer verletzt. Das heißt zum Beispiel, dass Du keinen Programmcode einfach irgendwoher zusammenkopieren und verwenden darfst. Das Gleiche gilt natürlich für Texte, Bilder, Sounds und Videos, die Du einbauen willst.

  • Erstelle eine umfangreiche Dokumentation, dass auch andere Menschen Dein Betriebssystem nutzen können.

  • Berücksichtige bei Deinen Entwicklungen, dass es auch Menschen mit Behinderungen gibt (Sehschwäche, Hörfehler, etc.) und baue entsprechende Hilfen ein.

Wenn Du jetzt wieder behauptest, das alles schon gewusst zu haben, frage ich mich, warum Du die Frage überhaupt stellst.

Gruß Dieter

Lieber Herr Friedmann,
so, wie Sie sich das Schreiben eines Betriebssystems vorstellen, geht es nicht. Das wäre so, als wenn ich sagen würde: „Heute Nachmittag kommt jemand und zeigt mir, wie man Klavier spielt.“
Programmieren von Basic ist leider Lichtjahre von der Programmierung eines Betriebssystems entfernt. Man muss dazu genaueste Kenntnisse der Hardware, eines Assemblers und der Echtzeitprogrammierung haben.
So sorry, aber ich würde wirklich empfehlen, noch etliche Jahre in das Sammeln dieser Kenntnisse zu investieren.
Viel Glück dabei
Wolfram Menzel

Hallo,
Ich habe Betriebssysteme noch nie programmiert. Sorry.
Wollte wenigstens eine Antwort hinterlassen.
Gruß M.

Dazu ist nichts hinzuzufügen!

Hallo,

also ein Betriebssystem ist ein Programm, das die hardwarefunktionen eines Computers einem Anwendungsprogramm möglichst einfach und möglichst einheitlich zur Verfügung stellt.

Da stellt sich zuerst die Frage um welche Hardware es geht und welche Funktionen unterstütz werden sollen.
Ist es PC-Hardware? Dann rate ich davon ab, da es einem einzelnen kaum möglich ist, alle Hardware-Komponenten korrekt zu programmieren. Ein Informatik-Studium wäre auf jeden Fall hilfreich. Eine Anleitung dürfte mehrere Bücher füllen.

Geht es um einen kleinen Single-Chip-Computer kann die Software die Hardware-Funktionen meist selbst bedienen, oder man nutzt Entwicklungsumgebungen wie Arduino, die die wichtigsten Funktionen bereitstellen.

Zum nachlesen:
http://www.nondot.org/sabre/os/articles
http://wiki.osdev.org/Main_Page

das was du mir hier geschrieben hast weiß ich alles schon meine frage habe ich jetzt schon des zweitemal gestellt ich wollte genaures erfahren zum programmieren mit einer benutzeroberfläsche ich weiß das zu einem Betriebssystem man einen bootloader programmieren muss weißt du denn übehaupt wie das geht
allerdings über weitere Funktionen wie zumbeispiel das herunterfahren oder die Datum anzeige

könntest du mir so einen code schicken

wenn das nicht geht kannst du dann vileicht den code von Linus in diese mail packen weil ich nemlich nichts gefunden habe zum downloaden

danke für deine antwort
aber jetz mal erlich wenn ich die fragestell wie programmiert man ein Betriebssystem dann möchte ich genaueres haben

z.b:

  1. mit welchem Programm kann man ein richtiges btriebssystem programmieren

2.zum Beispiel einen code für einen teil meines btirebssystem mitschicken?

tschüs

Hallo,

ich wollte ja auch nur vorsichtig andeuten, das so ein Betriebssystem nicht so einfach zu programmieren ist. Ich würde empfehlen, zuerst die Programmierung mit einem Betriebssystem zu erlernen.
Dann weiß man schon mal, was das Betriebssystem macht und zum Teil auch wie es das macht.

Als Programmiersprache kommen hauptsächlich C oder C++ in Frage. Sehr spezielle Sachen vielleicht auch in Assembler. Ein Programm dafür wäre damit z.B. MS Visual Studio C/C++. Es gibt aber auch Betriebssysteme in anderen Programmiersprachen.

Es geht also um PC-Hardware? Schon mal die Links aus der 1. Antwort angeschaut? Da sollte genug Code dabei sein - na gut - der ist manchmal nicht einfach zu verstehen …

z.B. Der Linux-Bootsektor (mit Loader - in Assembler):
http://www.nondot.org/sabre/os/files/Booting/LinuxBo…

Datum und Uhrzeit kann man mit etwas Assembler aus dem CMOS-Baustein auslesen:
http://www.nondot.org/sabre/os/files/Booting/CMOS_SE…
Wie man sieht, steht Tag, Monat und Jahr in den Bytes 7, 8 und 9.

Eine Ausgabe auf den Bildschirm bekommt man am einfachsten mit Bios-Funktionen im Textmodus hin: siehe http://de.wikipedia.org/wiki/Textmodus.

Wie das im Grafikmodus und ohne Betriebssystem funktioniert, will ich jetzt aber nicht heraussuchen - sorry. Dafür muss man einen eigenen Grafiktreiber schreiben.

Das ganze unter Windows zu programmieren ist viel einfacher.

Ach ja, den Code von Linux kann man hier herunterladen: http://www.chip.de/downloads/Linux-Kernel_12991507.html
Eine kleine Suchanfrage bei Google hilft manchmal…

Außerdem gibt es auch Bücher zu dem Thema - ein uralt Buch ist z.B. PC Intern (mit über 1000 Seiten) oder was englisches: Operating Systems - Design and Implementation. Aber das ist anspruchsvolle Lektüre.