Màquina virtualEn informàtica una màquina virtual és un programari que emula un ordinador i pot executar programes com si fos un ordinador real tot i que està virtualitzat. Aquest programari en un principi va ser definit com "un duplicat eficient i aïllat d'una màquina física". L'accepció del terme inclou màquines virtuals que no tenen cap equivalència directa amb cap maquinari real. Una característica essencial de les màquines virtuals és que els processos que s'executen estan limitats pels recursos i abstraccions proporcionats per elles. Aquests processos no poden escapar d'aquest "ordinador virtual". Un dels usos domèstics més estesos de les màquines virtuals és executar sistemes operatius per "provar". D'aquesta manera podem executar un sistema operatiu que vulguem provar (Linux, per exemple) des del sistema operatiu habitual (Mac OS X per exemple) sense necessitat d'instal·lar directament al ordinador i sense por que es desconfiguri el sistema operatiu primari. Tipus de màquines virtualsLes màquines virtuals es poden classificar en dues grans categories segons la seva funcionalitat i el seu grau d'equivalència a una veritable màquina.
Màquines virtuals de sistemaLes màquines virtuals d'alleujament sistema, també anomenades màquines virtuals del maquinari, permeten a la màquina física subjacent multiplexar entre diverses màquines virtuals, cadascuna executant el seu propi sistema operatiu. La capa de programari que permet la virtualització es el monitor de màquina virtual o "hypervisor". Un monitor de màquina virtual pot executar o bé directament sobre el maquinari o bé sobre un sistema operatiu ("host operating system").
Màquines virtuals de procésUna màquina virtual de procés, de vegades anomenada "màquina virtual d'aplicació", s'executa com un procés normal dins d'un sistema operatiu i suporta un sol procés. La màquina s'inicia automàticament quan es llança el procés que es vol executar i s'atura quan aquest finalitza. El seu objectiu és el de proporcionar un entorn d'execució independent de la plataforma de maquinari i del sistema operatiu, que oculti els detalls de la plataforma subjacent i permeti que un programa s'executi sempre de la mateixa manera sobre qualsevol plataforma. L'exemple més conegut actualment d'aquest tipus de màquina virtual és la màquina virtual de Java. Una altra màquina virtual molt coneguda és la de l'entorn . Net de Microsoft que es diu "Common Language Runtime". Inconvenients de les màquines virtualsUn dels inconvenients de les màquines virtuals és que afegeixen gran complexitat al sistema en temps d'execució. Això té com a efecte l'alentiment del sistema, és a dir, el programa no arribarà a la mateixa velocitat d'execució que si es fes directament en el sistema operatiu "amfitrió" (host) o directament sobre la plataforma de maquinari. No obstant això, sovint la flexibilitat que ofereixen compensa aquesta pèrdua d'eficiència. TècniquesEmulació del maquinari subjacent (execució nativa)Aquesta tècnica s'anomena virtualització completa (full virtualization) del maquinari, i es pot implementar utilitzant un hypervisor de Tipus 1 o de Tipus 2 :
Cada màquina virtual pot executar qualsevol sistema operatiu suportat pel maquinari subjacent. Així els usuaris poden executar dos o més sistemes operatius diferents simultàniament en ordinadors "privats" virtuals. El sistema pioner que va utilitzar aquest concepte va ser la CP-40, la primera versió (1967) de la CP/CMS d'IBM (1967-1972) i el precursor de la família VM d'IBM (de 1972 en endavant). Amb l'arquitectura VM, la major part d'usuaris controlen un sistema operatiu monousuari relativament simple anomenat CMS que s'executa en la màquina virtual VM. Actualment tant Intel com AMD han introduït prestacions als seus processadors x86 per permetre la virtualització de maquinari. Emulació del sistema no natiuLes màquines virtuals també poden actuar com emuladors de maquinari, permetent que aplicacions i sistemes operatius concebuts per a altres arquitectures de processador es puguin executar sobre un maquinari que en teoria no suporten. Algunes màquines virtuals emulen maquinari que només existeix com una especificació. Per exemple:
Aquesta tècnica permet que qualsevol ordinador pugui executar programari escrit per a la màquina virtual. Només la màquina virtual en si mateixa ha de ser portada a cadascuna de les plataformes de maquinari. Virtualització a nivell de sistema operatiuAquesta tècnica consisteix a dividir un ordinador en diversos compartiments independents de manera que en cada compartiment puguem instal·lar un servidor. A aquests compartiments se'ls diu "entorns virtuals". Des del punt de vista de l'usuari, el sistema en el seu conjunt actua com si realment existissin diversos servidors executant-se en diverses màquines diferents. Dos exemples són les zones de Solaris (Solaris Zones) i la tècnica de Micro Partioning de AIX. Llista de maquinari suportades per virtualització
Descripcions ampliades per a aplicacions de virtualització seleccionadesEls productes de programari següents són capaços de virtualitzar el maquinari de manera que diversos sistemes operatius puguin compartir-lo.
Referències
Vegeu tambéEnllaços externs
|