Was benötigt man unter Windows, wenn man ein OS entwickeln will?
-
Was benötigt man unter Windows, wenn man ein OS entwickeln will?
Welche Literatur / Links kann man als Einsteiger verfolgen?
-
als Literatur dafuer da gibts oder wäre ein Autor namens
Tannenbaum zu nennen. (Ich hoffe habe den richtig geschrieben)
Zur praktischen Umsetzung:
Was kann man dazu verwenden: nen Assembler
oder wenn es nicht mit Mnemonics sein soll
ein C-Compiler.wirst sicherlich nochmehr Info hier kriegen mehr kann ich leider weiter nichts
dazu sagen. Wirst sicherlich noch nen paar andere Hinweise hier erhalten.
Ach ja und umfangreiche Kenntnisse in Systemprogrammierung sind sowiso von Nöten dazu
-
Nun ja, du solltest vissen, was PIC, IVT, Segment Descriptoren, Boot Sektoren usw. sind. Weiters sollte dir die Unterschiede zwischen Real- und Protected-Mode geläufig sein. Du solltest dir, bevor du zu Programmieren anfängst auch völlig klar darüber sein, was dein Betriebssystem leisten soll (so zusagen solltest du ein "Design-Goal" haben). Folglich brauchst du ein Design Konzept. Man nehme:
einen Editor deiner wahl (zB. Notepad++)
nasm (netwide assembler, Intel Syntax)wahlweise:
Diskettenlaufwerk nebst leerer Diskette und rawrite
oder
PC-Emolator à la Bochsnützlich wird auch Ralf Brown's Interrupt List sein.
Schreib' doch zuerst 'mal einen Bootloader, welcher im Real-Mode bleibt und einen einfachen String ausgibt und sich dann aufhängt. Dazu gibt es endlos Tutorials im Netz. Ist diese Hürde genommen, versuche, den 2. Sektor der Disk (welchen du zuvor natürlich mit ausführbarem Code bestückt hast) in den Speicher zu laden und dorthin zu jumpen. Ist auch dies erledigt, denke ich hast du eine ungefähre Ahnung davon, wie langwierig und mühsam es ist ein Betriebssystem zu schreiben. Danach natürlich kannst du beginnen, die IVT umzubiegen, GSD und ISD laden und in den Protected-Mode wechseln und dich dort mit VESA, IDE-Treiber, Tastaturtreiber oder einem anderen nervigen Problem deiner wahl herumschlagen...
Ich wünsch nur noch viel Glück (halt uns auf dem laufenden)
Greetz, Swordfish
-
sclearscreen schrieb:
Tannenbaum zu nennen. (Ich hoffe habe den richtig geschrieben)
Solange du nicht
eine Gattung von Nadelbäumen in der Familie der Kieferngewächse (Pinaceae)
meinst, schreib man ihn Andrew S. Tanenbaum.
-
und vielleicht sollte man sich beispiele ansehen: http://www.nilsenelektronikk.no/neproc.html
-
Hab mich vor nicht allzu langer Zeit auch damit beschäftigt.
Bin damals auf folgende Links gestoßen, alle enthalten einige
Tutorials die die Entwicklung eines OS relativ einfach gestalten.
Jedenfalls hat man danach einen guten Anfang und weis grob wie die Sache abläuft.http://www.lowlevel.net.tc/
http://www.osdever.net/
http://www.osdev.org/howtos/1/index.html
-
Wenn du nicht alles selber machen willst könnte das hier recht praktisch sein. Betriebssysteme, die nach dieser Spezifikation gebaut werden können z.B. mit GRUB gebootet werden (wie z.B. Linux).
-
Ich denke einen C/C++-Compiler benötigt man auch noch, wenn man nicht alles in Assembler erledigen will. http://www.c-plusplus.net/forum/viewtopic.php?t=41476
Das Buch von Andrew S. Tanenbaum benötigt man eher nicht. Da gibt es praxisnähere und spezifischere Tutorials im Netz.
-
Soll das neue OS dann unter Windows laufen
-
Soll das neue OS dann unter Windows laufen
Ich möchte das OS unter Windows entwicklen, da ich mich dort besser auskenne.
Das entwickelte OS soll Windows ablösen!
-
OS_Newbie schrieb:
Das entwickelte OS soll Windows ablösen!
Was soll man dem noch hinzufügen? Good luck
Greetz, Swordfish
PS: Aber vergiss nicht, dein OS mit einem grauenhaften Browser nebst umfangreichen Office-Paket zu bundlen (U know, world domination - fast!!!
)
-
Bau am besten auch gleich eine Schnittstelle für Patches mit ein.
Die wirst du brauchen wenn du dich an MS orientierst.
Somit kannst du dann gleich nach Veröffentlichung deines OS ein ServicePack zur Verfügung stellen.bye Saxony
-
Das entwickelte OS soll Windows ablösen!
Die Welt macht einfach noch Spass, wenn man beschließt, sich ein paar Bücher zuzulegen, um durch ein bisschen lesen und programmieren das alte Windows durch ein selbst programmiertes eigenes Betriebssystem abzulösen. Selbst macht man schließlich sowieso alles besser und die Menschen, die diese Bücher schreiben, sind ja meist Akademiker und haben somit keine Ahnung von der Praxis.
-
Turing schrieb:
...und die Menschen, die diese Bücher schreiben, sind ja meist Akademiker und haben somit keine Ahnung von der Praxis.
auch wenn die akademiker das selber nie hinkriegen würden, sollte man deren theoretischen kram doch zur kenntnis nehmen. kann echt hilfreich sein...
-
OS_Newbie schrieb:
Das entwickelte OS soll Windows ablösen!
Ich mach mit!
-
... war nur Spaß.
Gibt es eine Seite für Dummies, wo alles step-by-step und haarklein dargestellt wird? Die Seiten, die ich bisher gefunden habe, sind theorielastig und weniger praxisorientiert. Gibt es da was Brauchbares (englisch, spanisch oder deutsch)?
-
OS_Newbie schrieb:
... war nur Spaß.
Gibt es eine Seite für Dummies, wo alles step-by-step und haarklein dargestellt wird? Die Seiten, die ich bisher gefunden habe, sind theorielastig und weniger praxisorientiert. Gibt es da was Brauchbares (englisch, spanisch oder deutsch)?Spanier
zum topic:
Saug dir die sourcen vom linuxkernel => http://www.kernel.org
Das dürfte genügend praxisorientiert sein.
Oder: Hol dir die sourcen von FreeDOS ( es ist doch OpenSource oder irre ich mich da? )
-
Swordfish schrieb:
Schreib' doch zuerst 'mal einen Bootloader, welcher im Real-Mode bleibt und einen einfachen String ausgibt und sich dann aufhängt. Dazu gibt es endlos Tutorials im Netz.
Sag mal eins.
-
Hier habe ich einige einfache Artikel konserviert, die inzwischen verschwunden sind (Teil 3 hat kleine Fehler):
http://www.henkessoft.de/Sonstiges/OS_Linux_Gazette.docansonsten:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-124713-and-highlight-is-.html
-
ich sehe keinen grund das spielzeug in 'ner konserve aufzubewahren... http://linuxgazette.net/issue77/krishnakumar.html
achja, sind ja 2 teile... http://linuxgazette.net/issue79/krishnakumar.html