Fusion, un système d’exploitation amateur implémenté en Nim
(github.com/khaledh)Fusion OS
Fusion est un système d’exploitation amateur pour x86-64 implémenté en Nim. Son processus de développement est documenté sur https://0xc0ffee.netlify.app.
Captures d’écran
- Chargeur d’amorçage UEFI
- GUI ( Remarque : cette capture d’écran provient de la branche
graphics, encore en cours de développement.) - Démarrage du noyau Fusion
Fonctionnalités
Fonctionnalités actuellement implémentées :
- Chargeur d’amorçage UEFI
- Gestionnaire de mémoire physique
- Gestionnaire de mémoire virtuelle
- Espace d’adressage unique
- Mode utilisateur
- Multitâche préemptif
- Appels système
- Chargeur ELF
- Interruptions de timer
Fonctionnalités prévues :
- Pagination à la demande
- Communication inter-processus
- E/S disque
- Système de fichiers
- Entrée clavier/souris
- Shell
- GUI
- Réseau
Build
Pour compiler Fusion, vous devez installer les dépendances suivantes :
- Nim
- LLVM (clang et lld)
- Just
Compilez Fusion avec la commande suivante :
just build
Exécution
Fusion s’exécute actuellement sur QEMU, vous devez donc d’abord installer QEMU. Lancez Fusion avec la commande suivante :
just run
Licence
MIT
Résumé de GN⁺
Fusion OS est un système d’exploitation amateur pour x86-64 implémenté en Nim, utile pour celles et ceux qui souhaitent apprendre le processus de développement d’un OS. Il intègre déjà des fonctions de base comme un chargeur d’amorçage UEFI, des gestionnaires de mémoire physique et virtuelle, ainsi que le mode utilisateur. À l’avenir, diverses fonctionnalités comme la pagination à la demande, la communication inter-processus et le système de fichiers doivent être ajoutées. Il peut être testé facilement via QEMU, ce qui le rend adapté au développement et à l’apprentissage. Parmi les projets similaires, on peut citer xv6 et OSDev.
1 commentaires
Avis Hacker News