- Système d’exploitation expérimental qui suit rigoureusement la philosophie « everything is a file » de Plan9
- Entièrement réécrit from scratch en C et en assembleur pour le développement d’OS à vocation éducative et expérimentale
- Architecture de noyau entièrement préemptive et tickless basée sur l’ordonnanceur EEVDF. Prise en charge du SMP, du multithreading et d’un contrôle fin des verrous
- Fournit un système d’IPC basé sur les fichiers : inclut pipes, mémoire partagée, sockets et système de notes dans le style des
signals de Plan9
- Couche d’abstraction des périphériques basée sur les fichiers pour une gestion unifiée du framebuffer, des périphériques d’entrée, etc.
- Prend en charge comme primitives de synchronisation les mutex, rwlock, futex, etc.
- Conception modulaire du noyau, avec chargement/déchargement de modules à l’exécution
- Le système de fichiers adopte une structure VFS de style Unix. Prise en charge des points de montage, des liens physiques et des espaces de noms par processus
- L’espace utilisateur se compose de sa propre bibliothèque standard C et de bibliothèques système
- Fournit un environnement de bureau modulaire basé sur la mémoire partagée
- Principales différences avec POSIX
- Utilise
spawn() à la place de fork(), exec()
- Supprime la notion d’utilisateur et adopte une bibliothèque standard non POSIX
- Contrôle d’accès via des flags de fichier plutôt que des modes de fichier
- Limitations actuelles
- Prise en charge uniquement des RAM disks, x86_64 uniquement
- Feuille de route
- Portage de LUA et configuration dynamique du système
- E/S asynchrones et appels système (
io_uring est envisagé)
- Ajout prévu de la prise en charge USB
- Les utilitaires shell ont été repensés pour s’adapter au système de flags de fichier
- Interface proche des utilitaires POSIX comme
touch, cat, echo, ls, rm, etc.
- Environnement de build : Linux, GCC, NASM, mtools et QEMU requis
- Documentation basée sur Doxygen, avec commentaires de code et références
- Conçu comme un OS intermédiaire à vocation éducative entre xv6 et Linux
Aucun commentaire pour le moment.