- Maestro est un noyau et un système d’exploitation de type Unix, entièrement écrits en Rust dès le départ.
- Au départ, il avait été implémenté en C, mais le projet a basculé vers Rust lorsqu’il est devenu difficile de garder une base de code propre.
- Rust a permis de repartir de zéro sur le projet de manière plus innovante que d’écrire en C un noyau similaire à Linux, tout en tirant parti de sa sûreté pour réduire la difficulté de la programmation kernel.
État actuel du projet
- Maestro est actuellement un noyau monolithique qui ne prend en charge que l’architecture x86 (32 bits).
- Au moment de la rédaction, environ 135 appels système Linux sont implémentés, soit environ 31 % du total.
- En plus du noyau, l’OS comprend des composants comme le système de démarrage et gestionnaire de démons Solfège, les utilitaires système
maestro-utils et le gestionnaire de paquets blimp.
- Des logiciels tiers comme musl (bibliothèque standard C), bash, certaines commandes GNU coreutils et neofetch (version patchée) ont été testés avec succès sur l’OS.
Essayez-le vous-même !
- L’OS en est encore à un stade très précoce de développement et reste très instable ; il n’est donc pas recommandé de l’installer sur une machine contenant des données importantes.
- Il a été principalement testé sur QEMU, VMWare et VirtualBox.
- Deux méthodes permettent d’installer l’OS : télécharger un fichier
.iso précompilé ou construire l’ISO soi-même.
- Les paquets installés sont stockés en RAM (
initramsfs) plutôt que sur disque, ce qui nécessite suffisamment de mémoire (au moins 1 Go).
À propos de ce blog
- L’objectif de ce blog n’est pas de proposer un tutoriel sur la création d’un OS, mais d’explorer des sujets plus avancés, de partager des méthodes de résolution de problèmes et de découvrir comment fonctionnent les ordinateurs, les systèmes d’exploitation, Internet, etc.
- osdev.org et le blog de Philipp Oppermann sont particulièrement recommandés.
Ce qui arrive ensuite
- La base de code a besoin d’être nettoyée et optimisée en termes de performances.
- La correction des fuites mémoire et l’optimisation des performances pourraient faire l’objet de futurs articles de blog.
- Le prochain objectif est de rendre le gestionnaire de paquets entièrement opérationnel sur l’OS.
- Une prise en charge du réseau et des bibliothèques partagées est nécessaire.
Comment aider
- Vous pouvez rester en contact en laissant une étoile sur le dépôt GitHub, en vous abonnant à la newsletter, en suivant le flux RSS et en rejoignant le Discord.
L’avis de GN⁺
- Le projet Maestro est un système d’exploitation de type Unix écrit en Rust, dont l’intérêt réside dans sa recherche de sûreté et d’innovation pour le développement kernel.
- Ce projet offre une opportunité intéressante aux développeurs souhaitant contribuer à la communauté open source, et peut aider à mieux comprendre l’interaction entre matériel et logiciel.
- Il peut constituer une ressource d’apprentissage utile pour les ingénieurs logiciels débutants qui veulent expérimenter concrètement les avantages et les limites de la programmation système en Rust.
1 commentaires
Commentaires Hacker News
Remerciements pour le soutien apporté au projet
Avis sur un beau petit projet
Avis sur la sécurité / les tests d’intrusion
Mention du projet Kerla
Avis sur les inconvénients du langage C et la difficulté du développement d’OS
Mention de l’arrêt du projet Kerla
Avis sur la complexité des ordinateurs
Conseil sur le remboursement de la dette technique
Intérêt pour Gource
Intérêt pour la construction d’un kernel