UPDATE : Dieses Projekt ist aus Zeitmangel nicht aktiv aufrechterhalten.

Thor ist ein Betriebssystem für Lernzwecke und zum Spaß.
Es handelt sich derzeit um ein 64-Bit-Betriebssystem, das hauptsächlich in C ++ geschrieben wurde und bei Bedarf einige Montagezeilen.
Es gibt viele Gründe, ein Betriebssystem von Grund auf neu zu erstellen.
Für mich sind die beiden Hauptgründe zum Spaß und zum Lernen neuer Dinge. Als ich mich gelangweilt habe, an meinem benutzerdefinierten Compiler zu arbeiten, beschloss ich, an einem neuen Projekt zu arbeiten, und entschied mich für die Entwicklung des Betriebssystems. Es ist wahrscheinlich das komplizierteste Hobbyprojekt, das durchgeführt werden kann. Ich musste in diesem Projekt viele Dinge lernen, um voranzukommen. Es gibt unzählige Schwierigkeiten, an die Sie in normalen Programmen gar gar gar gar nicht denken. Im Allgemeinen, seit ich das Programmieren liebe, war ich mir sicher, dass ich viel Spaß daran haben könnte, mein eigenes Betriebssystem zu entwickeln. Es gibt auch die Geek -Seite, ein eigenes Betriebssystem zu haben :)
Ich habe absolut keine Absichten, mit diesem Projekt Geld zu verdienen. Wenn ich keinen Spaß mehr habe, es zu entwickeln, werde ich einfach für eine Weile das Projekt wechseln;)
Das Schreiben eines Betriebssystems von Grund auf ist nicht einfach. Bei jedem Schritt benötigen Sie viele Informationen, die nicht unbedingt leicht verfügbar sind. Je fortschrittlicher Ihr Betriebssystem ist, desto weniger Informationen finden Sie.
Die beiden Hauptressourcen für die Entwicklung waren:
Eine gute Reihe von Tutorials, die zunächst mit der Broken Thorn -Serie beginnen. Ich habe das komplette Tutorial nicht verfolgt (nur einige bestimmte Teile), aber es ist voller guter Informationen und es ist wahrscheinlich ein guter Ausgangspunkt.
Es gibt auch die James Molloy -Serie. Es ist viel weniger vollständig, aber wenn Sie Tutorials mögen, wird es wahrscheinlich hilfreich sein.
Und natürlich (wenn Sie sich auf Intel entwickeln), das Handbuch für Intel 64 und IA -32 -Architekturen -Softwareentwickler , gibt es mehrere Teile des Handbuchs. Ich habe hauptsächlich die Systemprogrammierung verwendet - Teil 1 Teil. Obwohl es schwer erscheinen kann, ist es ziemlich gut und wird ein unschätzbares Kapital sein, um die Architektur zu verstehen: zum Beispiel, das Paging und die Interrupt -Handhabung.
In Bezug auf Bücher war ich bisher ziemlich enttäuscht. Es gibt viele Bücher über das Betriebssystem, aber keine der wenigen, die ich bisher gelesen habe, war großartig. Sie können Ihnen wahrscheinlich gut helfen, OSS zu verstehen, aber ziemlich schlecht darin, Ihnen dabei zu helfen, Ihr eigenes Betriebssystem zu entwickeln. Darüber hinaus sind sie auch ziemlich veraltet.
Die Bücher, die ich gelesen habe, sind:
Während Bücher Ihnen im Allgemeinen helfen, Betriebssysteme ein wenig zu verstehen, können sie Ihnen jedoch nicht wirklich helfen, etwas zu entwickeln. Ich habe andere Bücher, die bald eintreffen sollten. Ich hoffe, sie werden besser.
Hinweis: Dieses Repository verwendet Submodules. Vergessen Sie nicht die Option -rekursive Option, wenn Sie es überprüfen.
Das Erstellen von Verfahren wird im Wiki beschrieben: https://github.com/wichtounet/thor-os/wiki/build
Dieses Projekt wird unter der MIT -Lizenz verteilt. Lizenz für Details lesen.