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

Contexte de la virtualisation
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

1. Contexte de la virtualisation

Avec la naissance de l'informatique, est né le besoin de factoriser des fonctionnalités communes à différentes applications et le besoin d'unifier l'accès au matériel. Le but de cette factorisation est double. D'une part, il s'agit de diminuer le travail de développement d'une application en réutilisant du code développé par d'autres acteurs du marché ; d'autre part, il s'agit de développer une application une unique fois pour différents matériels. Cette factorisation de fonctionnalités a donné naissance à une couche logicielle qui s'interpose entre le matériel et l'application : le système d'exploitation. Un système d'exploitation virtualise les ressources matérielles pour l'application et offre une interface de programmation uniforme aux applications, indépendante du matériel présent dans l'ordinateur.

De nombreux acteurs du monde industriel et du monde académique se sont attaqués à la construction de systèmes d'exploitation : MSDos, Windows, OS/2, MacOS, Linux, FreeBSD, OpenBSD, Unix, Minix, L3, Chorus, Mach ou Solaris pour n'en citer que quelques-uns. Cette tentative d'uniformisation a donc simplifié le travail de développement puisqu'une application est développée pour un système d'exploitation et profite des abstractions fournies par ce système.

Toutefois, le problème n'est pas totalement résolu par les systèmes d'exploitation puisqu'une application ne peut pas s'exécuter sur tous les systèmes d'exploitation et sur tous les matériels : une application utilise l'interface de programmation d'un unique système d'exploitation et doit donc être modifiée pour pouvoir s'exécuter sur une autre système d'exploitation. De plus, pour des raisons de performances, les systèmes d'exploitation virtualisent les périphériques, mais ne virtualisent pas le processeur lui-même. Donc une application est écrite pour un unique processeur P et pour un unique système d'exploitation E.

La conséquence directe est qu'un utilisateur qui a besoin d'exécuter deux applications écrites pour deux systèmes différents doit posséder les deux systèmes. Comme deux systèmes d'exploitation ne peuvent pas cohabiter simultanément en mémoire, l'utilisateur n'a pas d'autre alternative que de redémarrer sa machine pour passer d'une application à l'autre ou d'avoir deux machines différentes chacune avec son système d'exploitation. Si, en moyenne, un processeur peut exécuter n systèmes et qu'il existe m processeurs, il faut posséder n*m systèmes...

Cet article est réservé aux abonnés.
Il vous reste 94% à 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
Contexte de la virtualisation
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 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.

      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