Fusion, ein in Nim implementiertes Hobby-Betriebssystem
(github.com/khaledh)Fusion OS
Fusion ist ein für x86-64 entwickeltes Hobby-Betriebssystem, das in Nim implementiert wurde. Der Entwicklungsprozess wird unter https://0xc0ffee.netlify.app dokumentiert.
Screenshots
- UEFI-Bootloader
- GUI ( Hinweis: Dieser Screenshot stammt aus dem noch in Arbeit befindlichen
graphics-Branch.) - Booten des Fusion-Kernels
Funktionen
Derzeit implementierte Funktionen:
- UEFI-Bootloader
- Physischer Speicherverwalter
- Virtueller Speicherverwalter
- Einzelner Adressraum
- User Mode
- Präemptives Multitasking
- Systemaufrufe
- ELF-Loader
- Timer-Interrupts
Geplante Funktionen:
- Demand Paging
- Interprozesskommunikation
- Festplatten-I/O
- Dateisystem
- Tastatur-/Mauseingabe
- Shell
- GUI
- Netzwerk
Build
Um Fusion zu bauen, müssen die folgenden Abhängigkeiten installiert werden:
- Nim
- LLVM (clang und lld)
- Just
Fusion wird mit dem folgenden Befehl gebaut:
just build
Ausführung
Fusion läuft derzeit in QEMU, daher muss QEMU zunächst installiert werden. Mit dem folgenden Befehl wird Fusion ausgeführt:
just run
Lizenz
MIT
Zusammenfassung von GN⁺
Fusion OS ist ein für x86-64 entwickeltes Hobby-Betriebssystem, das in Nim implementiert wurde und für Menschen nützlich ist, die den Entwicklungsprozess eines Betriebssystems erlernen möchten. Derzeit sind grundlegende Funktionen wie ein UEFI-Bootloader, physische und virtuelle Speicherverwaltung sowie User Mode implementiert. Künftig sollen verschiedene Funktionen wie Demand Paging, Interprozesskommunikation und ein Dateisystem hinzukommen. Da es sich leicht über QEMU testen lässt, eignet es sich gut für Entwicklung und Lernen. Ähnliche Projekte sind xv6 und OSDev.
1 Kommentare
Hacker-News-Kommentare