Présentation
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’articleAuteur(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)
Présentation
Article inclus dans l'offre
"Technologies logicielles Architectures des systèmes"
(236 articles)
Actualisée et enrichie d’articles validés par nos comités scientifiques.
Quiz, médias, tableaux, formules, vidéos, etc.
Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.
Un ensemble de services exclusifs en complément des ressources.
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...
Machine virtuelle
Article inclus dans l'offre
"Technologies logicielles Architectures des systèmes"
(236 articles)
Actualisée et enrichie d’articles validés par nos comités scientifiques.
Quiz, médias, tableaux, formules, vidéos, etc.
Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.
Un ensemble de services exclusifs en complément des ressources.
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 PAGEArticle inclus dans l'offre
"Technologies logicielles Architectures des systèmes"
(236 articles)
Actualisée et enrichie d’articles validés par nos comités scientifiques.
Quiz, médias, tableaux, formules, vidéos, etc.
Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.
Un ensemble de services exclusifs en complément des ressources.