64 votes

Quelle est la différence entre Windows Subsystem for Linux (WSL), Cooperative Linux (coLinux) et Cygwin ?

Quelqu'un se souvient-il encore de coLinux ? Je me souviens qu'il a été utilisé pour SpeedLinux et Portable Ubuntu il y a quelques années.

La fonction de coLinux est assez claire : faire tourner Linux au-dessus de Windows, mais il est possible d'utiliser une vraie partition linux. Pendant ce temps, cygwin recompile les applications linux pour les utiliser sous Windows.

Mais WSL ? est-il plus proche de coLinux ou de Cygwin ?

EDIT 2020/06/16 pour ajouter à la confusion, il y a maintenant le WSL2. Mais d'après ce que j'ai compris jusqu'à présent, ce n'est qu'une machine virtuelle.

67voto

Bob Points 58080

WSL serait plus proche de coLinux que de Cygwin.


Gardez à l'esprit que Unix, POSIX et Linux sont des choses différentes .

Cygwin est une couche de compatibilité POSIX qui s'exécute au-dessus du système d'exploitation Sous-système Win32 . Cela n'a à peu près rien à voir avec Linux Le portage des programmes nécessite une recompilation et éventuellement une modification des sources, et tout ce qui nécessite des fonctionnalités non spécifiques à Linux POSIX ne fonctionnera probablement pas.

WSL 1 est conçu pour être ABI -compatible avec Linux proprement dit. Il fait no utilise le véritable noyau Linux, mais est compatible de sorte que les programmes compilés pour Linux peuvent fonctionner sans recompilation ni traduction. WSL fait partie du noyau NT et existe donc indépendamment du sous-système Win32. Il est similaire à l'ancien SUA, bien qu'il s'agisse d'un sous-système POSIX (et non Linux !) au-dessus du noyau NT.

WSL 2 Il fait tourner un vrai noyau Linux sur une VM légère. Il promet une intégration Windows similaire à celle de WSL 1, mais avec un véritable noyau Linux (les modules du noyau, les systèmes de fichiers, etc. devraient donc fonctionner). En outre, il dispose d'une interface graphique appropriée mais ses performances en matière d'E/S sont réduites lorsqu'il accède aux systèmes de fichiers Windows, par rapport au WSL2 .

coLinux utilise un véritable noyau Linux (bien que modifié). Du côté de Windows, il existe en tant que pilote qui assure la gestion de la mémoire et l'accès aux entrées/sorties. Conceptuellement, il est le plus proche d'une machine virtuelle, bien qu'avec une intégration plus étroite entre l'hôte et "l'invité". coLinux n'a pas eu de version depuis 2011 et je ne vois pas d'activité sur leur page SourceForge ; il peut probablement être considéré comme un projet mort.


Du point de vue du programme, WSL et coLinux ont à peu près la même apparence qu'un véritable noyau Linux fonctionnant sur du matériel brut. WSL a (actuellement) plus de limitations et de bizarreries, mais il bénéficie également d'un support de première partie (Microsoft) et fonctionne sur x86_64. coLinux et WSL 2 sont de vrais noyaux Linux et se comportent donc comme Linux, alors que WSL 1 est une implémentation de l'ABI en salle blanche.

Cygwin n'est pas plus proche de Linux que, par exemple, FreeBSD du point de vue du programme.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X