Fangen wir an!
C Sprache und x86 Montage
Natürlich benötigen Sie nur eine einfache Baugruppe. In Bezug auf C -Sprache benötigen Sie nicht viel Wissen, um den Prozess von Quelldateien bis hin zu ausführbaren Dateien zu verstehen.
Grundlegende linux -Befehle
Bei einer einfachen Kernel -Kompilierung haben wir einige Werkzeuge unter linux verwendet, wie nasm , und natürlich gibt es auch in windows , einschließlich gcc . Der Zusammenstellungsprozess erfolgt jedoch in linux .
Welche Tools werden wir verwenden?
Notepad++ , sublime usw. Der einfachste Notizblock ist in Ordnung.sublime Werkzeug selbst in 16 Form angezeigt werden, und die virtuelle Maschine verfügt auch über Werkzeuge, mit denen wir analysieren können.linux Virtual Machine, wir verwenden hier Ubuntu i386 . Müssen Tools nasm , vim , gcc , readelf usw. installieren.Natürlich müssen Sie sich keine Sorgen machen. Wenn Sie diese Tools oder Materialien verwenden, gibt es im Artikel Hyperlinks. Sie können es herunterladen und überprüfen. Gleichzeitig gibt es auch viele Informationen im Internet, die Sie lesen können.
Was ist das Endergebnis?
Schließlich ist es natürlich kein sehr vollständiges Betriebssystem. Dies ist eher einer Forschungsforschung und einem Verständnis von OS sowie der Beziehung zwischen C -Sprache und Montage, und schließlich ist es ein Verständnis dafür, wie Hardware und Software damit umgehen.
In 7 Teilen haben wir nur Einschalt- und Stromversorgungsstörungen abgeschlossen, den Hauptstartsektor geladen und dann weitere Informationen in den Speicher geladen. Schließlich haben wir einfach den Eintrag vom realen Modus zum geschützten Modus erkannt. Das ist alles, aber der Prototyp des Betriebssystems ist ungefähr gleich.
Während des gesamten Prozesses haben wir auf einige Videos und elektronische Lehrbücher verwiesen
[1] " 30 -Tage -hausgemachtes Betriebssystem"
[2] "Implementierung eines Oranges -Betriebssystems"
[3] 51CTO
usw.
Die Hauptreferenz sind E-Books [2] . Der Inhalt in [1] ist umfassender und das Endergebnis vollständiger.
Die Quelldateien und Notizen werden zusammen in GitHub hochgeladen. Wenn Sie Fragen haben, können Sie mich auch unter [email protected] kontaktieren. Jeder Ordner ist eine unabhängige Struktur, und die kompilierten Binärdateien werden nicht hochgeladen, aber der Quellcode und die Tools werden hochgeladen.