Minotauros
Introduction du projet
Minotauros est un système d'exploitation basé sur l'architecture RISC-V écrite dans la langue de la rouille. L'objectif est d'implémenter un système d'exploitation multicœur compatible Linux qui prend en charge la planification de processus, le système de fichiers, le réseau et d'autres fonctions.
Construction de l'environnement
- Rust: Nightly-2024-02-03
- Qemu: 7.0.0-9.0.0
- RISC-V Toolchain: RISCV64-Sundown-Linux-GNU
- Placer les fichiers de disque
disk.img et les fichiers de chargeur de démarrage rustsbi-qemu.bin dans le répertoire prebuilts
Compiler et courir
- Préparation de l'environnement:
make env - Compiler le binaire de l'État utilisateur:
make user - Compiler le noyau d'État binaire:
make kernel - Tous compilés:
make all - Exécutez l'émulateur:
cargo task run - Documentation de compilation:
typst compile docs/main.typ
Schéma d'annuaire
- noyau / src: code du noyau
- Arch: code lié à l'architecture
- Intégré: intégrer les programmes utilisateur
- débogage: module de débogage et journal
- Conducteur: conducteur de l'appareil
- FS: Système de fichiers
- MM: gestion de la mémoire
- net: module réseau
- Processus: gestion des processus
- Processeur: gestion multi-fond
- horaire: module de planification et d'horloge
- Signal: module de traitement du signal
- Sync: Mécanisme de verrouillage et de synchronisation
- Syscall: fonction de traitement des appels système
- Piège: interruption et manipulation des exceptions
- Main.RS: programme principal
- Utilisateur: programme utilisateur
- Prébuilts: fichiers précompilés
- Tâches: compiler les tâches
- Docs: documentation du projet