Jeremy Soller (), fondateur du système d'exploitation , écrit en langage Rust, à propos de l'utilisation réussie de Redox sur le portable System76 Galaga Pro (Jeremy Soller travaille chez System76). Parmi les composants entièrement opérationnels figurent le clavier, le touchpad, le stockage (NVMe) et l'Ethernet.
Les expériences avec Redox sur le portable ont déjà permis d'améliorer le fonctionnement des pilotes, d'ajouter la prise en charge de HiDPI dans certaines applications et de créer de nouveaux composants, comme pkgar, facilitant l'installation de Redox à partir d'images Live. Parmi les objectifs désormais prioritaires, on mentionne la possibilité d'auto-construction du système (construction de Redox dans un environnement basé sur Redox). Dans quelques mois, Soller prévoit de passer à un travail permanent sur Redox à partir d'un environnement de travail basé sur Redox, une fois certaines améliorations liées au compilateur rustc effectuées.
Le concept de micro-noyau appliqué dans Redox simplifie le développement des pilotes, car il est possible de recompiler et de redémarrer le sous-système qui assure le fonctionnement des pilotes sans arrêter le système. On s'attend à ce que le développement dans un environnement basé sur Redox permette d'améliorer l'efficacité du portage de programmes et de résoudre les problèmes de prise en charge du matériel. Par exemple, il est prévu de porter le stack USB à un état pleinement fonctionnel et d'ajouter des pilotes graphiques.
Rappelons que le système d'exploitation se développe selon la philosophie Unix et emprunte certaines idées à SeL4, Minix et Plan 9. Redox utilise le concept de micro-noyau, où au niveau du noyau, seule l'interaction entre processus et la gestion des ressources sont assurées, tandis que toute autre fonctionnalité est déléguée à des bibliothèques pouvant être utilisées à la fois par le noyau et par les applications utilisateur. Tous les pilotes s'exécutent dans l'espace utilisateur dans des environnements sandbox isolés. Pour assurer la compatibilité avec les applications existantes, une couche POSIX spéciale est fournie, permettant d'exécuter de nombreux programmes sans portage.
Le système applique le principe « tout est URL ». Par exemple, pour un enregistrement dans le journal, on peut utiliser l'URL « log:// », pour l'interaction entre les processus « bus:// », pour l'interaction réseau « tcp:// », etc. Les modules pouvant être réalisés sous forme de pilotes, d'extensions du noyau et d'applications utilisateur peuvent enregistrer leurs gestionnaires d'URL, par exemple, on peut écrire un module d'accès aux ports d'entrée/sortie et l'associer à l'URL « port_io:// », après quoi on peut l'utiliser pour accéder au port 60 en ouvrant l'URL « port_io://60 ». Avancées du projet sous licence MIT.
L'environnement utilisateur dans Redox sur la base de son propre environnement graphique (ne pas confondre avec shell , utilisant Qt et Wayland) et de la toolkit , fournissant une API similaire à Flutter, React et Redux. Comme navigateur web, il utilise . Le projet développe également son propre , un ensemble d'outils standard (binutils, coreutils, netutils, extrautils), le shell , la bibliothèque standard C , un éditeur de texte similaire à vim , une pile réseau et un système de fichiers , développé sur la base des idées de ZFS (une version modulaire de ZFS en Rust). La configuration est définie dans le langage .
Source : opennet.ru
