Aller au contenu

ReactOS 0.4.0


Ldfa

Messages recommandés

Posté(e)

Près de dix ans après la version 0.3.0, le projet ReactOS a annoncé sa version 0.4.0 le 16 février 2016. ReactOS est une distribution logicielle libre un peu spéciale : elle propose un noyau NT et un environnement visant à reproduire les fonctionnalités de base d’un système d’exploitation Windows.

ReactOS

ReactOS n'est pas un clone libre de Windows mais un système d'exploitation libre compatible avec Windows. La précédente dépêche nous a tracé, il y a presque deux ans, un état des lieux à l'orée d'une campagne de financement participatif.

Le projet est également réputé pour sa capacité à documenter les fonctionnalités non-documentées de Windows, ce qui peut intéresser du monde qui ne serait pas directement intéressé par le système lui-même, et pour sa collaboration avec le projet WINE. En effet une grande part des bibliothèques en espace utilisateur proviennent directement de WINE et ReactOS travaille à remonter autant que possible les modifications.

C’est un projet très ambitieux : il ne s’agit pas seulement de développer un noyau, mais aussi de développer l’environnement utilisateur (comme le shell explorer.exe) et d’assurer la compatibilité avec la très vaste logithèque Windows, ce qui ajoute à la difficulté de l’exercice des contraintes très fortes. On peut le voir à la longueur du ChangeLog qui liste un très grand nombre de corrections visant à faire fonctionner des logiciels tiers.

Sommaire

ReactOS 0.4.0

Bien qu’étant une étape majeure pour le projet, cette version 0.4.0 est toujours étiquetée Alpha, mais la série 0.4.x sera la dernière à l’être, la prochaine série 0.5.0 sera une version Beta (voir la nomenclature officielle des versions de ReactOS).

Cette dépêche reprend assez librement la note de sortie officielle.

In memoriam

Dans la note de sortie, l’équipe tient à remercier et honorer particulièrement la mémoire de contributeurs qui ont permis que ReactOS devienne ce qu’il est devenu aujourd’hui :

« On ne peut pas insister suffisamment sur le fait que le projet ReactOS est là où il est aujourd’hui grâce aux efforts sans relâche d’individus qui le portent. Au cours de son évolution, certains sont arrivés et d’autres sont partis, mais tous ont laissé une marque, qu’elle soit dans le code source ou dans la mémoire des échanges avec ceux encore actifs dans le projet. Malheureusement, dans deux cas, ces souvenirs sont tout ce qui nous restera. Gé van Geldorp fut un des premiers développeurs et fut fort impliqué dans la mise au point du sous-système win32. Il a aussi pris sous son aile de nombreux autres développeurs qui ont rejoint le projet par la suite et qui se souviennent de son avidité à aider ceux qui débutaient. Brandon Mark Turner fut un autre des premières heures du projet. Il a travaillé sur une variété de composants et fut responsable du travail initial qui a permis de compiler ReactOS avec les outils de Microsoft. La version 0.4.0 leur est dédiée et nous espérons que son aboutissement puisse montrer à quel point nous leur en sommes immensément reconnaissants. »

Fonctions

Ici sont documentées non seulement les nouveautés depuis la version 0.3.17, mais aussi toutes les avancées reposant sur l’effort cumulatif de toute la série des versions 0.3.x. En résumé, les nouvelles fonctionnalités sont :

Pour l’utilisateur

  • Prise en charge d’ext2 en lecture et écriture (système de fichiers historique du noyau Linux), et de NTFS en lecture seule ;
  • Nouvel explorateur (explorer_new) avec prise en charge de thèmes ;
  • Prise en charge des périphériques SerialATA (UniATA) ;
  • Prise en charge du son ;
  • Prise en charge des périphériques USB ;
  • Prise en charge de VirtualBox et de VirtualPC ;
  • Réseau sans fil.

Pour le développeur

  • Utilisation de CMake pour compiler avec GCC ou MSVC ;
  • Temps de compilation réduit de manière significative ;
  • Débogage à distance du noyau via GDB ;
  • Prise en charge de WinDBG.

ReactOS n’est pas encore très stable pour une utilisation quotidienne, mais il fait déjà tourner nombre d’applications populaires, qu’elles soient libres ou propriétaires.

[ReactOS](http://dl.illwieckz.net/u/thomas-debesse/bazar/linuxfr.org/reactos/0.4.0/20160310-015456-000.reactos.png)

Modernisation de la compilation

Alors que les versions précédentes utilisaient un système fait maison — RBuild, basé sur des fichiers XML — qui bien qu’ayant des fonctionnalités très impressionnantes pour son époque, souffre de certains défauts subtils et empêche l’utilisation d’un autre compilateur que GCC, cette nouvelle version utilise désormais CMake.

Systèmes de fichiers

Historiquement, ReactOS dépendait des systèmes de fichiers de type FAT. Alors que la communauté attendait quelque chose de plus évolué, ce but restait difficile à atteindre pour des raisons de complexité technique. La prise en charge d’ext2 est complète, cette version est la première à permettre la lecture de NTFS (et btrfs pourrait venir dans une prochaine version !).

Affichage

Il y a eu de nombreuses améliorations de la prise en charge de la 2D et de la 3D. Des optimisations concernant l’accélération 2D ont eu lieu, celle-ci étant même dans certains cas plus rapide que Windows. La gestion de la 3D, initiée dans la version 0.3.7, a progressé. De plus, certains correctifs issus de la version 0.3.8 ont permis de charger correctement les pilotes graphiques. Voilà un grand pas de plus vers l’objectif de compatibilité !

Gestion de la mémoire

La gestion de la mémoire, composant central à tout système d’exploitation, a été fortement travaillée pour la version 0.3.15. Bien qu’il reste encore du travail, ceci constitue néanmoins une avancée significative sur le plan de la stabilité.

Réseaux

Depuis la prise en charge initiale des réseaux par la version 0.3.0, celle-ci n’a cessé d’être améliorée. Cette version inclut notamment des corrections de la gestion du Wi-Fi (introduit dans la version 0.3.14) et, depuis la version 0.3.17, la prise en charge de SSL par l’intermédiaire de la bibliothèque mbed TLS.

NT Virtual Dos Machine

Une demande récurrente de la communauté était la prise en charge des applications DOS 16 bits. Sous Windows, c’est le boulot de la NT Virtual DOS Machine (NTVDM). Son implémentation par ReactOS a vu le jour avec la version 0.3.17. Depuis, ses considérables améliorations permettent aux testeurs de ressusciter d’anciens jeux. Un avantage remarquable de cette implémentation est qu’elle continuera de fonctionner sur processeurs non IA32 (Intel x86) tels que AMD64 et même ARM, lorsque ces ports seront aboutis.

Base de registre

Qu’on l’aime ou pas, la base de registre est un composant essentiel de la famille Windows. En tant qu’implémentation de NT, ReactOS en possède aussi une. Non seulement celle-ci fonctionne de manière fiable, mais ReactOS peut aussi lire et modifier celles en provenance de Windows, permettant notamment au bootloader de ReactOS de démarrer Windows 2003.

Originalité de ReactOS, la base de registre peut également être parcourue depuis l’explorateur de fichier !

ReactOS regedit

Le shell

L’explorateur utilisé par la version 0.3.0 est issu de la version 0.2.0. À cette époque, ReactOS n’offrait pas l’infrastructure nécessaire à son implémentation rigoureuse, forçant celui-ci à dupliquer l’essentiel des fonctionnalités qui auraient dû être rendues disponibles par le système d’exploitation. De plus, lorsque celles-ci furent disponibles via ce qu’on appelle le shell, il n’en profita pas. Cette version synthétise donc un travail important sur le shell ainsi qu’une toute nouvelle implémentation de l’explorateur, une des vraies nouveautés de cette version 0.4.0.

Pour l’anecdote, ce nouvel explorateur a été d’abord développé comme un explorateur de remplacement pour Windows en attendant que ReactOS implémente les fonctionnalités nécessaires et devienne capable de le faire tourner. L’intégration de cet explorateur témoigne donc significativement de la compatibilité de ReactOS avec Windows, et comment certains composants critiques peuvent être interchangés.

Stockage

Tout comme les connecteurs PS/2 tombés en désuétude, l’interface IDE est remplacée dans les ordinateurs actuels par l’interface SATA. ReactOS a introduit sa prise en charge dans la version 0.3.10 par l’incorporation du pilote UniATA et en a depuis amélioré le fonctionnement.

Son

La prise en charge du son, qui pourrait être vue comme une fonctionnalité de base, s’est avérée une tâche complexe. Depuis son introduction dans la version 0.3.9, elle a été améliorée pour passer d’une situation où l’on s’étonne que cela marche, à celle où il est normal que cela fonctionne.

USB

Le support préliminaire des claviers et souris, introduit dans la version 0.3.10, a été supplanté par une pile USB complète. Celle-ci a été introduite initialement dans la version 0.3.15 et a été continuellement améliorée depuis.

Aspect visuel

Une demande récurrente était d’avoir un shell à l’aspect plus agréable. Le chemin a été semé d’embûches, néanmoins la version 0.3.16 a été publiée avec un nouveau thème — Lautus — à destination des curieux.

À gauche, le thème classique, à droite, le thème Lautus :

ReactOS : thème Lautus

En route vers la Beta

Il reste fortement déconseillé d’utiliser ReactOS en production. Si la stabilité n’est pas encore au rendez-vous, son niveau de fonctionnalités commence cependant à devenir satisfaisant. Espérons que tout cela soit stabilisé rapidement !

ReactOS peut être téléchargé ici (images CD d’installation, images de disque prêtes à virtualiser…). Les plus intrépides qui souhaiteraient l’installer sur du vrai matériel peuvent se référer à cette liste (non exhaustive) de matériel supporté avant de sauter le pas. Et en route pour la 0.5.0 qui devrait apporter entre autres la prise en charge de l’impression, et l’écriture dans les systèmes de fichier NTFS !

Si vous êtes un développeur d’application Windows, n’hésitez pas à tester votre production avec ReactOS et remonter le problème s’il vient clairement d’un manque ou d’une erreur de ReactOS. Si vous êtes un développeur de pilote pour Windows (système de fichier, prise en charge de matériel, etc.), sachez que si votre pilote est libre, votre travail pourrait contribuer directement au projet ReactOS.

Afficher l’article complet

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.