Ich habe darüber nachgedacht, ein Betriebssystem zu erstellen und verlasse mich jetzt auf Ihren Rat, wo ich mit der Erstellung beginnen soll.
Antwort1
Ist das dein Ernst? Ich meine, es gibt viele von Fans erstellte Betriebssysteme, aber es ist harte und aufwändige Arbeit!
Zunächst einmal muss ein Betriebssystem mindestens über Folgendes verfügen:
Ein Bootloader: Um den Kernel in den RAM zu übertragen, die TLBs vorzubereiten und einige organisatorische Arbeiten durchzuführen
Ein Kernel: Der Kernel ist der wichtigste Teil eines Betriebssystems und verwaltet wichtige Aspekte wie die Zuordnung von physischem/virtuellem Speicher zwischen Programmen, Multitasking, I/O-Planung, IPC, Mutexe usw. Je nach Betriebssystem gibt es verschiedene Philosophien (monolithisch, wie die Linux-Architektur; hybrid, wie die OS X-Architektur; oder Mikrokernel, wie das unfertige Hurd). Je nachdem ist es der Kernelcode oder der Benutzercode, der jeden einzelnen Aspekt des Systems verwaltet.
Userland-Anwendungen, die einem Benutzer eine gewisse Interaktion mit der Maschine ermöglichen.
In der GNU/Linux- und BSD-Welt gibt es mehrere davon, wie zum Beispiel:
Bootloader: GRUB2, GRUB, LILO, ISOLINUX ...
Kernel: Linux, kFreeBSD ...
Userland-Apps: GNU [oder] BSD Coreutils, Bash, Xorg und unzählige mehr :)
Falls das Ihre Frage ist, haben wir hier die Antwort für Sie. Weitere Informationen dazu, wie Sie mit den Designentscheidungen zu den einzelnen Aspekten beginnen können, finden Sie im folgenden Wiki:http://wiki.osdev.org/Hauptseite
Es gibt viele Informationen darüber, wie Bootloader funktionieren, wie man im Baremetal-Modus ohne Commodities wie stdio.h programmiert und wirklich viele nützliche Informationen.