Article de référence | Réf : H1585 v1

Machine virtuelle
Virtualisation logicielle : de la machine réelle à la machine virtuelle abstraite

Auteur(s) : Bertil FOLLIOT, Gaël THOMAS

Date de publication : 10 févr. 2009

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Version en anglais English

RÉSUMÉ

Masquer l'hétérogénéité est un des grands challenges de l'informatique moderne : le nombre de configuration matériel est colossal et il est impossible de développer une application pour chacune de ces configurations spécifiques. La virtualisation logicielle apporte une réponse à ce problème en uniformisant l'accès au matériel, que ce soit l'accès au périphérique ou au processeur central. Deux domaines de l'informatique s'occupent de virtualisation : le domaine des systèmes d'exploitation s'occupe de masquer l'hétérogénéité des périphériques uniquement et le domaine des machines virtuelles s'occupe de masquer l'hétérogénéité des processeurs centraux.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

Auteur(s)

  • Bertil FOLLIOT : Professeur des universités en informatique à l'université Pierre et Marie Curie, Paris VI

  • Gaël THOMAS : Maître de conférence en informatique à l'université Pierre et Marie Curie, Paris VI

INTRODUCTION

Masquer l'hétérogénéité est un des grands challenges de l'informatique moderne : le nombre de configuration matériel est colossal et il est impossible de développer une application pour chacune de ces configurations spécifiques. La virtualisation logicielle apporte une réponse à ce problème en uniformisant l'accès au matériel, que ce soit l'accès au périphérique ou au processeur central. Deux domaines de l'informatique s'occupent de virtualisation : le domaine des systèmes d'exploitation s'occupe de masquer l'hétérogénéité des périphériques uniquement et le domaine des machines virtuelles s'occupe de masquer l'hétérogénéité des processeurs centraux.

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h1585


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Présentation
Version en anglais English

3. Machine virtuelle

Les systèmes d'exploitation fournissent une couche de virtualisation entre le matériel et les applications, mais comme un système d'exploitation ne virtualise pas le processeur, une application classique ne peut s'exécuter que sur un seul processeur et un seul système. L'essor des applications distribuées nécessite de faire interagir du code dans un environnement hétérogène, or de nombreuses applications nécessitent de migrer du code d'une machine à l'autre, que ce soit des applications web, comme des applets ou du javascript, des applications à base d'agents mobiles, ou encore des applications distribuées qui nécessitent de charger des souches d'appels pour des objets distribués. Comme du code compilé ne peut s'exécuter que sur un seul processeur et un seul système, il est impossible de faire migrer ce code dans un environnement hétérogène. Pour résoudre ce problème, une couche de virtualisation du processeur est introduite. Celle-ci peut émuler une machine réelle, c'est le cas des machines virtuelles concrètes (Qemu, Bochs, VirtualBox ou VirtualPC) qui permettent d'émuler un processeur existant sur un processeur quelconque et un système quelconque. La couche de virtualisation peut aussi émuler un processeur abstrait qui n'a pas d'équivalent matériel, c'est le cas des machines virtuelles abstraites (JVM, CLR, GhostScript, Python...).

On définit une machine virtuelle comme un processeur et un ensemble de périphériques exécutés de façon logicielle. Une machine virtuelle est donc un programme capable de charger et d'exécuter d'autres programmes. La machine virtuelle s'exécute sur une machine hôte. Les programmes exécutés par la machine virtuelle utilisent les périphériques et le jeu d'instruction de la machine virtuelle. Une machine virtuelle exécute donc des applications de manière indépendante de la machine réelle et de ses caractéristiques physiques : processeur, système d'exploitation, mémoire ou périphériques. On définit aussi une application virtuelle comme une application développée pour une machine virtuelle.

Une machine hôte peut exécuter simultanément plusieurs machines virtuelles et donc exécuter plusieurs applications virtuelles. Dans le cas des machines virtuelles concrètes, une machine hôte peut exécuter en parallèle des applications développées pour différents systèmes et processeurs réels. Une machine virtuelle peut aussi être elle-même...

Cet article est réservé aux abonnés.
Il vous reste 95% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Machine virtuelle
Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - TANENBAUM (A.) -   Systèmes d’exploitation, Pearson Education France  -  2e éd. (ISBN 2-7440-7002-5) (2003).

  • (2) - BOVET (D.P.), CESATI (M.) -   Understanding the Linux Kernel, November  -  Third Ed. (ISBN 10 : 0-596-00565-2 | ISBN 13 : 9780596005658) (2005).

  • (3) - BACH (M.J.) -   Design of the UNIX Operating System, Prentice Hall Software Series  -  (ISBN-10 : 0132017997 | ISBN-13 : 978-0132017992) (1986).

  • (4) - McKUSICK (M.K.), NEVILLE-NEIL (G.V.) -   The Design and Implementation of the FreeBSD Operating System, Addison-Wesley Professional  -  First Ed. (ISBN-10 : 0201702452 | ISBN-13 : 978-0201702453) (2004).

  • (5) - LINDHOLM (T.), YELLIN (F.) -   The Java (TM) Virtual Machine Specification, Prentice Hall  -  Second Ed. (ISBN-10 : 0201432943 | ISBN-13 : 978-0201432947) (1999).

  • (6) - LATTNER (C.), ADVE (V.) -   LLVM :...

DANS NOS BASES DOCUMENTAIRES

    ANNEXES

      Base documentaire Technologies logicielles – Architectures des systèmes

      DOUIN (J.-M.) - Machine virtuelle Java -  [H 1 588] (2000).

      SOULEMA (P.) - Système d'exploitation Unix -  [H 1 528] (1997).

      HERTZOG (R.) - Linux, noyau et système d'exploitation libre -  [H 1 540] (2008).

      KRAKOWIAK (S.) - Système d'exploitation : principes et fonctions -  [H 1 510] (2008).

      LORHO (B.) - Compilateurs -  [H 3 168] (1996).

      DUPOUY (B.) - Assembleur et éditeur de liens -  [H 3 178] (2002).

      HAUT DE PAGE

      Cet article est réservé aux abonnés.
      Il vous reste 95% à découvrir.

      Pour explorer cet article
      Téléchargez l'extrait gratuit

      Vous êtes déjà abonné ?Connectez-vous !


      L'expertise technique et scientifique de référence

      La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
      + de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
      De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

      Cet article fait partie de l’offre

      Technologies logicielles Architectures des systèmes

      (240 articles en ce moment)

      Cette offre vous donne accès à :

      Une base complète d’articles

      Actualisée et enrichie d’articles validés par nos comités scientifiques

      Des services

      Un ensemble d'outils exclusifs en complément des ressources

      Un Parcours Pratique

      Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

      Doc & Quiz

      Des articles interactifs avec des quiz, pour une lecture constructive

      ABONNEZ-VOUS