Présentation
En anglaisRÉ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’articleABSTRACT
Hiding heterogeneity is one of the major challenges of modern computing technology; the number of software configurations is huge and it is impossible to develop an application for each of these specific configurations. Software virtualization provides an answer to this issue by uniformizing the access to the material, be it the access to the peripheral device or the central processor. Two computing technology sectors deal with virtualization; the operating system sector is in charge of hiding the heterogeneity of peripheral devices only and the virtual machine sector the heterogeneity of central processors.
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.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 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
Présentation
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 fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 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
Machine virtuelle
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 PAGECet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 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