Le système d'exploitation multiprocesseur 32 bits x86 capable d'exécuter des applications utilisateur de console ou graphiques.
Veuillez trouver toutes les sorties sur https://github.com/scopeinfinity/fuzzyos/releases
L'image de démarrage peut être trouvée sous Assets pour la version correspondante.
Les captures d'écran peuvent être situées en tant Artifacts sous EXAMÉ FROME SUR LES ACTIONS / CI.
| Chargeur de démarrage | Tournant au noyau |
|---|---|
![]() | ![]() |
| Coquille simple | chat |
|---|---|
![]() | ![]() |
| fourchette() | Jeu tictactoe |
|---|---|
![]() | ![]() |
| Jeu de pingpong | Programmation du logo |
|---|---|
![]() | ![]() |
| Bureau |
|---|
![]() |
make images après le clonage du référentiel. FuzzyOS.vdi comme stockage. FuzzyOS.vmdk comme stockage. dd ou scripts/burn.sh pour brûler l'image dans le disque (potentiellement destructeur).bash scripts/burn.sh build/FuzzyOS.raw /path/to/devicefile| Fonctionnalité | Existant |
|---|---|
| Boot: Bios hérité | ✔️ |
| Démarrer: UEFI | |
| Style de partitionnement de disque: MBR | ✔️ |
| Style de partitionnement de disque: GPT | |
| Image du disque exportée: VMDK | ✔️ |
| Image de disque exportée: VDI | ✔️ |
| Image de disque exportée: brut | ✔️ |
| Kernel <-> application et application <-> Isolement de l'application | ✔️ |
| Opearating-mode: Mode réel (Boot-chargedeur + RealMode-Library) | ✔️ |
| Opearating-mode: Mode protégé (noyau + application utilisateur) | ✔️ |
| Conducteur: disque IO | ✔️ |
| Conducteur: pic | ✔️ |
| Conducteur: Pit | ✔️ |
| Conducteur: clavier | ✔️ |
| Système de fichiers: FFS (interne) (en lecture seule) | ✔️ |
| gestionnaire d'interruption | ✔️ |
| Syscall: Console de texte IO | ✔️ |
| Syscall: graphiques | ✔️ |
| Syscall: clavier | ✔️ |
| Syscall: Handleurs de fichiers | ✔️ |
| Process-Scheduler: Round Robin | ✔️ |
| Système de fichiers: FFS (personnalisé) (en lecture seule) | ✔️ |
| Affichage: mode texte | ✔️ |
| Affichage: graphiques-VGA 320x200 256 couleurs | ✔️ |
| concurrence: multiprocessement | ✔️ |
| concurrence: multithreading | |
| parallélisme | |
| Sécurité dans la portée | |
| réseautage | |
| App-construction: support C | ✔️ |
| App-construction: support C ++ | ✔️ |
| Build d'applications: bibliothèques standard C / C ++ (au besoin) | ✔️ |
| App-runtime: allocation de mémoire de tas | ✔️ |
| Application: calculatrice | ✔️ |
| Application: chat | ✔️ |
| Application: bureau | ✔️ |
| Application: Echo | ✔️ |
| Application: forkbomb | ✔️ |
| Application: logo | ✔️ |
| Application: LS | ✔️ |
| Application: ping-pong | ✔️ |
| Application: SH (Terminal) | ✔️ |
| Application: SimpleCPP (exemple) | ✔️ |
| Application: plus | ✔️ |
| Application: multiprocessement (exemple) | ✔️ |
| Application: tictactoe | ✔️ |
Application: Your's? Yes, raise a PR | ✔️ |
bash before_install.sh
make clean
make qemu
Utilisez Make pour construire des binaires et des fichiers d'image.
make
À ce moment, les tests fonctionnent en injectant ASM prédéfini dans le code source qui arrête l'exécution au point d'intérêt. Après cela, les tests peuvent utiliser le moniteur Qemu pour vérifier l'état actuel avec l'état attendu.
make test
Exécutez Qemu en mode débogage et configurez le serveur GDB.
make qemu_debug
Puis se connecter au serveur GDB.
make qemu_debug_connect
Contribution.md