Jump to content

Archived

This topic is now archived and is closed to further replies.

Sandeman

[Tuto] [Débutant] Emulation & virtualisation Linux

Recommended Posts

Comme la question revient assez souvent, un bref tuto sur les solutions d'émulation et de virtualisation.

Le tuto se compose :

  • d'un petit topo rapide sur les différentes techno
  • d'une présentation de différentes solutions

Il est recommander de lire également les tutos génériques de PCINpact en relation avec ce sujet (Pourquoi/comment passer au libre ?, choisir sa distribution, jeux), épinglés ci-dessus.

Share this post


Link to post
Share on other sites

Emulation et Virtualisation

Ceci va vous permettre de mieux positionner les produits et les besoins.

L'émulation

dans notre contexte, cela consiste à interpréter les appels d'une application ou d'un OS pour les retranscrire dans l'environnement de la machine. C'est ce que font les émulateurs de console, mais aussi le logiciel Wine : il convertira par exemple l'ordre d'affichage d'une fenêtre dans Windows en commandes X-Window, ce qui permettra son rendu sous X.

Avantage :

+ bonne intégration dans le système hôte,

Inconvénient :

- performances généralement médiocres.

La virtualisation

il s'agit d'un procédé plus radical : le logiciel de virtualisation créé un environnement matériel complet pour faire croire à l'application ou l'OS qu'il tourne sur une machine réelle. L'OS hébergé ignore totalement (ou presque, dans le cas de la para-virtualisation) qu'il est dans une machine virtuelle. Les principaux produits sont VMWare, Xen et qemu.

Avantage :

+ toutes les fonctionnalités ou presque d'une machine réelle,

Inconvénients :

- consommation de ressources (la RAM allouée à la machine virtuelle l'est entièrement),

- étanchéité avec l'OS hôte.

Share this post


Link to post
Share on other sites

Wine

Wine Is Not an Emulator. Malgré ceci, Wine permet de faire tourner en émulation des applications Windows dans un environnement X-Window.

Comme expliqué ci-dessus, Wine permet à des applications écrites pour Windows d''appeler les API (éléments logiciels de gestion d'interface, par exemple), et Wine se charge de rendre un résultat similaire sous Unix : par exemple si une application appelle l'API Windows pour ouvrir un popup et afficher "hello world", Wine fera de même et ouvrira un popup sous X-Window, l'application ignorant qu'elle n'est pas sous Windows.

  • GPL
  • Windows dans Linux,
  • Il est raisonnablement gourmand,
  • Les performances sont variables, mais souvent bonnes,
  • Il permet de faire tourner certains jeux Windows (ceux développés en OpenGL) et DirectX,

Share this post


Link to post
Share on other sites

Cedega (anciennement WineX)

Cedega est un développement complémentaire à Wine, mais maintenu par une société (Transgaming) et payant (sous la forme d'un abonnement). Son objectif est d'ajouter à Wine la gestion de l'API DirectX de Microsoft, essentiellement utilisée pour les jeux.

  • Commercial, payant
  • Windows dans Linux
  • Il est raisonnablement gourmand,
  • Ses performances sont relativement bonnes,
  • Il permet de faire tourner un bon nombre de jeux DirectX

Liens :

Share this post


Link to post
Share on other sites

VMWare

VMWare a été le premier logiciel de virtualisation utilisé à grande échelle. C'est un logiciel commercial, désormais gratuit dans ses versions non serveur.

Il s'installe sous Windows et sous Linux, et permet de faire tourner Windows, Linux, *BSD comme OS hébergés. Son portage sous Mac OS est prévu ?

  • Commercial, gratuit (en version de base)
  • Windows, Linux, Solaris, Mac OS/X dans Linux, Windows, Mac OS/X,
  • Ses performances sont moyennes,
  • Il est assez gourmand en ressources,
  • Il ne permet pas de faire tourner des jeux DirectX

Share this post


Link to post
Share on other sites

Xen

Xen est un logiciel de para-virtualisation développé par l'Université de Cambridge et distribué par la société Xen Source. Il s'installe pour l'instant sous Linux (car il nécessite une modification du noyau), et permet de faire tourner des Linux, des BSD, et Windows sous certaines conditions : utiliser Xen v3.0.2 ou plus, utiliser Windows 2003 et disposer d'un processeur gérant la virtualisation ("VT" ou "Pacifica").

  • GPL
  • Ses performances sont très bonnes (pertes entre 0 et 10% par rapport à la machine hôte),
  • Linux dans Linux, Windows dans Linux (sous conditions)
  • Il est gourmand en ressources mais elles sont affectables à chaud (pour un Linux hébergé, on peut dynamiquement changer la RAM et le nombre de CPU affectés).
  • Il ne permet pas encore de faire tourner des jeux DirectX

Notes :

  • Xen s'intègre notablement bien avec d'autres solutions Linux telles que EVMS, DRBD et Heartbeat, ce qui permet de créer des clusters virtualisés de machines Linux de façon très économique.
  • La technologie Xen étant désormais embarquée dans les processeurs supportant la virtualisation (VT ou Pacifica selon le fondeur) on peut parler de virtualisation logicielle et désormais de virtualisation matérielle.
  • XenSource a été racheté par Citrix le 15/08/2007 pour environ 500 M$. En espérant que cela n'impacte pas le licensing du produit.

Share this post


Link to post
Share on other sites

Qemu

Qemu est un logiciel de virtualisation sous Linux. Il s'installe sous Linux sans modification du noyau (sauf à utiliser le module d'accélération Kqemu), et permet de faire tourner Windows ou Linux en tant qu'OS hôte.

  • GPL (sauf le module d'accélération)
  • Windows dans Linux, Linux dans Linux
  • Ses performances sont moyennes,
  • Il est gourmand en ressources,
  • Il ne permet pas de faire tourner des jeux DirectX.

Note :

  • Compte tenu de la gratuité de QEMU et des distributions Linux, c'est une bonne solution pour tester Linux sans casser son Windows, alternative à la solution du LiveCD. En suivant par exemple ce tutoriel d'installation d'Ubuntu dans Windows.

Share this post


Link to post
Share on other sites

Win4Lin

Win4Lin est une série de logiciels commerciaux édités par la société Netraverse.

La version 9X

C'est un logiciel commercial. Cette première version virtualisait une machine DOS et permettait de lancer, moyennant une modification du noyau, des machines Dos ou Windows 9x dans un Linux.

  • Commercial, payant (60$)
  • Dos, Windows 95/98/ME dans Linux
  • Il a de très bonnes performances,
  • Il est gourmand en ressources,
  • Il ne permet pas de faire tourner des jeux DirectX.

La version Pro

La version Pro s'appuie essentiellement sur QEmu, mais améliore l'intégration dans Linux. Il permet donc de faire tourner des Windows (2000, XP) dans Linux, sans modification du noyau.

  • Commercial, payant (90$)
  • Windows dans Linux
  • Il a de bonnes performances,
  • Il est gourmand en ressources,
  • Il ne permet pas de faire tourner des jeux DirectX.
  • Il s'intégre bien dans Linux (accès au filesystem hôte, gestion transparente de la souris)

La version Server

Elle permet un fonctionnement de type serveur d'application (depuis Linux, lancer une application située sur un serveur Windows), tout en s'appuyant sur la puissance de l'administration Linux.

Share this post


Link to post
Share on other sites

VirtualBox

VirtualBox est une solution d'émulation éditer par la société Innotek. VirtualBox est devenue GPL depuis la mi-janvier 2007.

  • Gratuit (GPL)
  • Tous Windows, Linux, BSD, OS/2 dans Windows, Linux
  • Elle a d'excellentes performances,
  • Elle est assez gourmand en ressources,
  • Elle ne permet pas de faire tourner des jeux DirectX,
  • Elle est particulièrement simple d'utilisation.

Les performances sont bluffantes, je suis absolument conquis.

Les petits "trucs en plus" :

  • La possibilité de faire des snapshots (images instantanées de la machine),
  • La possibilité de prendre la main en RDP sur la machine virtuelle,
  • La possibilité d'attacher des disques distants en iSCSI

Share this post


Link to post
Share on other sites

Le mot de la fin

Voilà !

j'espère que ça rendra quelques services, vous pouvez répondre à ce topic ou me MP pour tout complément.

Liens complémentaires

Remerciements

  • Theo pour le coup de modo :transpi:

Share this post


Link to post
Share on other sites

"Wine Is Not An Emulator", et c'est bien vrai.

Seulement le terme "émulateur" est vrai dans le sens français du terme ("Un émulateur est un artefact logiciel qui remplace une base existante ou ayant existé." d'après wikipedia).

Difficile à expliquer à mon avis ;)

Ce serait sympa de dire que wine est l'implémentation des API Windows pour UNIX, et notamment GNU/Linux et les BSD (en utilisant X notamment)

Share this post


Link to post
Share on other sites

ok, mais wine est l'implémentation de tellement de chose (le registre par exemple) que c'est *presque* devenu un émulateur. C'est juste que l'architecture n'est pas la même. ;)

Share this post


Link to post
Share on other sites

Ah oui et ça serait bien de rajouter que les dernières versions de Wine (début 2005 quand même) supportent une partie (comme presque tout sous Wine, y'a pas besoin d'implémenter ce qui n'est jamais utilisé) de DirectX (8 et 9).

Quand je vois tous les débutants qui essayent de compiler cedega CVS afin de jouer à un jeu qui tourne parfaitement avec Wine parce que "Je veux jouer à un jeu DirectX et Wine ne supporte pas DirectX"... :craint:

Share this post


Link to post
Share on other sites

Joli tuto, très clair.

Perso j'utilise Vmware Player (version gratuit) pour faire tourné Visual Studio, puisque avec wine cela ne marche pas ;)

Pour les jeux, je me suis fais avoir :craint: j'ai pris ce Cedega. Bon d'accord y à une belle interface et tout.

Mais Wine arrive à faire la même chose, alors pourquoi prendre autre chose :-D

Share this post


Link to post
Share on other sites

Interessant comme topic!

Mais quid des technos de virtualisation qui permettent de faire tourner tous les OS au meme niveau?

On en parlait depuis un moment (en fait depuis l'apparition des technos de virtualisation dans les CPUs, et c'est la raison pour laquelle j'ai attendu le core 2 duo mobile :) ).

Avez vous des infos sur l'endroit ou ça en est, et le fonctionnement?

j'ai lu qu'on etait censés pouvoir booter/eteindre n'importe quel os de ceux qui sont installés sans avoir à en demarrer/arreter aucun autre...

Par ex , booter sous linux, avoir a faire un truc sous win, donc booter aussi win (sans arreter linux), et d'un coup décider de jouer a chaispasquoi 3D, donc couper linux et continuer sous win...

Y'avait une histoire de faire passer les OS en ring 1 au lieu de ring 0, ce qui etait censé egalement sécuriser l'environement global de la machine...

des infos sur le sujet? j'ai pas encore trouvé d'article complet dessus, juste des bribes a droite a gauche (news, principalement)

Share this post


Link to post
Share on other sites

En ce qui concerne Wine, on parle d'interprétation, un émulateur simule le matériel, un interpréteur simule le logiciel.

Share this post


Link to post
Share on other sites
un émulateur simule le matériel

Mais il ne peut pas simuler une autre architecture...

On pourrait donc dire qu'il virtualise du matos en utilisant le hard de la machine sur laquelle il est?

On s'écarte un peu du sujet principal qui est d'utiliser le core 2 duo pour 2 OS en meme temps...

J'en avais entendu parler mais sans plus du fait que je n'ai pas ce type de proco...

Ce qui est sur, c'est que, par exemple, un biproc peut faire tourner 2 OS en meme temps a partir d'un OS (ou genre d'OS je sais pas) du style de vmware ESX Server...

La question serait maintenant de savoir si on peut assimiler le core 2 duo a un biproc afin de traiter 2 OS en simultanés...

Share this post


Link to post
Share on other sites
On en parlait depuis un moment (en fait depuis l'apparition des technos de virtualisation dans les CPUs, et c'est la raison pour laquelle j'ai attendu le core 2 duo mobile :) ).

Le core duo aussi est capable de faire de la virtualisation...

Share this post


Link to post
Share on other sites

Un petit :transpi: j'ai rajouté VirtualBox qui est vraiment excellent. Dans la journée où je l'ai essayée, la moitié de mon équipe (de Linux acharnés) est passée dessus.

Share this post


Link to post
Share on other sites

Merci pour ce Tuto, qui m'a permis de découvrir VirtualBox, qui m'a l'air très intéressant :cartonrouge:

Je sens que mon Vmplayer va partir à la poubelle :dors:

:p

Share this post


Link to post
Share on other sites

×
×
  • Create New...