Ähm....Tag.

^^
Ich hab mich jetzt durch die 5 Seiten gelesen und einiges gesehen, was recht "unrichtig" ist sowie einiges, was [ironie]leicht[/ironie] vom Thema abschweift. Außerdem brummt mir ganz schön der Kopf^^
Ich geb mal eine erste Stellungnahme ab. Mehr kommt morgen dann. Denk ich.
Um das Ganze mal zu überblicken:
Inawhcs will ein Betriebssystem, auch OS genannt programmieren.
Er hat zurzeit:
Eine kleine Gruppe von Leuten, die mehr oder weniger in der Lage ist, zu programmieren.
Anscheinend auch einen, der zumindest mal ein paar Zeilen geschrieben hat.
Eine erste Frage: Funktionieren diese ersten Zeilen? LÄUFT das "System" ?
Außerdem hat er eine Homepage.
Die ist leider aber noch eine recht Baustelle..
Aber das soll nicht mein Problem sein.
Dann ist da noch das Forum.
Ich hab's bis zur Übersicht geschafft.
Hab sogar noch ein paar Themenüberschriften gelesen.
Aber es lädt mir einfach zu langsam...
Zurück zum Thema:
Du willst ein OS programmieren.
Das ist an sich nicht schlimm.
Schlimm ist, das zu versuchen, wenn man keine Ahnung hat, was ein OS überhaupt ist.
Ich kann dir dazu mal
das ans Herz legen.
Achja: Zu der Diskussion, ob es sinnvoll ist, ein eigenes OS zu schreiben sag ich jetzt mal weniger.
Ich selbst halte es für sinnvoll.
Nicht, weil man nach 2 Wochen das wohl genialste System des Universums in den Händen hält, sondern weil man dabei unglaublich viel über Computer und deren Funktionsweise erfährt.
Wenn am Ende trotzdem das wohl genialste System des Universums dabei rauskommt, dann ist das ein netter kleiner Nebeneffekt.
Mal zur Programmiersprache:
Mit VB kann man nette Windowsfenster programmieren. Ein OS damit zu schreiben dürfte schwierig werden.
Wobei: Nichts ist unmöglich.....
Was man aber auf jedenfall ein wenig können sollte ist Assembler.
Wobei man nicht wirklich gut darin sein muss.
Es reicht im Grunde, wenn man es lesen und kleinste Sachen selbst schreiben kann.
Assembler wirst du, hauptsächlich für die Kommunikation mit der Hardware, brauchen.
Das sind 2 Funktionen, mehr nicht.
( Ich hab sie outport und inport genannt.. )
Wenn du aber kaum mit Asm schreibst, dann brauchst du eine andere Sprache, in der du schreibst.
Da bietet sich in der Regel C an. Du kannst auch C++ verwenden, wie du willst.
C ist aber eher zu empfehlen.
Dann mal weiter:
Du/Ihr macht euch Gedanken über Features...
Dabei kommen ein paar...hm...leicht "komische" Features raus.
Bevor du über Windowskompatibilität nachdenkst, sollte erstmal de Computer angehen.
Das ist der erste Schritt in die richtige Richtung.
Das der Computer keinen Neustart macht, wenn ein kleiner Programmfehler auftaucht ist meist auch gern gesehen.
Dazu sollte man sich mit IDT (Interrupt Deskriptor Table) beschäfftigen.
Außerdem könnte der Protected Mode ganz interesant sein.
Außer du willst mit 1 MB RAM Speicher auskommen...
Mehr kann der Prozessor ohne Protected Mode nämlich nicht ansprechen...
Um in den Protected Mode zu kommen empfiehlt es sich, über GDT und LDT Informationen zu besorgen.
Ansonsten wird es eine kurze Reise in die Welt des Protected Mode (geschätzte 2 Anweisungen..).
Ok...
Dann wäre es gut, wenn man mit dem Haufen Speicher auch was anfangen könnte..
Eine Speicherverwaltung wäre willkommen.
Hier ist Paging auch mal zu beachten.
Ansonsten werden evtl. Viren später mal Spaß haben....wenn sie überall auf dem Speicher schreiben können und die volle Systemkontrolle haben.
Gedanken über Speicherauslagerung sind willkommen.
Ja...Multitasking ist ja auch nicht zu verachten.
Sonst wirds nichts mit dem Musik hören beim Surfen...
Eventuell kann man sich noch Gedanken über Multiprozessoring machen.
Oder darüber, die GPU mit einzuspannen.
Aber ich glaube das ist etwas zu hoch...
Wenn man das soweit mal geschafft hat...
Ja, dann wäre es ganz gut, wenn man ein Programm starten könnte..
Achja: Es wäre dann auch nicht schlecht, ein Programm überhaupt von der Festplatte laden zu können...
Das kann im übrigen GRUB für dich tun (ich hoffe du weißt was GRUB ist..). Zumindest anfangs.
Gedanken über Dateisysteme sind auch nicht schlecht.
Wenn man von NTFS, FAT16, FAT32, ext2, ext3 und Co lesen will.
Ohne Dateisystem wirds unübersichtlich...
Dann wäre es auch mal gut aus dem Kernel Mode rauszukommen...nur zum eigenen Schutz.
Das nennt sich dann User Mode.
Auch Ring 3 genannt.
Ganz vergessen: Die Schutzaufteilung..
Kernel ist Ring 0, das ist klar.
Aber wo ist der Rest?
Treiber auf 2? Oder auf 1?
Oder gar zu den Benutzern auf Ring 3?
Stichwort Benutzer: Single User oder Multi User?
Schutz untereinander?
Bzw eher voreinander...
Ja..
DANN. Und NUR DANN.
Dann kannst du dir Gedanken über Treiber machen.
Geschweige denn msie zu schreiben.
Da wäre deine Angesprochene Windowskompatibilität nicht schlecht..
Wenn man auch die Windowstreiber benutzen könnte...
Wobei das wiederum Schwachstellen von Windows mit ins Boot zieht...
Vielleicht ist ein "Sandkasten" für die Treiber nicht schlecht...
Ok.
Wenn du mal soweit kommst, dann kannst du Stolz auf dich sein.
Ich selbst bin noch nicht annähernd soweit.
Aber ich mache Fortschritte

Und Fortschritt ist immer gut.
Achja:
Lass dir aber den Spaß nicht verderben.
Versuch es!
Fragen kannst du mir stellen.
Und solange du keine 28,45023953 mal stellst werd ich normaler weise auch nicht böse.
Nochwas:
Lerne C.
Lerne es gut.
Noch eine Anmerkung:
"Kinder" sind nicht unbedingt wahnsinnig und von unrealistischen Träumen vollgepumpt.
Unrealistische Träume gibt es nicht.
Was man sich vorstellen kann, das kann man auch bauen.
Soweit die Theorie.
In der Praxis steht zwischen Traum und Ziel oft jede Menge Schweiß und Arbeit (oder Kaffee..).
Manchmal eben zu viel Schweiß und Arbeit (und Kaffee, wobei Cola auch ihren Dienst tut) um in einem Menschenleben (oder in 10) fertig zu werden.
So, bin müde
*Gute Nacht*