Ein 64-Bit-Betriebssystem mit höherem Halb halb
Sie benötigen einen GCC-Compiler, LD-Linker, der normalerweise auf UNIX-ähnlichen Systemen vorinstalliert ist. Auch Qemu, Nasm, Xorriso und Make müssen verfügbar sein.
Wir verwenden auch Clang-Format im make format Skript aus.
Um den Debugger zu betreiben, haben Sie sicher, dass Sie GDB haben.
Um im Debug -Modus zu kompilieren und zu bauen:
makeUm im Produktionsmodus zu kompilieren und zu bauen:
make prodWenn Sie das Betriebssystem mit QEMU ausführen möchten, führen Sie aus:
make runWenn Sie GDB verwenden möchten:
make drunÖffnen Sie dann eine andere Hülle und wechseln Sie zu demselben Verzeichnis und::
make gdb| Besonderheit | Zustand |
|---|---|
| Limin -Bootloader | Arbeiten |
| Kernelbeladung | Arbeiten |
| Gdt | Arbeiten |
| Idt | Arbeiten |
| Bild | Arbeiten |
| GRUBE | Arbeiten |
| Tastatur | Arbeiten |
| printf | Arbeiten |
| Grundaufforderung | Arbeiten |
| Speicherzuordnung | Arbeiten |
| Verfahren | Arbeiten |
| Kontextumschaltung | Arbeiten |
| Faden | Arbeiten |
| Dateisystem | Grundlegende VFs implementiert |
| Ustar | Arbeiten |
| UserSpace | braucht mehr Tests |
| Spiele | Schlangen- und GameofLife -Arbeit |
| Programme | Katze, LS -Arbeit |
| Zu implementierende Funktionen |
|---|
| Implementieren Sie möglicherweise ACPI, um Zugriff auf fortschrittlichere Geräte zu erhalten |
| Benutzerraum |
| Unterstützung für einfache Dateisysteme wie Fett |
| Unterstützung für Elf |
| SYSKALLEN, um Binärdateien wie ELFS auszuführen |
| Einfacher Hardware -Support wie USB |
Ziel ist es, ein voll funktionsfähiges Betriebssystem zu implementieren, das grundlegende Tools enthält und möglicherweise LIBC und einige Unix-ähnliche Programme und Anwendungen unterstützt.
Da wir Anfänger in Osdev und niedriger Programmierung sind, mussten wir verwenden und
Lesen Sie eine umfassende Menge an Quellen, um einige zu verstehen zu haben.
Die Namen würden hier nicht passen, aber wir werden uns mit OSDEV -Projekten verweisen, die viel enthalten
von sehr guten Projekten, die als Referenzen für das Lernen verwendet werden können. Wir haben definitiv eine große Wertschätzung für jeden einzelnen von ihnen, der uns in irgendeiner Weise geholfen hat.