Sortie du système d'exploitation Redox OS 0.7, écrit en langage Rust

Après un an et demi de développement, la version 0.7 du système d'exploitation Redox a été publiée, développée en utilisant le langage Rust et le concept de micro-noyau. Les travaux du projet sont diffusés sous la licence libre MIT. Pour tester Redox OS, des images d'installation et des images Live sont proposées, d'une taille de 75 Mo. Les compilations sont formées pour l'architecture x86_64 et disponibles pour les systèmes avec UEFI et BIOS.

Dans le cadre de la préparation de cette nouvelle version, un accent particulier a été mis sur le fonctionnement sur du matériel réel. Les principales nouveautés :

  • Le chargeur a été entièrement réécrit, unifiant et principalement codé en Rust pour le démarrage sur des systèmes avec BIOS et UEFI. La modification du chargeur a permis d'élargir considérablement la gamme de matériel pris en charge.
  • Dans le noyau, en plus de la correction de bugs, des efforts ont été fournis pour améliorer la performance et étendre la prise en charge du matériel. Les variables spécifiques au CPU ont été modifiées pour utiliser le registre GS. Un mappage de toute la mémoire physique a été assuré, et l'utilisation de pages mémoires récursives a été abandonnée. Le code assembleur dans les insertions inline a été réécrit pour améliorer la compatibilité avec les futures versions du compilateur.
  • Un support initial de l'architecture AArch64 a été ajouté.
  • Le traitement de tous les chemins de fichiers a été migré vers l'encodage UTF-8.
  • Le code pour travailler avec la spécification ACPI AML (ACPI Machine Language) — uefi.org a été déplacé du noyau vers le processus en arrière-plan acpid, exécuté dans l'espace utilisateur.
  • Le contenu d'Initfs a été transféré dans un nouveau fichier, ce qui a simplifié la création de packages.
  • Le système de fichiers RedoxFS a été réécrit et migré vers l'utilisation du mécanisme CoW (Copy-on-Write), où les modifications ne remplacent pas l'information mais sont enregistrées à un nouvel emplacement, permettant d'améliorer considérablement la fiabilité. Parmi les nouvelles fonctionnalités de RedoxFS, on note la prise en charge des mises à jour transactionnelles, le chiffrement des données utilisant l'algorithme AES, ainsi que l'authentification des données et des métadonnées par des signatures numériques. Le partage du code du FS dans le système et le chargeur a été assuré.
  • L'amélioration de la bibliothèque standard C Relibc développée par le projet a continué, capable de fonctionner non seulement sur Redox, mais aussi sur des distributions basées sur le noyau Linux. Les modifications apportées ont simplifié le portage de divers programmes vers Redox et résolu des problèmes rencontrés par de nombreux programmes et bibliothèques écrits en C.
  • Une version du compilateur rustc capable de fonctionner sur Redox a été préparée. Les tâches restantes incluent l'optimisation des performances et l'adaptation du gestionnaire de paquets cargo pour fonctionner dans l'environnement Redox.

Sortie du système d'exploitation Redox OS 0.7, écrit en langage Rust

Le système d'exploitation évolue selon la philosophie Unix et emprunte certaines idées à SeL4, Minix et Plan 9. Redox utilise le concept de micro-noyau, où la seule fonctionnalité assurée au niveau du noyau est l'interaction entre processus et la gestion des ressources, tandis que toute autre fonctionnalité est déléguée à des bibliothèques pouvant être utilisées à la fois par le noyau et 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 principe "tout est URL" est appliqué dans le système. Par exemple, pour écrire dans un journal, on peut utiliser l'URL "log://", pour l'interaction entre processus "bus://", pour l'interaction réseau "tcp://", etc. Les modules, qui peuvent être réalisés sous forme de pilotes, d'extensions de 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 le lier à l'URL "port_io://", après quoi on peut l'utiliser pour accéder au port 60 en ouvrant l'URL "port_io://60".

L'environnement utilisateur dans Redox est basé sur sa propre interface graphique Orbital (à ne pas confondre avec une autre interface Orbital utilisant Qt et Wayland) et le toolkit OrbTk, qui fournit une API similaire à Flutter, React et Redux. Le navigateur utilisé est Netsurf. Le projet développe également son propre gestionnaire de packages, un ensemble d'outils standard (binutils, coreutils, netutils, extrautils), un shell command ion, une bibliothèque standard C, relibc, un éditeur de texte semblable à vim, sodium, ainsi qu'une pile réseau et un système de fichiers. La configuration est définie dans le langage Toml.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster