Dies ist mein erster Versuch, ein einfaches Betriebssystem für Bildungszwecke zu erstellen. Ich möchte mehr über die grundlegenden Konzepte des Computers erfahren. Aus diesem Grund mache ich mehrere Projekte wie das Schreiben eines Interpreters, Compiler, Webservers, Dateisystems, dieses Projekt und das Erstellen meines eigenen 8-Bit-Computers, der aus Manny TTL-Chips, Breadboards und (eine unnötige Menge, um es komplizierter aussehen zu lassen) LEDs aussehen.
Dieses Projekt enthält mehrere Komponenten wie einen Bootloader, Kernel und zusätzliche Tools zum Erstellen/Ausführen des Betriebssystems. Der Bootloader ist in der NASM -Versammlung geschrieben und der Kernel wird in C und C ++ geschrieben. Einige der zusätzlichen Werkzeuge für die Build/Run -Automatisierung werden in Bash, Makefile und Python geschrieben.
| Benutzer | Kontakt | Rolle |
|---|---|---|
| Joris Rietveld | [email protected] | Betreuer, Entwickler |
Da es sich um meine Faust handelt, muss ich viel über fast jeden Teil, der in der OS -Entwicklung benötigt wird, viel über fast jeden Teil lernen. Ich genieße es zu lehnen und fand, dass das Schreiben von Tutorials und Dokumentation in meinem Lernprozess wirklich hilft. Ich denke, das liegt daran, wie, warum und was Sie tun, deckt auf, wenn Sie wirklich verstehen, was und vor allem, warum Sie etwas tun.
Ressourcentypen? Websites,? YouTube -Videos PDF (Downloads) und Lehrbücher
NASM/Assembly
C/C ++
Verprügeln
Betriebssystementwicklung/Architektur
Einige Grundlagen
? Wie der PC -Booten funktioniert
? Halten Sie es kurz, dumm (Kernelentwicklung)
? Elf von Grund auf neu
Während ich das Thema der OS -Entwicklung untersuchte, fand ich mehrere coole Projekte auf Github, die mich während der Erstellung meines Projekts inspirierten.
Copyright (c) 2017 Joris Rietveld [email protected] Dieses Programm ist kostenlose Software: Sie können es neu verteilt und/oder unter den Bestimmungen der GNU General Public Lizenz wie von der Free Software Foundation veröffentlicht, entweder Version 3 der Lizenz oder (nach Ihrer Option) jede spätere Version. Dieses Programm wird in der Hoffnung verteilt, dass es nützlich sein wird, jedoch ohne Garantie; Ohne die implizite Garantie für Handelsfähigkeit oder Eignung für einen bestimmten Zweck. Weitere Informationen finden Sie in der GNU General Public Lizenz. Sie hätten zusammen mit diesem Programm eine Kopie der GNU General Public Lizenz erhalten haben. Wenn nicht, siehe http://www.gnu.org/licenses/.