CoLinux

CoLinux

Cooperative Linux

Cooperative Linux, ou coLinux pour faire court, est un bout de logiciel libre qui permet au noyau Linux de tourner sous Microsoft Windows sans perte significative de performances.

Sommaire

Description

Cette application a été écrite par Dan Aloni, un étudiant en informatique, avec l'aide d'autres développeurs. Elle est diffusée selon les termes de la licence GNU GPL.

Elle se compose d'un noyau Linux, de quelques executables Windows dont un simulant une console et d'un adapteur réseau virtuel, et peut tourner sous les systèmes d'exploitation Windows 2000 et supérieurs de Microsoft. coLinux ne peut pas tourner sous Windows 95 ou 98.

Il ne simule pas un PC virtuel complet comme VMware le fait : la carte vidéo ou la carte son de l'ordinateur hôte lui sont inaccessibles, mais vous pouvez utiliser un serveur X-Window sous Windows, ou même X et VNC dans coLinux. De même, vous pouvez transférer les flux audio vers un serveur sous Windows qui les jouera à son tour.

KDE, GNOME et en fait la plupart des applications Linux fonctionnent sans le moindre souci, sauf si elles utilisent spécifiquement le matériel (comme l'exigerait une application reposant sur l'accélération OpenGL de la carte graphique, par exemple). Exit donc les jeux et applications 3D, mais même des monstres comme Oracle tournent sans problème.

Les distributions Debian et Gentoo sont très populaires chez les utilisateurs de coLinux car des images pré-installées de ces distributions sont directement disponibles, et apt-get et emerge fonctionnent parfaitement. De même, Fedora est proposé sur le site officiel de coLinux et des utilisateurs ont réalisé des images de distributions Slackware, Mandriva... pour leurs propres besoins. Notez enfin qu'on peut aussi utiliser un Linux déjà installé sur une autre partition depuis Windows grâce à coLinux.

Puisque la plupart des applications classiques de Linux comme les shells, MySQL, Apache, PostgreSQL, SSH fonctionnent exactement comme sous un « vrai » système Linux, coLinux peut constituer un bon moyen d'étude de GNU/Linux et de ses applications classiques sans avoir à partitionner son disque dur. Il peut aussi servir pour dépanner un système Linux tombé en panne, de la même façon qu'avec un LiveCD du style Knoppix.

Considérations techniques

Cooperative Linux utilise le concept - plutôt rarement utilisé à l'époque - d'une Cooperative Virtual Machine (CVM, machine virtuelle coopérative), contrairement aux machines virtuelles classiques qui ne tournent pas de façon privilégiée et restent sous le contrôle complet de la machine hôte.

Le terme Cooperative (coopératif, en coopération) est utilisé pour décrire deux entités travaillant de concert en parallèle, c’est-à-dire des coroutines. En ce sens, une description très générale de Cooperative Linux serait qu'il fait tourner deux noyaux de systèmes d'exploitation dans deux (grosses) coroutines. Dans ce mode, chaque noyau (Linux et NT) a son propre contexte processeur, et chaque noyau décide quand redonner le contrôle à son partenaire.

Cependant, seul un des noyaux peut avoir le contrôle physique sur le matériel, alors que l'autre doit se contenter d'abstractions fournies par des composants matériels virtuels. L'hôte peut être n'importe quel noyau de système d'exploitation qui peut fournir quelques fonctions de base (dite primitives ou de bas niveau) pour permettre au pilote de périphérique fourni par Cooperative Linux de tourner en mode CPL0 (dit aussi ring 0) et allouer de la mémoire, qui sera utilisée par le noyau Linux.

Cette approche spéciale par le mode CPL0 rend Cooperative Linux radicalement différent des autres méthodes de virtualisation de machines plus traditionnelles comme VMware, plex86 ou encore VirtualPC, et d'autres méthodes comme Xen : Toutes ces approches font tourner le système d'exploitation invité (ici, Linux) dans un mode moins privilégié que celui de son hôte.

L'approche utilisée par Cooperative Linux a permis une conception bien plus simple et son développement initial a ainsi duré moins d'un mois, entre la première modification d'un noyau Linux 2.4.23-pre9 jusqu'à ce qu'à un point où KDE puisse tourner.

Les seuls défauts de cette approche sont la stabilité et la sécurité. Si le noyau invité (coLinux) devient instable, il peut faire planter le système entier (Windows). Cependant, on peut prendre des mesures comme l'arrêter proprement aux premiers signes critiques (Oops ou panic error). Concernant la sécurité, fournir un accès total (root) sur la partie Cooperative Linux peut certes donner un accès total (Administrateur) à la partie Windows qui joue le rôle d'hôte, par exemple en utilisant des modules de noyau spécialement écrits.

La plupart des modifications apportées au noyau par coLinux concernent la branche pour processeurs i386 -- la seule architecture supportée pour l'instant. Elles concernent surtout l'initialisation du noyau Linux. Les autres modifications concernent surtout l'ajout de drivers virtuels : cobd (Cooperative Linux block devices), conet (Cooperative Linux network), and cocon (Cooperative Linux console). Rester le plus près possible du noyau de base est un objectif avéré du projet Cooperative Linux en termes de conception, afin de minimiser l'impact et l'étendue de ces modifications.

Architecture

Architecture de coLinux
User-space
noyau coLinux
User-space
noyau Windows
Microsoft Windows
Matériel

Noyaux en user-space

User Mode Linux est un noyau Linux qui tourne dans l'espace utilisateur d'un système d'exploitation hôte basé sur Linux. Cooperative Linux est un noyau Linux qui tourne dans l'espace utilisateur d'un système d'exploitation hôte Microsoft Windows.

Voir aussi

Liens internes

Liens externes

  • Portail de l’informatique Portail de l’informatique
  • Portail de la sécurité informatique Portail de la sécurité informatique
  • Portail des logiciels libres Portail des logiciels libres
Ce document provient de « Cooperative Linux ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article CoLinux de Wikipédia en français (auteurs)

Игры ⚽ Поможем сделать НИР

Regardez d'autres dictionnaires:

  • Colinux — с запущенным Debian Linux …   Википедия

  • CoLinux — Cooperative Linux Virtualisierungslösung Basisdaten Entwickler: Das coLinux Team Aktuelle Version …   Deutsch Wikipedia

  • Colinux — Cooperative Linux Virtualisierungslösung Basisdaten Entwickler: Das coLinux Team Aktuelle Version …   Deutsch Wikipedia

  • Colinux — Cooperative Linux Cooperative Linux, ou coLinux pour faire court, est un bout de logiciel libre qui permet au noyau Linux de tourner sous Microsoft Windows sans perte significative de performances. Sommaire 1 Description 2 Considérations… …   Wikipédia en Français

  • CoLinux — …   Википедия

  • Cooperative Linux — Ubuntu on Windows Vista …   Wikipedia

  • Cooperative Linux — Virtualisierungslösung Basisdaten Entwickler Das coLinux Team Aktuelle Version …   Deutsch Wikipedia

  • Cooperative Linux — Cooperative Linux, ou coLinux pour faire court, est un bout de logiciel libre qui permet au noyau Linux de tourner sous Microsoft Windows sans perte significative de performances. Sommaire 1 Description 2 Considérations techniques 3 Architecture …   Wikipédia en Français

  • Cooperative Linux — Desarrollador Comunitario www.colinux.org Información general Última versión estable 0.7.6 6 de marzo de 2010; hac …   Wikipedia Español

  • TopologiLinux — Infobox Software name = TopologiLinux caption = TopologiLinux Installation under Windows Vista collapsible = author = developer = released = latest release version = 7.0.0 latest release date = release date and age|2008|07|10 latest preview… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”