Developpez.com

Le Club des Développeurs et IT Pro

ReactOS 0.4.11 est disponible avec d'importantes améliorations du noyau

Et un accent mis sur une réimplémentation des API Windows

Le 2019-03-06 19:47:11, par Stan Adkens, Expert éminent sénior
L'équipe ReactOS a publié la toute dernière mise à jour de l’alternative open source à Windows, ReactOS 0.4.11. Trois mois en arrière, en novembre 2018, la version 0.4.10 publiée par l’équipe ReactOS mettait l’accent sur la cohérence et la stabilité du projet, y compris la capacité du système d’exploitation open source à démarrer à partir d'un lecteur formaté BTRFS. Au cours de ces trois derniers mois, l’équipe a abattu un travail substantiel sur le noyau avec un accent mis sur une réimplémentation des API Windows, ce qui a contribué à améliorer la stabilité globale du système.


Un travail important abattu dans l’amélioration du noyau

ReactOS 0.4.11 apporte de nombreuses améliorations au niveau du noyau de ce système d'exploitation open source. Des correctifs apportés par l’équipe au niveau de la gestion des Entrée/Sortie de fichiers par le noyau ont permis de supprimer au moins une source d'écrans bleus lors de la tentative de sauvegarde de la partition d'un disque en utilisant le logiciel de sauvegarde ODIN.

Des travaux de l’équipe ont porté également sur les systèmes de fichiers pris en charge par ReactOS. En effet, bien que le pilote fastfat soit un pilote de système de fichiers interne, ReactOS s'est toujours appuyé sur un pilote tiers pour le support BTRFS, d’après la note de version. Ce qui était à la base de certains disfonctionnements dans les versions antérieures tels qu’un problème majeur de fuite de mémoire qui a été résolu dans ReactOS 0.4.11.

Une incompatibilité avec le pilote UniATA avec les contrôleurs AHCI SATA qui accompagnent les puces Intel de 6ème génération (Skylake) a également été traitée dans ReacOS 0.4.11. En effet, de nos jours, la plupart des ordinateurs utilisent des connexions SATA et l'interface AHCI correspondante, pour laquelle ReactOS s'appuie sur le pilote UniATA. Lorsque la 6e génération de processeurs Intel Core (Skylake) est sortie, elle s'est accompagnée d'une plateforme de chipset dont les contrôleurs AHCI SATA se sont avérés incompatibles avec UniATA.

Des améliorations apportées au Demarrage/Arrêt des applications dans ReactOS 0.4.11

Lorsqu'une application est exécutée, elle dépend souvent d'autres bibliothèques sous la forme de DLLs. Le chargeur (LDR) est responsable de la recherche et du chargement des DLLs dépendantes, et l'itération correcte sur ces dépendances est fondamentale pour que tout fonctionne. Une façon de spécifier ces dépendances est d'utiliser des manifestes, qui n'étaient pas correctement pris en charge dans ReactOS. Cette fonctionnalité n'était pas bien supportée dans les versions précédentes de ReactOS, ce qui était « un trou très flagrant » comme l’a spécifié la note de version de ReactOS 0.4.11. Mais ce défaut est maintenant résolu et toute une gamme d’applications modernes peut maintenant démarrer dans la dernière version ReactOS. Parmi les d'applications nouvellement activées dans ReactOS, il y a Blender 2.57b, Bumptop, Evernote 5.8.3, Quicktime Player 7.7.9, et bien d'autres applications.

Blender 2.57b compatible avec ReactOS 0.4.11


Les versions précédentes de ReactOS étaient également confrontées à un problème lié à l’arrêt de certaines applications sous les versions précédentes. En effet, ReactOS avait des difficultés particulières lorsqu'il s'agissait de gérer la séquence d'arrêt des applications .NET 2.0. Souvent des temps d'attente trop courts ont empêché ces applications de pouvoir s’arrêter correctement. Ce problème a été résolu faisant de ReactOS 0.4.11 une plateforme utile pour exécuter des applications compatibles Windows.

Des améliorations apportées à Win32 dans ReactOS 0.4.11

Le bloc de fonctionnalités communément appelé win32k, implémenté dans l'espace du noyau du système d'exploitation, peut contenir des problèmes qui peuvent être à l’origine des crashs du système entier avec les versions antérieures de ReactOS. Selon la note de service, ce défaut a été résolu et les problèmes liés n’apparaitront plus dans la version 0.4.11 de ReactOS.

Les améliorations dans la mise en réseau

Les efforts de l’équipe ReactOS ont permis également d’améliorer la mise en réseau sous ReactOS, en activant divers programmes de débogage et de diagnostic de réseau. De cette manière, ReactOS devient utile non seulement comme plateforme pour exécuter des applications, mais aussi pour les déboguer. Ce qui rend le système d’exploitation utile pour les utilisateurs comme pour les développeurs.


Toutes ces améliorations apportées au système d’exploitation open source, surtout les corrections dans au niveau du noyau vont contribuer à la robustesse et à la stabilité de ReactOS 0.4.11 pour le bonheur des amateurs de l’open source Windows. Toutefois, les fans de l’open source peuvent toujours se diriger vers Linux, et aussi la compatibilité Windows, bien qu'améliorée, est encore balbutiante sur certains Framework .NET récents, tels que le .NET 4.7.2.

Source : Note de version

Et vous ?

Avez-vous déjà utilisé ReactOS ? Qu’en pensez-vous ?
Que pensez-vous des nouvelles améliorations apportées au système d’exploitation ?

Lire aussi

Windows 10 Insider Preview Build 18305 est disponible, et s'accompagne de la première itération de la machine virtuelle légère Windows Sandbox
Vous pouvez maintenant exécuter Windows 10 sur le Raspberry Pi 3, grâce au programme d'installation WoA pour Microsoft
Linux 5.0 est disponible en version stable, avec l'ajout du système de chiffrement Adiantum et la prise en charge des fichiers d'échange par Btrfs
Wine 4.0 : le logiciel pour faire tourner les applications Windows sur Linux et macOS est disponible, avec le support de Direct3D 12 et Vulkan
L'application Office pour Windows 10 est désormais accessible gratuitement, pour tous les utilisateurs de Windows 10
  Discussion forum
44 commentaires
  • chrtophe
    Responsable Systèmes
    ReactOs travaille en collaboration avec Wine.

    Ne serait-ce que pour cela, il a son utilité.
  • LittleWhite
    Responsable 2D/3D/Jeux
    Envoyé par Olivier C
    Du bricolage. Voilà ce que m'inspire cette distribution.
    C'est évidemment du bricolage. Ils prennent une boite noire (non publiquement documentée) et tente de la reproduire. Mais même le bricolage peut être pérenne. Et je trouve (à titre personnel) que d'une, ils font un exploit, et que de deux, ils sont tout de même très avancés.
  • LittleWhite
    Responsable 2D/3D/Jeux
    Envoyé par Neckara
    Je pense qu'ils auraient gagné beaucoup de temps s'ils avaient créé une distribution Linux avec un "skin Windows", puis en travaillant à la compatibilité des applications Windows, au lieu de partir from scratch. Cela aurait pu permettre d'avoir des fonctionnalités plus avancée dès le début (e.g. USB), et de gagner beaucoup de temps.
    Mais, cette solution, c'est ce que fait Wine (ou plus à l'extrême, la virtualisation). L'objectif de ReactOS n'est pas du tout le même. Ils cherchent à réimplémenter un noyau NT de Microsoft, mais libre et surtout documenté.
  • esperanto
    Membre émérite
    Envoyé par Neckara
    Le temps qu'ils finissent leur OS, Windows sera devenue une distribution Linux Open Source.
    Hélas, avec Microsoft qui a entre temps sorti son WSL, et les distributions linux qui cherchent maintenant à s'intégrer à WSL plutôt qu'à rester des OS complets, ça risque bien d'être l'inverse.

    Envoyé par abriotde
    Je ne pense pas que le projet meurt un jour car il est open source et que la communauté Windows est gigantesque. De plus en plus d app Windows XP fonctionnent mal sous Windows 10 et sont toujours utilisés.
    Sans compter qu'avec toutes les "nouveautés" détestables de Windows 10 (keylogger, tuiles, etc.) bien des gens aimeraient sans doute une alternative compatible ce qui était moins le cas avant. Du coup je regrette surtout que ReactOS se focalise sur le 32 bits.

    Envoyé par Neckara
    Je pense qu'ils auraient gagné beaucoup de temps s'ils avaient créé une distribution Linux avec un "skin Windows", puis en travaillant à la compatibilité des applications Windows, au lieu de partir from scratch. Cela aurait pu permettre d'avoir des fonctionnalités plus avancée dès le début (e.g. USB), et de gagner beaucoup de temps.
    En fait c'est facile à vérifier car les deux approches ont existé pour un autre OS aujourd'hui décédé: BeOS. D'un côté il y a eu OpenBeOS qui était une distro linux avec des ajouts pour rendre compatible avec les binaires BeOS; de l'autre Haiku, qui est une ré-implémentation complète. Maintenant fais une recherche sur les deux noms et dis-moi lequel des deux te paraît le plus avancé...

    Envoyé par LittleWhite
    Mais, cette solution, c'est ce que fait Wine (ou plus à l'extrême, la virtualisation). L'objectif de ReactOS n'est pas du tout le même. Ils cherchent à réimplémenter un noyau NT de Microsoft, mais libre et surtout documenté.
    L'intérêt de ReactOS par rapport à Wine, c'est qu'un OS complet peut être compatible également avec les pilotes Windows, ce qui est impossible avec Wine. D'ailleurs la principale utilisation de FreeDOS se fait dans les industries où on exploite du vieux matériel pour lequel les pilotes même sous Windows n'existent pas.
    Par contre là où j'ai un doute, c'est de savoir s'il était vraiment nécessaire de coller à ce point à l'architecture Windows, jusqu'à l'apparence des menus et des fenêtres. Dans l'article il est question du gestionnaire de fichiers, je me demande bien s'il était nécessaire de l'implémenter aussi près du noyau, comme c'est le cas sous Windows, alors que récupérer un gestionnaire de fichiers de Gnome ou de KDE, sachant que Gtk+ et QT existent sous Windows, aurait peut-être été plus simple (surtout parce que ça permet de déléguer le développement et de se concentrer sur le noyau). Mais je ne connais pas assez bien l'architecture, je peux me tromper.
  • Neckara
    Inactif
    Le temps qu'ils finissent leur OS, Windows sera devenue une distribution Linux Open Source.

    ReactOS est très intéressant techniquement, mais la première version est très lente à sortir (on est toujours à une version "0".
  • abriotde
    Membre chevronné
    Je ne pense pas que le projet meurt un jour car il est open source et que la communauté Windows est gigantesque. De plus en plus d app Windows XP fonctionnent mal sous Windows 10 et sont toujours utilisés.

    Nenmoins j aurais pensé qu il aurait eu plus de succès. J aurais pensé qu un gouvernement comme la Chine ou la Russie s y seraient lancé. Ils y ont tous songé mais y ont assez peu investis. Je crois que les autres petits pays lui offrent au final un meilleur accueil. Je pense a des pays comme le Pakistan, les pays d europe de l est et surtout de tous ceux entre les deux.
  • chrtophe
    Responsable Systèmes
    Si je te comprends bien; Wine a un avenir et pas ReactOS.
    Ce n'est pas ce que j'ai dit. L'équipe de ReactOS a soumis des patchs à Wine et donc y contribue.
  • Neckara
    Inactif
    Envoyé par LittleWhite
    Et je trouve (à titre personnel) que d'une, ils font un exploit,
    Tout à fait d'accord.

    Envoyé par LittleWhite
    et que de deux, ils sont tout de même très avancés.
    Heu… 23 ans après le début du projet.

    Je pense qu'ils auraient gagné beaucoup de temps s'ils avaient créé une distribution Linux avec un "skin Windows", puis en travaillant à la compatibilité des applications Windows, au lieu de partir from scratch. Cela aurait pu permettre d'avoir des fonctionnalités plus avancée dès le début (e.g. USB), et de gagner beaucoup de temps.

    Après, il est vrai qu'au début du projet, ils n'imaginaient certainement pas toute la difficulté du projet, et qu'il nous est facile de juger a posteriori.
  • Neckara
    Inactif
    Envoyé par esperanto
    Hélas, avec Microsoft qui a entre temps sorti son WSL, et les distributions linux qui cherchent maintenant à s'intégrer à WSL plutôt qu'à rester des OS complets, ça risque bien d'être l'inverse.
    Non, ça ne sera pas l'inverse.

    Ensuite, si M$ intègre progressivement un noyau linux en "parallèle" du sien, cela peut amorcer une transition pour passer totalement sous un noyau Linux.

    Envoyé par esperanto
    En fait c'est facile à vérifier car les deux approches ont existé pour un autre OS aujourd'hui décédé: BeOS. D'un côté il y a eu OpenBeOS qui était une distro linux avec des ajouts pour rendre compatible avec les binaires BeOS; de l'autre Haiku, qui est une ré-implémentation complète. Maintenant fais une recherche sur les deux noms et dis-moi lequel des deux te paraît le plus avancé...
    Tu ne peux pas dresser de règles générales à partir d'un seul exemple…

    Ensuite Haiku est OpenBeOS…
    En 2004, pour éviter d'éventuels problèmes de détournement de nom de produit, il est décidé de renommer OpenBeOS en Haiku.
    https://fr.wikipedia.org/wiki/Haiku_...7exploitation)

    Je pense que tu confonds avec BlueEyedOS. Sachant que derrière, il ne semblait pas y avoir beaucoup de monde, c'est donc plus un problème de communauté que de technicité. Au début la licence n'était aussi pas libre, ce qui n'a pas joué en sa faveur aussi. Aujourd'hui le projet semble abandonné depuis 2003, une des raisons pour laquelle on en entend moins parlé aussi…

    Haiku n'est aussi pas une ré-implémentation complète, ils sont parti d'un noyau existant.
    Le noyau choisi par les développeurs d'Haiku est NewOS, qui a la particularité d'être léger et d'avoir beaucoup de similitudes avec celui de BeOS8.
  • esperanto
    Membre émérite
    Envoyé par Neckara
    Ensuite, si M$ intègre progressivement un noyau linux en "parallèle" du sien, cela peut amorcer une transition pour passer totalement sous un noyau Linux.
    Si Microsoft conserve tout le tracking de Windows 10, même avec un noyau linux, ça restera Windows. Tous ceux qui choisissent Linux pour des raisons de confidentialité trouveront que le passage de Microsoft à un noyau linux, ça leur fait une belle jambe. Un peu comme le passage de Edge à un noyau Chromium, il y a bien une part qui reste Microsoft.
    Et puis je doute que les DSI voient la différence, au final je serai toujours obligé de travailler sous Windows au bureau même si c'est pour se connecter à des serveurs Unix.

    Envoyé par Neckara
    Tu ne peux pas dresser de règles générales à partir d'un seul exemple…
    Si tu en as d'autres, même qui prouvent le contraire, je suis preneur.

    Envoyé par Neckara
    Ensuite Haiku est OpenBeOS… [...] Je pense que tu confonds avec BlueEyedOS. [...] Au début la licence n'était aussi pas libre, ce qui n'a pas joué en sa faveur aussi.
    En effet je parlais bien de BlueEyedOS, que j'avais testé à l'époque mais dont j'avais oublié le nom exact. L'impression qu'il m'avait laissée est celle d'un gros bluff, une éternelle version démo, alors que Haiku semblait déjà fonctionnel. Alors si l'idée d'utiliser linux était de profiter d'un noyau comportant déjà les bons pilotes, l'avantage évident sur le papier ne semblait pas se refléter dans la réalité. Au final c'est un peu comme pour Gnu Hurd, tellement mieux sur le papier mais éternellement en version Alpha.
    La licence, tu peux préciser? Si je me souviens bien, Haiku avait choisi une licence MIT pour pouvoir éventuellement intégrer le code de BeOS si celui-ci se retrouvait un jour libéré sous une licence contraignante. Mais si BlueEyedOS est basé sur linux, il devrait être en GPL, qui a certes des inconvénients mais de là à dire "moins libre"...

    Envoyé par Neckara
    Haiku n'est aussi pas une ré-implémentation complète, ils sont parti d'un noyau existant.
    Certes, mais si ce noyau est minimaliste, ça ne change pas grand chose: l'avantage supposé de préférer linux est que plein de pilotes sont déjà là, et BlueEyedOS montre que ça n'a pas fait avancer grand chose.
    Mais à part ça, connais-tu une autre distribution de NewOS, juste pour voir ce qu'il apporte?