Virtualització assistida per maquinari

De la Viquipèdia, l'enciclopèdia lliure

En informàtica, la virtualització assistida per maquinari és un enfocament de virtualització de plataformes que permet una virtualització completa eficient mitjançant l'ajuda de les capacitats de maquinari, principalment dels processadors host. Una virtualització completa s'utilitza per emular un entorn de maquinari complet, o màquina virtual, en què un sistema operatiu convidat no modificat (que utilitza el mateix conjunt d'instruccions que la màquina amfitrió) s'executa de manera eficaç de manera aïllada. La virtualització assistida per maquinari es va afegir als processadors x86 (Intel VT-x, AMD-V o VIA VT) el 2005, 2006 i 2010 [1] (respectivament).[2]

La virtualització assistida per maquinari també es coneix com a virtualització accelerada; Xen l'anomena màquina virtual de maquinari (HVM) i Virtual Iron l'anomena virtualització nativa.[3]

Història[modifica]

La virtualització assistida per maquinari va aparèixer per primera vegada a l'IBM System/370 l'any 1972, per utilitzar-la amb VM/370, el primer sistema operatiu de màquina virtual. Amb la creixent demanda de gràfics per ordinador d'alta definició (per exemple, CAD), la virtualització de mainframes va perdre una mica d'atenció a finals dels anys setanta, quan els propers miniordinadors van fomentar l'assignació de recursos mitjançant la computació distribuïda, que abastava la mercantilització dels microordinadors.

IBM ofereix virtualització de maquinari per al seu maquinari IBM Power Systems per a AIX, Linux i IBM i, i per als seus mainframes IBM Z. IBM fa referència a la seva forma específica de virtualització de maquinari com a "partició lògica", o més comunament com a LPAR.

L'augment de la capacitat de càlcul per servidor x86 (i, en particular, l'augment substancial de l'amplada de banda de les xarxes modernes) va reactivar l'interès per la computació basada en centres de dades que es basa en tècniques de virtualització. El factor principal era el potencial per a la consolidació del servidor: la virtualització va permetre que un únic servidor consolidés de manera rendible la potència de càlcul en diversos servidors dedicats infrautilitzats. El segell més visible d'un retorn a les arrels de la informàtica és la informàtica en núvol, que és un sinònim d'informàtica basada en centres de dades (o informàtica tipus mainframe) a través de xarxes d'ample de banda elevat. Està estretament relacionat amb la virtualització.

L'arquitectura x86 d'implementació inicial no complia els requisits de virtualització de Popek i Goldberg per aconseguir la "virtualització clàssica":

  • equivalència : un programa que s'executa sota el monitor de la màquina virtual (VMM) hauria de mostrar un comportament essencialment idèntic al demostrat quan s'executa directament en una màquina equivalent.
  • control de recursos (també anomenat seguretat): el VMM ha de tenir un control complet dels recursos virtualitzats
  • eficiència : una fracció estadísticament dominant de les instruccions de la màquina s'ha d'executar sense intervenció del VMM

Això va dificultar la implementació d'un monitor de màquina virtual per a aquest tipus de processador. Les limitacions específiques incloïen la incapacitat de atrapar algunes instruccions privilegiades.[4]

Per compensar aquestes limitacions arquitectòniques, els dissenyadors han aconseguit la virtualització de l'arquitectura x86 mitjançant dos mètodes: virtualització completa o paravirtualització. Tots dos creen la il·lusió del maquinari físic per assolir l'objectiu de la independència del sistema operatiu respecte del maquinari, però presenten algunes compensacions en rendiment i complexitat.

  1. La virtualització completa es va implementar en VMM x86 de primera generació. Es basa en la traducció binària per atrapar i virtualitzar l'execució de determinades instruccions sensibles i no virtualitzables. Amb aquest enfocament, es descobreixen instruccions crítiques (estàticament o dinàmicament en temps d'execució) i se substitueixen per trampes al VMM per ser emulades al programari. La traducció binària pot comportar una gran sobrecàrrega de rendiment en comparació amb una màquina virtual que s'executa en arquitectures virtualitzades de forma nativa com l'IBM System/370. VirtualBox, VMware Workstation (només per a convidats de 32 bits) i Microsoft Virtual PC, són implementacions comercials conegudes de virtualització completa.
  2. La paravirtualització és una tècnica en què l'hipervisor proporciona una API i el sistema operatiu de la màquina virtual convidada crida aquesta API, i requereix modificacions del sistema operatiu.

Referències[modifica]

  1. «Archived copy» (en anglès). www.via.com.tw. Arxivat de l'original el 22 January 2013. [Consulta: 10 octubre 2022].
  2. Burnaeva, Olga. «How to Enable a Hardware Virtualization» (en anglès americà), 08-01-2021. [Consulta: 3 desembre 2023].
  3. «What Is Hardware-Assisted Virtualization? Definition from SearchServerVirtualization» (en anglès). [Consulta: 3 desembre 2023].
  4. Adams, Keith. «A Comparison of Software and Hardware Techniques for x86 Virtualization» (en anglès). [Consulta: 20 gener 2013].