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