Re: émulateur

Page principale

Répondre à ce message
Auteur: Yves Martin
Date:  
À: guilde
Sujet: Re: émulateur
Selon Aimé Vareille <aime.vareille@???>:

> Bonjour,
> Il me semble que le concurrent libre de vmware est bochs
> (http://bochs.sourceforge.net/). Ces 2 projets permettent effectivement
> de faire tourner sur la même machine simultanément au moins 2 OS
> (Windows, Linux, FreeBSD ...) en leur offrant un genre de BIOS commun
> gérant le partage des ressources : évidemment c'est au prix d'un
> ralentissement de chacun des OS.


> http://lea-linux.org/logi/rub.40.html.


Pour ne pas rentrer dans une polémique sur les termes émulateur/simulateur
(même WikiPedia n'est pas clair là dessus), j'utiliserai 'émulateur' comme
tout le monde...

Tout d'abord pour préciser "au moins deux OS", il faut indiquer qu'il faut
avoir un OS hôte (par exemple Linux) qui fera tourner une ou plusieurs
machines virtuelles (matériel ou OS). En fonction du choix technique de
l'implémentation de l'émulateur, les pertes de performance sont plus ou moins
importante.

Attention: Bochs est plutôt un émulateur "complet" de la plate-forme PC (x86),
jusqu'au processeur, ce qui lui permet de fonctionner sur Solaris ou autres.

Par contre VMWare est meilleur en performance car il n'émule pas le processeur,
les instructions sont exécutés directement par le CPU ! Donc il ne fonctionne
que sur un OS x86. Pour le reste de l'émulation matériel (réseau, graphique...)
Bochs et VMWare sont très comparable.

VMWare est commercial et très abouti. On peut faire tourner plusieurs
machines virtuelles connectées entre elle par des hub/switch pour simuler
un réseau entier (tant que les resources de la machine hôte le permettent !).
Idéal pour prototyper un firewall OpenBSD avec une DMZ Linux/Apache par
exemple. Je parle de la version WorkStation car les versions serveurs sont
destinés à de la consolidation de resources (ESX est impressionnant !)

CoLinux n'est pas un émulateur de matériel PC ! Il permet de faire tourner
un OS virtuel Linux sur un autre système d'exploitation. Si je me souviens
bien, il est composé de patchs pour ajouter un support d'architecture 'win32'
comme s'il s'agissait d'un autre matériel. Certains appels au matériel
sont délégués à l'API win32.
Donc CoLinux ne permet de faire fonctionner que du Linux alors que Bochs et
VMWare peuvent faire tourner tout système pour architecture x86 (FreeBSD...)

Un petit 'nouveau' qui n'est pas sur la page Lea: QEMU.
Sa conception est très proche de Bochs mais avec une différence radicale:
il est capable d'émuler différentes architectures
(notamment sparc, powerpcc...). Bref de quoi faire tourner MacOS sur Windows
ou Solaris sur Linux ! Encore en développement mais très actif !

Une fois plus prometteuse est celle prise par 'Xen'.
L'idée est de concevoir une couche d'abstraction du matériel (HAL).
L'émulateur fournit cette implémentation pour l'OS hôte mais le système
d'exploitation doit être patché pour tourner dans cette environnement émulé.
Pour Linux bien sûr aucun problème, l'architecture 'xen' est déjà écrite.
Donc Linux sur Xen est possible. Windows XP aussi mais les patchs ne peuvent
pas être publiés sans l'accord de Microsoft... A voir même s'ils sont sensés
être payés pour les licenses Windows qui fonctionne dans l'émulateur, ce n'est
peut-être pas dans leur intérêt.
Résultat: de bien meilleurs performances.

Voilà un univers bien passionnant !
Mais le choix dépend de tes besoins. Si tu veux faire du Linux sur Linux,
je te conseille très franchement 'Xen'.
A+
--
Yves Martin