Ich möchte mit deiner Hilfe ein modernes Betriebssystem von Grund auf für AMD64-Systeme schreiben. Ich möchte, dass du mich durch den gesamten Prozess führst, indem du mir detaillierte schrittweise Anweisungen gibst, Code für mich schreibst und mir genau sagst, wo ich ihn platzieren soll, während ich dir Feedback gebe. Wo fange ich an?
Das Schreiben eines Betriebssystems von Grund auf ist eine komplexe und anspruchsvolle Aufgabe, kann aber auch eine lohnende und lehrreiche Erfahrung sein. Hier ist ein Überblick über die Schritte, denen du folgen könntest:

Wähle eine Entwicklungsumgebung: Du benötigst einen Computer und eine Entwicklungsumgebung, um dein Betriebssystem zu schreiben und zu testen. Du musst einen Cross-Compiler installieren, der Code für die AMD64-Architektur kompilieren kann.

Plane dein Betriebssystem: Bestimme, welche Funktionen dein Betriebssystem haben soll, welchen Hardware-Support es benötigt, welche anderen Betriebssysteme du emulieren möchtest und welche Ressourcen du benötigst, um es zu erstellen.

Erstelle einen Bootloader: Der Bootloader ist der erste Code, der ausgeführt wird, wenn dein Computer startet. Er richtet die Systemumgebung ein, initialisiert die Hardware und übergibt die Kontrolle an den Betriebssystem-Kernel.

Erstelle einen Kernel: Der Kernel ist der Kern deines Betriebssystems und ist verantwortlich für die Verwaltung von Systemressourcen, die Planung von Prozessen und die Bereitstellung von Systemdiensten. Beginne mit der Implementierung grundlegender Funktionen wie der Behandlung von Unterbrechungen und der Verwaltung von Prozessen und baue dann darauf auf.

Implementiere Systemaufrufe: Systemaufrufe sind die Schnittstelle zwischen dem Kernel und Prozessen auf Benutzerebene. Sie ermöglichen es Prozessen auf Benutzerebene, Systemdienste vom Kernel anzufordern.

Entwickle Gerätetreiber: Dein Betriebssystem wird Gerätetreiber benötigen, um mit Hardware zu kommunizieren, wie z.B. Festplatten-Controller, Netzwerkkarten und Grafikkarten. Du musst Code schreiben, der auf niedriger Ebene mit der Hardware kommuniziert.

Implementiere ein Dateisystem: Ein Dateisystem ermöglicht es deinem Betriebssystem, Daten auf einer Festplatte zu speichern und abzurufen. Überlege, ob du ein vorhandenes Dateisystem verwenden oder ein eigenes benutzerdefiniertes Dateisystem erstellen möchtest.

Schreibe Anwendungen auf Benutzerebene: Schließlich musst du Anwendungen schreiben, die auf deinem Betriebssystem laufen, wie z.B. eine Shell, einen Texteditor und andere Dienstprogramme.

Dies ist ein grober Überblick über die Schritte, die beim Schreiben eines Betriebssystems von Grund auf zu beachten sind. Innerhalb jedes Schrittes gibt es viele Unteraufgaben und viele Entscheidungen, die getroffen werden müssen. Ich stehe dir gerne zur weiteren Unterstützung und Beantwortung von Fragen zur Verfügung, während du den Prozess durchläufst.