Redox, un système d'exploitation écrit avec le langage de programmation Rust

Système d'exploitation redox

Après un an de développement, le lancement de la nouvelle version du système d'exploitation Redox 0.5 a été annoncé, lequel Son objectif principal est que son développement utilise le langage Rust et le concept de micro-noyau.

Les développements du projet sont distribués sous la licence gratuite MIT. Pour les tests dans VirtualBox ou QEMU, des images de démarrage spécifiques sont proposées pour chacun d'entre eux.

L'environnement utilisateur Redox est basé sur l'interface graphique Orbital exécutée sur Wayland. Netsurf est utilisé comme navigateur Web.

À propos de Redox

Le système d'exploitation utilise le concept de micro-noyau, où seule l'interaction entre les processus et la gestion des ressources est fournie au niveau du noyau et toutes les autres fonctionnalités sont transférées vers des bibliothèques qui peuvent être utilisées à la fois par le noyau et les agents utilisateurs.

Tous les contrôleurs s'exécutent dans l'espace utilisateur dans les bacs à sable sandbox. Pour la compatibilité avec les applications existantes, une couche POSIX spéciale est fournie qui vous permet d'exécuter de nombreux programmes sans portage.

Redox est développé selon la philosophie Unix, empruntant quelques idées à SeL4, Minix et Plan 9.

Le système utilise le principe "tout est une URL«.

Par exemple, l'URL "log: //" peut être utilisée pour la journalisation, l'interaction entre les processus "bus: //", l'interaction réseau "tcp: //", etc.

Les modules qui peuvent être implémentés sous forme de pilotes, d'extensions de noyau et d'agents utilisateurs peuvent enregistrer leurs gestionnaires d'URL, par exemple vous pouvez écrire un module pour accéder aux ports d'E / S et le lier à l'URL "port_io: / /", après que vous pouvez utiliser pour accéder au port 60 en ouvrant l'url "port_io: // 60".

Le projet développe également son propre gestionnaire de lots, un ensemble d'utilitaires standard (binutils, coreutils, netutils, extrautils), le shell de commande "ion", l'éditeur de texte sodium vod-like, la pile réseau et le système de fichiers TFS développés sur la base des idées de ZFS. ).

asus-eepc-900

La configuration est définie dans la langue Toml. Le système prend actuellement en charge l'utilisation sur des processeurs x86_64 avec une carte graphique compatible VBE (nvidia, intel, amd), des lecteurs AHCI et des cartes réseau basées sur des puces E1000 ou RTL8168.

Principales nouveautés de Redox 0.5

La sortie de la nouvelle version de Redox 0.05 s'accompagne de quelques innovations dont nous pouvons souligner dans un premier temps que la bibliothèque C standard Relibc elle-même, écrite en Rust.

Relibc se positionne comme une implémentation portable de la bibliothèque standard C, compatible POSIX et capable de travailler non seulement sur Redox, mais aussi sur des distributions basées sur Linux.

Précédemment sur Redox, le fork de la bibliothèque newlib du projet Cygwin Elle était utilisée comme bibliothèque standard, mais elle n'était pas adaptée aux développeurs en termes de sécurité et de multiplateforme. Au stade actuel de développement, Relibc est déjà bien supérieur à la fonctionnalité newlib.

En plus de cela dans Redox 0.5 de nouveaux bootloader-coreboot et bootloader-efi ont été préparés pour coreboot et EFI, sur la base de laquelle les images de démarrage ont été formées.

Les bibliothèques pour travailler avec EFI sont écrites en Rust et le code de démarrage (charge utile pour coreboot) dans Rust. Les chargeurs peuvent être utilisés séparément de Redox et dans d'autres projets.

Le système de gestion des événements a été repensé pour fournir le support approprié pour la sélection et l'interrogation des appels.

Parmi les autres nouveautés qui peuvent être mises en évidence dans l'annonce de cette nouvelle version, nous trouvons:

  • La prise en charge complète des fonctions de mappage mémoire (mmap) a été implémentée.
  • La prise en charge des Pthreads a été ajoutée et des appels système supplémentaires ont été suggérés pour le traitement du signal.
  • Amélioration du support LLVM, permettant l'assemblage de rustc et Mesa (c llvmpipe).
  • En raison de la transition vers la nouvelle bibliothèque système, la prise en charge de nombreuses nouvelles applications a été obtenue.
  • Au total, 62 nouveaux packages ont été ajoutés.

Pour l'installation dans Redox il existe déjà des packages prêts à être utilisés avec les bibliothèques SDL2, ffmpeg, cairo, gstreamer, pcre, glman, libiconv, libsodium et gettext, un ensemble de compilateurs, une implémentation OpenGL, une application OpenGL, Vcckv Mesa, des émulateurs scummvm, des doscites et des coutumes, et une application OpenGL dans son ensemble. Nukem 3D), openttd et FreeDoom.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.