L'auteur du shell Sway et du langage Hare développe un nouveau micro-noyau Helios et OC Ares

Drew DeVault a présenté son nouveau projet - le micro-noyau Helios. Dans sa forme actuelle, le projet en est à un stade précoce de développement et ne prend jusqu'à présent en charge que le chargement de démos sur les systèmes dotés d'une architecture x86_64. Et à l'avenir, ils prévoient de mettre en œuvre la prise en charge des architectures iscv64 et aarch64. Le code du projet est écrit dans le langage de programmation système Hare, proche du C, avec des inserts d'assemblage et est distribué sous licence GPLv3. Pour vous familiariser avec l'état de développement, une image iso de test (1 Mo) a été préparée.

L'architecture Helios est construite en tenant compte des concepts du micro-noyau seL4, dans lequel les composants de gestion des ressources du noyau sont placés dans l'espace utilisateur et les mêmes outils de contrôle d'accès sont utilisés pour eux comme pour les ressources utilisateur. Le micro-noyau fournit des mécanismes minimaux pour contrôler l'accès à l'espace d'adressage physique, aux interruptions et aux ressources du processeur, et des pilotes d'abstraction de haut niveau pour interagir avec le matériel sont implémentés séparément au-dessus du micro-noyau sous la forme de tâches au niveau de l'utilisateur.

Helios utilise un modèle de contrôle d'accès basé sur les « capacités ». Le noyau fournit des primitives pour allouer des pages de mémoire, mapper la mémoire physique dans l'espace d'adressage, gérer les tâches et gérer les appels vers les ports des périphériques matériels. En plus des services du noyau, tels que la gestion de la mémoire virtuelle, le projet a également préparé des pilotes pour exécuter la console via un port série et l'API BIOS VGA. La prochaine phase de développement du noyau inclura le multitâche préemptif, IPC, PCI, la gestion des exceptions, l'analyse des tables ACPI et les gestionnaires d'interruptions dans l'espace utilisateur. À plus long terme, il est prévu de mettre en œuvre le support de SMP, IOMMU et VT-x.

En ce qui concerne l'espace utilisateur, les plans incluent le développement de services de bas niveau et du gestionnaire système Mercury, une couche de compatibilité POSIX (Luna), une collection de pilotes Venus, un environnement pour les développeurs Gaia et un framework pour tester le noyau Vulcan. Le développement est effectué en vue d'une utilisation sur du matériel réel - au stade initial, il est prévu de créer des pilotes ThinkPad, notamment des pilotes pour les GPU Intel HD, HD Audio et Intel Gigabit Ethernet. Après cela, les pilotes pour les GPU AMD et les cartes Raspberry Pi devraient apparaître.

Le but ultime du projet est de créer un système d'exploitation Ares à part entière avec son propre gestionnaire de packages et sa propre interface graphique. La raison de la création du projet est le désir d’expérimenter et de travailler comme divertissement (le principe « juste pour le plaisir »). Drew DeVault aime se fixer des objectifs ambitieux puis, malgré le scepticisme général, les mettre en œuvre. Ce fut le cas de l'environnement utilisateur Sway, du client de messagerie Aerc, de la plateforme de développement collaboratif SourceHut et du langage de programmation Hare. Mais même si le nouveau projet n'est pas correctement diffusé, il servira de point de départ au développement de nouveaux systèmes utiles. Par exemple, le débogueur développé pour Helios devrait être porté sur la plate-forme Linux, et les bibliothèques permettant de créer une interface graphique ne seront pas liées à la plate-forme.

L'auteur du shell Sway et du langage Hare développe un nouveau micro-noyau Helios et OC Ares


Source: opennet.ru

Ajouter un commentaire