Eigenes Betriebssystem

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Kmitska
Beiträge: 349
Registriert: Fr Sep 23, 2011 8:49 pm
Wohnort: Karlsruhe, Pforzheim

Eigenes Betriebssystem

Beitrag von Kmitska » So Apr 22, 2012 9:40 pm

Hallo Leute,

wollte mich darüber informieren, wie man einen eigenen OS schreiben könnte, also kein OS, das sich auf Linux basiert.

Ich weiß, dass man da mit dem Kernel anfängt, also Driver-Programmierung ist angesagt, oder?
Auch wenn ich mit Kernel-Anfange, wie teile ich meinem Computer mit, dass ich eigenen OS aufsetze (Ja via BIOS laden, aber wie was wo hä!?)
Könnte mir jemand von euch darüber beraten, wäre dankbar. :-)

Wenn wir schon bei dem Thema sind, wie steige ich am Besten in die Hardware-Eben ein? :-)

Kind regards,
Kmitska

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: Eigenes Betriebssystem

Beitrag von Kerli » So Apr 22, 2012 9:54 pm

Kmitska hat geschrieben:wollte mich darüber informieren, wie man einen eigenen OS schreiben könnte, also kein OS, das sich auf Linux basiert.
Schon einen Blick ins Wiki geworfen? ;)
http://www.proggen.org/doku.php?id=kernel:start
Kmitska hat geschrieben:Wenn wir schon bei dem Thema sind, wie steige ich am Besten in die Hardware-Eben ein? :-)
Hängt davon ab welche Hardware. Einen guten Einstieg bieten (8-Bit) RISC Mikroprozessoren wie die AVR Serie von Atmel. Empfehlen kann ich da vor allem Arduino, da es sowohl einfach zum Anfangen ist also auch vielfältige Möglichkeiten bietet.
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Eigenes Betriebssystem

Beitrag von cloidnerux » Mo Apr 23, 2012 6:37 am

Ich weiß, dass man da mit dem Kernel anfängt, also Driver-Programmierung ist angesagt, oder?
Auch wenn ich mit Kernel-Anfange, wie teile ich meinem Computer mit, dass ich eigenen OS aufsetze (Ja via BIOS laden, aber wie was wo hä!?)
Das stimmt alles so nicht.
Du fängst an mit einem Bootloader, ein kleiner Assemblerprogramm das vom BIOS aufgerufen wird. Von diesem Programm lädst du dann deinen eigentlichen Kernel und der Darf erstmal den Prozessor initialisieren, den Arbeitsspeicher verwalten, Prozess- und Datenstrukturen aufbauen(du hast kein malloc/new, free/delete). Dann musst du anfangen für das Grundlegenste Treiber zu haben(North/Southbridge, Festplattencontroller, Grafikkarte/Chip, Tastatur/Maus). Dann geht es erst richtig mit Treiberprogrammierung los, denn nun kommt der ganze Rest(Audio, Festplatten, MUltimedia-Geräte, USB und was weiß ich nicht alles), aber bisher nur all das, was dein Computer besitzt. Wenn dein OS mal verbreitet werden soll, dann musst du für noch mehr Hardware Treiber programmieren. Nun solltest du so bei 100k Zeilen Code sein. Nun kann man anfangen eine Abstraktionsschicht einzubauen, dass man dein OS auch mal nutzen kann, Virtuelles Dateisystem, Dienstprogramme, eine Konsole programmieren, das dürften auch nochmal 100k-200k Zeilen code werden und du hast schonmal ein Konsole, nix weiter. Grafische Oberfläche mitsamt allem drum und dran bringen dich dann geschätzt auf 1M Zeilen Code.

Fazit: Ein OS ist kein Wochenendprojekt, vor allem wenn es in irgendeiner art "Produktiv" eingesetzt werden soll.

AVRs bieten einen guten Einstieg in die hardwarenahe Programmierung und wie Kerli schon sagte, ist die ARDUINO Plattform ein guter weg um Einzusteigen. Du kannst dir aber auch irgendein ARM-Evalutationsboard kaufen und dann direkt mit ARM-Programmierung anfangen, dass ist aber etwas Komplizierter.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Eigenes Betriebssystem

Beitrag von Xin » Mo Apr 23, 2012 9:26 am

Kmitska hat geschrieben:wollte mich darüber informieren, wie man einen eigenen OS schreiben könnte, also kein OS, das sich auf Linux basiert.
Es gibt diverse Autoren, die für entsprechende Bücher bekannt sind.
Dazu gehören Tanenbaum - das Buch hat Linus Torvalds gelesen und darauf aufbauend Linux entwickelt. Weiterhin gibt es den Silberschatz.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten