Cómo habilitar la tecnología virtual. ¿Qué es la tecnología de virtualización Intel?

La virtualización es un fenómeno del que hablan muchas luminarias de la informática, un término que suelen utilizar los fabricantes de procesadores y software, pero ¿qué es realmente? Pero, de hecho, no hay nada complicado en el uso de la virtualización, pero al mismo tiempo, cualquier persona, incluido un usuario doméstico, puede obtener beneficios prácticos al utilizar diversas herramientas de virtualización de software y hardware. De hecho, esto se discutirá en este material.

Se ha observado que casi todas las personas comprenden inconscientemente el significado de la palabra "virtualidad", pero no siempre son capaces de dar una definición. Pero, en la mayoría de los casos, este concepto está asociado específicamente con la industria informática: algunos recuerdan el popular programa de los años 90 "Virtual Reality", que hablaba de juegos para consolas de 8 bits, otros piensan en medios modernos que te permiten sumergirte. en el “mundo virtual” (cascos, guantes y otros artilugios).

Esta introducción tan larga y, a primera vista, abstracta se hizo con un solo propósito: que usted, querido lector, también piense en el término "virtualidad". Durante mucho tiempo pensé en cómo ilustrar el significado de esta palabra en las ciencias naturales y en particular en relación con la tecnología informática. No dé una definición de un diccionario que, por supuesto, interpretará correctamente la palabra, pero, desafortunadamente, no del todo ni del todo aplicable a nuestro tema de hoy. Al final se encontró un ejemplar en una zona bastante inusual.

En mecánica teórica existe "principio virtual movimientos", que se utiliza para resolver algunos problemas. La idea principal, para ser breve, es que el sistema en cuestión, que está en equilibrio, se pone en movimiento liberando teóricamente los enlaces que lo mantienen (es decir, movimientos que Pudimos sucedería si no fuera por las conexiones). Este principio, en un momento, pasó a llamarse en nuestra patria (entonces la URSS) como "principio posible movimientos." Así, vemos que el término " virtual"es el equivalente a " posible"!

Me parece que este ejemplo ilustra con gran éxito el concepto de virtualización, incluso en el campo de TI: con esta tecnología se pueden crear mediante programación posible configuración del ordenador, en concreto crear posible (o virtual) procesador, memoria, discos duros y otros componentes.

Ahora demos una definición más clara:

Virtualización es el proceso de ejecutar software especializado bajo un sistema operativo llamado host ( SO anfitrión), permitiendo la creación de máquinas virtuales ( Máquina virtual), que tienen las características especificadas de las computadoras reales y ejecutan en ellas varios sistemas operativos invitados de forma independiente entre sí ( SO invitado).

Esta definición es bastante estricta y, hasta cierto punto, difícil de entender. Por lo tanto, como ejemplo, consideraremos la situación más común en la actualidad, cuando MS Windows XP está instalado en la computadora de un determinado usuario. Si necesita trabajar, por ejemplo, en el sistema operativo Linux, para ello necesitará instalar este sistema en otro disco duro o en una de las unidades lógicas de uno existente.

Sin duda, ambas opciones confundirán al usuario y, además, tendrás que trabajar en cada uno de estos sistemas por turno. Para evitar todos estos inconvenientes, puedes utilizar la virtualización. Con su ayuda, puede instalar Linux en un disco virtual creado ubicado en el disco duro y ejecutar el sistema desde Windows sin ningún problema. Así, tendremos la oportunidad de trabajar con dos sistemas operativos fundamentalmente diferentes al mismo tiempo, y al mismo tiempo, en algunos casos, incluso intercambiar información entre ellos. Hablaremos de este caso con más detalle más adelante, analizando ejemplos específicos de programas de virtualización.

Para implementar la virtualización en sí, existen dos enfoques: hardware y software.

Virtualización de hardware

Se implementa a través del llamado hipervisor ( Hipervisor) - software especializado, que en sí mismo es de alguna manera un sistema operativo. El término monitor o administrador de máquinas virtuales también se utiliza con frecuencia en la literatura. (Monitor de máquina virtual/Gerente, abreviado VMM). Se trata de una especie de “capa de software” o “capa de software”, ya que es el hipervisor el que asegura la interacción de los sistemas operativos y el hardware (en particular, el procesador). Por tanto, los sistemas invitados no utilizan los recursos del sistema anfitrión, sino directamente los recursos de hardware de la computadora. El hipervisor gestiona las máquinas virtuales, distribuye recursos, asegura su independencia y, en algunos casos, la interacción.

Lo más sorprendente es que cuando miré publicaciones impresas y electrónicas mientras preparaba este artículo, la mayoría de ellas, al mencionar la tecnología de virtualización de hardware, carecían por completo de información sobre el sistema host. Varios incluso afirmaron explícitamente que absolutamente todas las acciones las realiza el hipervisor. Naturalmente, esto no es así. Los sistemas invitados aún deben instalarse en el sistema host, pero a través de software especializado que admita técnicas de virtualización de hardware. Los productos más famosos de esta clase son de alta calidad, funcionales y, al mismo tiempo, completamente gratuitos. xén, tras lo cual productos de otras empresas recibieron soporte para esta tecnología.

Hoy en día existen dos tecnologías de virtualización de hardware en el mercado, presentadas por dos de los mayores fabricantes de procesadores. Intel Y Micro dispositivos avanzados (AMD).

Tecnología Tecnología de virtualización de Intel (Intel VT) requiere soporte no solo del procesador, sino también del chipset y BIOS de la placa base. El principio de funcionamiento es el siguiente: el usuario inicia un programa de virtualización, que a su vez activa un modo de funcionamiento especial del procesador. A continuación, VMM se hace cargo de todo el trabajo de mantenimiento correcto de la máquina virtual.

Según el sitio web oficial de Intel, aquí hay una lista de procesadores que admiten esta tecnología en el momento de escribir este artículo. Tenga en cuenta que en algunas líneas, incluso relativamente nuevas, hay copias sinItelVermont.

  • Procesador Intel Pentium 4: 672, 662
  • Intel Pentium D procesador: 960, 950, 940, 930, 920
  • Procesador Intel Pentium Edición Extrema: 965, 955, 840(?). Respecto a esto último se indican distintos datos.
  • Procesador Intel Core Solo:
    • Procesador Intel Core Solo de voltaje ultrabajo: U1500, U1400, U1300
  • Procesador Intel Core2 Solo: U2200, U2100
  • Procesador Intel Core Duo: T2700, T2600, T2500, T2400, T2300
    • Procesador Intel Core Duo de bajo voltaje: L2500, L2400, L2300
    • Procesador Intel Core Duo de voltaje ultrabajo: U2500, U2400
  • Procesador Intel Core2 Duo: E6850, E6750, E6700, E6600, E6550, E6540, E6420, E6400, E6320, E6300; T7800, T7700, T7600, T7500, T7400, T7300, T7250, T7200, T7100, T5600
    • Intel Core2 Duo de bajo voltaje: L7500, L7400, L7300, L7200
    • Intel Core2 Duo voltaje ultrabajo: U7600, U7500
  • Procesador Intel Core2 cuádruple: Q6700, Q6600
  • Procesador Intel Core2 extremo: QX6850, QX6800, QX6700, X7900, X7800, X6800
  • Procesador Intel Itanium 2: 9050, 9040, 9030, 9020, 9015
  • Procesador Intel Xeon: toda la línea

AMD ofreció a sus usuarios su propia tecnología AMDVvirtualización (AMD-V), basado en otra tecnología patentada Conexión directa. La virtualización en sí está diseñada de tal manera que VMM considera virtuales todos los sistemas operativos que se ejecutan en una computadora:

Al crear una máquina virtual, el procesador entra en el llamado modo invitado, tras lo cual VMM, a diferencia de la tecnología Intel, prácticamente no participa en el funcionamiento del sistema.

Con la lista de procesadores que soportan la tecnología, las cosas van un poco peor. Por razones completamente desconocidas, AMD no ha publicado una lista de procesadores que admitan la virtualización. Y lo más sorprendente es que ni siquiera siempre se menciona en las especificaciones. Sin embargo, en el foro oficial logramos descubrir que AMD-V es compatible con todos los procesadores en sockets. AM2, T1, F, excepto el gobernante Semprón. Cabe señalar que, a pesar de todas las similitudes externas, estas tecnologías no son compatibles entre sí. Entonces, use la virtualización de hardware. TIV a través de programas que apoyan exclusivamente la tecnología AMD- V, y viceversa, no funcionará.

Inmediatamente hagamos una reserva de que en esta etapa es simplemente inútil sacar conclusiones y dar preferencia a una u otra tecnología. Cualquier conclusión se basará principalmente en suposiciones que, por definición, no pueden ser una comparación objetiva. Para comparar estas tecnologías, es necesario realizar numerosas pruebas bastante complejas, que están completamente fuera del alcance de este artículo.

Virtualización de software

En este caso no se requiere hardware especializado, como sí ocurre con la virtualización de hardware. El usuario simplemente instala uno de los programas de virtualización, crea máquinas virtuales en él y ejecuta sistemas operativos invitados en ellas. En este caso, por supuesto, sólo se utilizan los recursos consumidos por el sistema anfitrión.

Entre los productos más conocidos de esta clase se encuentra la línea de programas. VMware(Estación de trabajo, Servidor, Reproductor), VirtualBox, Estación de trabajo paralela, PC virtual de Microsoft, Qemu Y bochs. Consideraremos la funcionalidad de todos estos productos un poco más adelante. Además, para cada uno de ellos, se darán instrucciones bastante detalladas para instalar un sistema operativo invitado (usando el kit de distribución como ejemplo ubuntu, que recientemente se ha vuelto muy popular entre muchos usuarios de Linux).

Entonces, en estas revisiones podrás familiarizarte con varios programas de virtualización:

Se decidió no considerar el Xen mencionado anteriormente, ya que está diseñado para su uso principalmente en plataformas que admiten el método de hardware y, en su ausencia, se requiere una modificación muy laboriosa del kernel del sistema instalado, además , se instala exclusivamente bajo el sistema operativo Linux. También observo que la mayoría de los productos mencionados admiten técnicas de virtualización de hardware.

Máquina virtual y el mundo exterior.

Mencionamos anteriormente que en algunos casos debe haber interacción entre sistemas virtuales y reales. ¿Qué significa esto en la práctica? Es simple: los programas de virtualización deben, a petición del usuario, proporcionar un servicio para el intercambio de datos entre sistemas. Esto podría ser, por ejemplo, el intercambio de archivos (tanto en la dirección anfitrión ↔ invitado como en invitado ↔ invitado) y la configuración de una red local. Es decir, la máquina virtual debe ser tan completa y funcional como la real.

En la práctica, esto no es posible implementarlo, porque si aún es posible brindar soporte para recursos de hardware como tarjetas de video y sonido, dispositivos USB y otro "hardware", entonces con el software las cosas son mucho peores. En algunos casos, no hay soporte completo ni siquiera para el propio sistema host. Por ejemplo, no existe la posibilidad de asignar carpetas compartidas (en otras palabras "para compartir", De inglés " sh un anillo"), accesible tanto para el sistema operativo anfitrión como para el invitado), lo que hace que el intercambio de información entre sistemas sea bastante confuso.

¿Virtualización de hardware o software?

Pero realmente, preguntémonos, ¿cuáles son las ventajas de la virtualización de hardware frente al software? ¿Por qué gastar dinero en un procesador que admita esta función? El hecho es que gracias a este mecanismo es posible aumentar considerablemente el rendimiento del sistema en su conjunto. Esto sucederá debido al hecho de que el hipervisor, como descubrimos anteriormente, interactuará directamente con el procesador al realizar operaciones.

Las estimaciones de rendimiento varían y en ocasiones llegan a todo lo contrario. Así, algunas fuentes informaron alcanzar el 90% o más del rendimiento del procesador físico, mientras que otras informaron de su ausencia y, en algunos casos, incluso de su pérdida.

¿Por qué es necesaria la virtualización?

Ahora intentaremos identificar las posiciones más obvias en las que un usuario puede necesitar tecnologías de virtualización:

  • Los programadores y probadores de software pueden utilizarlo para rastrear errores en los productos lanzados.
  • Los propietarios de servidores deberían apreciar el ahorro en hardware, que se estima en hasta un 50%. Esto sucede debido a la capacidad de ejecutar varios servidores virtuales en un hardware físico.
  • Creo que a los administradores de sistemas les resultará útil poder distribuir rápidamente recursos entre máquinas virtuales (en la mayoría de los casos, esto es solo un par de clics del mouse). Además, la migración de sistemas operativos virtuales es mucho más rápida y segura que los tradicionales.
  • Los usuarios habituales también deberían encontrar muy atractiva la virtualización. En casa, por ejemplo, puedes probar algún software o una nueva versión del sistema operativo y, como descubrimos al principio, el proceso de instalación en sí será notablemente más sencillo.

El rápido desarrollo del mercado de la tecnología de virtualización durante los últimos años se ha debido en gran medida al aumento de la capacidad del hardware, lo que ha permitido crear plataformas de virtualización verdaderamente efectivas tanto para sistemas de servidores como para computadoras de escritorio. Las tecnologías de virtualización le permiten ejecutar varias instancias virtuales de sistemas operativos (SO invitado) en una computadora física (host) para garantizar su independencia de la plataforma de hardware y concentrar varias máquinas virtuales en una física. La virtualización proporciona muchos beneficios tanto para la infraestructura empresarial como para los usuarios finales. La virtualización proporciona ahorros significativos en hardware y mantenimiento, aumenta la flexibilidad de la infraestructura de TI y simplifica el procedimiento de respaldo y recuperación después de fallas. Las máquinas virtuales, al ser unidades independientes del hardware, se pueden distribuir como plantillas preinstaladas que se pueden ejecutar en cualquier plataforma de hardware de una arquitectura compatible.

Hasta hace poco, los esfuerzos en la virtualización de sistemas operativos se concentraban principalmente en el desarrollo de software. En 1998, VMware por primera vez describió seriamente las perspectivas de desarrollo de sistemas virtuales patentando técnicas de software de virtualización. Gracias a los esfuerzos de VMware, así como de otros fabricantes de plataformas virtuales, y al ritmo cada vez mayor de mejora de la tecnología informática, los usuarios corporativos y domésticos vieron las ventajas y perspectivas de la nueva tecnología, y el mercado de herramientas de virtualización comenzó a crecer a un ritmo rápido. Por supuesto, empresas tan grandes como Intel y AMD, que controlan la mayor parte del mercado de procesadores, no podían ignorar esta prometedora tecnología. Intel fue el primero en ver en la nueva tecnología una fuente de superioridad tecnológica sobre sus competidores y comenzó a trabajar para mejorar la arquitectura del procesador x86 para admitir plataformas de virtualización. Siguiendo a Intel, AMD también se ha sumado al desarrollo del soporte de virtualización de hardware en procesadores para no perder posición en el mercado. Actualmente, ambas empresas ofrecen modelos de procesadores que cuentan con un conjunto ampliado de instrucciones y permiten el uso directo de recursos de hardware en máquinas virtuales.

Desarrollo de técnicas de virtualización de hardware.

La idea de la virtualización de hardware no es nueva: se implementó por primera vez en procesadores 386 y se denominó modo V86. Este modo de funcionamiento del procesador 8086 hizo posible ejecutar varias aplicaciones DOS en paralelo. Ahora la virtualización de hardware le permite ejecutar varias máquinas virtuales independientes en las secciones correspondientes del espacio del hardware de la computadora. La virtualización de hardware es una continuación lógica de la evolución de los niveles de abstracción de las plataformas de software, desde la multitarea hasta el nivel de virtualización:

Ventajas de la virtualización de hardware sobre el software

Actualmente, la virtualización de software prevalece sobre el hardware en el mercado de la tecnología de virtualización debido a que durante mucho tiempo los fabricantes de procesadores no pudieron implementar adecuadamente el soporte de virtualización. El proceso de introducción de nuevas tecnologías en los procesadores requirió un cambio importante en su arquitectura, la introducción de instrucciones adicionales y modos de funcionamiento del procesador. Esto generó problemas de compatibilidad y estabilidad, que se resolvieron por completo en 2005-2006 en los nuevos modelos de procesador. A pesar de que las plataformas de software han avanzado mucho en términos de rendimiento y provisión de herramientas de administración de máquinas virtuales, la tecnología de virtualización de hardware tiene algunas ventajas innegables sobre el software:

  • Simplifique el desarrollo de plataformas de virtualización proporcionando interfaces de administración de hardware y soporte para invitados virtuales. Esto contribuye al surgimiento y desarrollo de nuevas plataformas de virtualización y herramientas de gestión, debido a la reducción de la intensidad laboral y el tiempo de su desarrollo.
  • La capacidad de aumentar el rendimiento de las plataformas de virtualización. Debido a que los invitados virtuales son administrados directamente por una pequeña capa de middleware (el hipervisor), se espera que las plataformas de virtualización basadas en hardware sean más rápidas en el futuro.
  • La capacidad de iniciar de forma independiente varias plataformas virtuales con la capacidad de cambiar entre ellas a nivel de hardware. Varias máquinas virtuales pueden funcionar de forma independiente, cada una en su propio espacio de recursos de hardware, lo que eliminará las pérdidas de rendimiento asociadas con el mantenimiento de la plataforma host, además de aumentar la seguridad de las máquinas virtuales debido a su completo aislamiento.
  • Desacoplar el sistema invitado de la arquitectura de la plataforma host y la implementación de la plataforma de virtualización. Utilizando tecnologías de virtualización de hardware, es posible iniciar sistemas invitados de 64 bits desde sistemas host de 32 bits que ejecutan entornos de virtualización de 32 bits.

Cómo funciona la virtualización de hardware

La necesidad de admitir la virtualización de hardware obligó a los fabricantes de procesadores a cambiar ligeramente su arquitectura mediante la introducción de instrucciones adicionales para proporcionar acceso directo a los recursos del procesador desde los sistemas invitados. Este conjunto de instrucciones adicionales se denomina Extensiones de máquina virtual (VMX). VMX proporciona las siguientes instrucciones: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMREAD, VMWRITE, VMCALL, VMLAUNCH, VMRESUME, VMXON y VMXOFF.

Un procesador con soporte de virtualización puede funcionar en dos modos: operación raíz y operación no raíz. En el modo de operación raíz, se ejecuta un software especial, que es una capa "ligera" entre los sistemas operativos invitados y el hardware: un monitor de máquina virtual (VMM), también llamado hipervisor. La palabra "hipervisor" apareció de una manera interesante: una vez, hace mucho tiempo, el sistema operativo se llamaba "supervisor" y el software que estaba "bajo supervisión" se llamaba "hipervisor".

Para poner el procesador en modo de virtualización, la plataforma de virtualización debe llamar a la instrucción VMXON y transferir el control al hipervisor, que inicia el invitado virtual con las instrucciones VMLAUNCH y VMRESUME (los puntos de entrada a la máquina virtual). Virtual Machine Monitor puede salir del modo de virtualización del procesador llamando a la instrucción VMXOFF.

Cada sistema operativo invitado se ejecuta y opera independientemente de los demás y está aislado en términos de recursos de hardware y seguridad.

La diferencia entre virtualización de hardware y software.

La arquitectura clásica de virtualización de software implica la presencia de un sistema operativo anfitrión, sobre el cual se ejecuta una plataforma de virtualización, que emula el funcionamiento de los componentes de hardware y gestiona los recursos de hardware en relación con el sistema operativo invitado. La implementación de una plataforma de este tipo es bastante compleja y requiere mucho tiempo; existen pérdidas de rendimiento debido al hecho de que la virtualización se realiza sobre el sistema anfitrión. La seguridad de las máquinas virtuales también está en riesgo porque tomar el control del sistema operativo host automáticamente significa tomar el control de todos los sistemas invitados.

A diferencia de la tecnología de software, con la ayuda de la virtualización de hardware es posible obtener sistemas invitados aislados controlados directamente por el hipervisor. Este enfoque puede facilitar la implementación de una plataforma de virtualización y aumentar la confiabilidad de una plataforma con múltiples sistemas invitados que se ejecutan simultáneamente, sin penalizar el rendimiento por dar servicio al sistema host. Este modelo acercará el rendimiento de los sistemas invitados a los reales y reducirá los costos de rendimiento de mantener la plataforma anfitriona.

Desventajas de la virtualización de hardware

También vale la pena señalar que la virtualización de hardware potencialmente aporta más que sólo aspectos positivos. La capacidad de gestionar sistemas invitados a través de un hipervisor y la facilidad de escribir una plataforma de virtualización utilizando técnicas de hardware hacen posible desarrollar software malicioso que, después de obtener el control del sistema operativo anfitrión, lo virtualiza y realiza todas las acciones fuera de él.

A principios de 2006, los laboratorios de investigación de Microsoft crearon un rootkit con el nombre en código SubVirt, que infecta los sistemas host Windows y Linux y hace que su presencia sea prácticamente indetectable. El principio de funcionamiento de este rootkit era el siguiente:

  1. A través de una de las vulnerabilidades del sistema operativo de la computadora, el software malicioso obtiene acceso administrativo.
  2. Después de esto, el rootkit comienza el procedimiento de migración de la plataforma física a la virtual, tras lo cual se inicia la plataforma virtualizada a través del hipervisor. Al mismo tiempo, nada cambia para el usuario, todo sigue funcionando como antes y todas las herramientas y servicios necesarios para acceder al hipervisor desde el exterior (por ejemplo, acceso al terminal) se encuentran fuera del sistema virtualizado.
  3. El software antivirus no puede detectar códigos maliciosos después del procedimiento de migración porque se encuentran fuera del sistema virtualizado.

Visualmente, este procedimiento se ve así:

Sin embargo, no se debe exagerar el peligro. Sigue siendo mucho más difícil desarrollar un programa malicioso utilizando tecnologías de virtualización que utilizando herramientas "tradicionales" que explotan diversas vulnerabilidades en los sistemas operativos. Al mismo tiempo, la principal suposición de quienes afirman que este tipo de malware es más difícil de detectar y, además, no puede explotar los "agujeros" del sistema operativo, actuando exclusivamente "dentro de las reglas", es que el sistema operativo supuestamente virtualizado no es capaz de detectar que se está ejecutando en una máquina virtual, que hay un mensaje inicialmente incorrecto. En consecuencia, el software antivirus tiene todas las posibilidades para detectar la infección. Y, por lo tanto, no tiene sentido desarrollar un troyano tan complejo y que requiera muchos recursos, dada la disponibilidad de métodos de intrusión mucho más simples.

Tecnologías de virtualización de Intel y AMD

Intel y AMD, como fabricantes líderes de procesadores para plataformas de servidores y de escritorio, han desarrollado técnicas de virtualización de hardware para su uso en plataformas de virtualización. Estas técnicas no son directamente compatibles, pero realizan funciones esencialmente similares. Ambos suponen un hipervisor que ejecuta sistemas invitados no modificados y tienen la capacidad de desarrollar plataformas de virtualización sin necesidad de emulación de hardware. Los procesadores de ambas empresas que admiten la virtualización incluyen instrucciones adicionales para que el hipervisor las llame para administrar los sistemas virtuales. El grupo que actualmente investiga las capacidades de las técnicas de virtualización de hardware incluye a AMD, Intel, Dell, Fujitsu Siemens, Hewlett-Packard, IBM, Sun Microsystems y VMware.

Virtualización Intel

Intel anunció oficialmente el lanzamiento de la tecnología de virtualización a principios de 2005 en la conferencia Intel Developer Forum Spring 2005. La nueva tecnología recibió el nombre en código Vanderpool y oficialmente Intel Virtualization Technology (abreviado como Intel VT). La tecnología Intel VT contiene una serie de tecnologías de varias clases que tienen números de versión VT-x, donde x es una letra que indica un subtipo de tecnología de hardware. Se anunció soporte para la nueva tecnología en los procesadores Pentium 4, Pentium D, Xeon, Core Duo y Core 2 Duo. Intel también publicó especificaciones para Intel VT para procesadores basados ​​en Itanium, donde la tecnología de virtualización apareció con el nombre en clave "Silvervale" y la versión VT-i. Sin embargo, desde 2005, los nuevos modelos de procesador Itanium no admiten instrucciones x86 en hardware y la virtualización x86 solo se puede utilizar en la arquitectura IA-64 mediante emulación.

Para habilitar la tecnología Intel VT en los sistemas informáticos, Intel ha trabajado con fabricantes de placas base, BIOS y periféricos para garantizar que Intel VT sea compatible con los sistemas existentes. En muchos sistemas informáticos, la tecnología de virtualización de hardware se puede desactivar en el BIOS. Las especificaciones de Intel VT dicen que para admitir esta tecnología, no basta con tener un procesador que la admita; también es necesario tener los chipsets de placa base, BIOS y software adecuados que utilicen Intel VT. La lista de procesadores Intel VT compatibles se proporciona a continuación:

  • Procesador Intel® 2 Core™ Duo Extreme X6800
  • Procesador Intel® 2 Core™ Duo E6700
  • Procesador Intel® 2 Core™ Duo E6600
  • Procesador Intel® 2 Core™ Duo E6400 (E6420)
  • Procesador Intel® 2 Core™ Duo E6300 (E6320)
  • Procesador Intel® Core™ Duo T2600
  • Procesador Intel® Core™ Duo T2500
  • Procesador Intel® Core™ Duo T2400
  • Procesador Intel® Core™ Duo L2300
  • Procesador Intel® Pentium® Edición Extrema 965
  • Procesador Intel® Pentium® Edición Extrema 955
  • Procesador Intel® Pentium® D 960
  • Procesador Intel® Pentium® D 950
  • Procesador Intel® Pentium® D 940
  • Procesador Intel® Pentium® D 930
  • Procesador Intel® Pentium® D 920
  • Procesador Intel® Pentium® 4 672
  • Procesador Intel® Pentium® 4 662

Procesadores de portátiles:

  • Procesador Intel® 2 Core™ Duo T7600
  • Procesador Intel® 2 Core™ Duo T7400
  • Procesador Intel® 2 Core™ Duo T7200
  • Procesador Intel® 2 Core™ Duo T5600
  • Procesador Intel® 2 Core™ Duo L7400
  • Procesador Intel® 2 Core™ Duo L7200
  • Procesador Intel® 2 Core™ Duo L7600
  • Procesador Intel® 2 Core™ Duo L7500

Procesadores para plataformas de servidor:

  • Procesador Intel® Xeon® 7041
  • Procesador Intel® Xeon® 7040
  • Procesador Intel® Xeon® 7030
  • Procesador Intel® Xeon® 7020
  • Procesador Intel® Xeon® 5080
  • Procesador Intel® Xeon® 5063
  • Procesador Intel® Xeon® 5060
  • Procesador Intel® Xeon® 5050
  • Procesador Intel® Xeon® 5030
  • Procesador Intel® Xeon® 5110
  • Procesador Intel® Xeon® 5120
  • Procesador Intel® Xeon® 5130
  • Procesador Intel® Xeon® 5140
  • Procesador Intel® Xeon® 5148
  • Procesador Intel® Xeon® 5150
  • Procesador Intel® Xeon® 5160
  • Procesador Intel® Xeon® E5310
  • Procesador Intel® Xeon® E5320
  • Procesador Intel® Xeon® E5335
  • Procesador Intel® Xeon® E5345
  • Procesador Intel® Xeon® X5355
  • Procesador Intel® Xeon® L5310
  • Procesador Intel® Xeon® L5320
  • Procesador Intel® Xeon® 7140M
  • Procesador Intel® Xeon® 7140N
  • Procesador Intel® Xeon® 7130M
  • Procesador Intel® Xeon® 7130N
  • Procesador Intel® Xeon® 7120M
  • Procesador Intel® Xeon® 7120N
  • Procesador Intel® Xeon® 7110M
  • Procesador Intel® Xeon® 7110N
  • Procesador Intel® Xeon® X3220
  • Procesador Intel® Xeon® X3210

Cabe señalar que los siguientes cuatro procesadores no son compatibles con la tecnología Intel VT:

  • Procesador Intel® 2 Core™ Duo E4300
  • Procesador Intel® 2 Core™ Duo E4400
  • Procesador Intel® 2 Core™ Duo T5500
  • Procesador Intel® Pentium® D 9x5 (D945)

Intel también planea desarrollar una tecnología llamada Virtualización para E/S dirigida para Intel VT, que tiene una versión VT-d. De momento se sabe que se trata de cambios significativos en la arquitectura de E/S, que mejorarán la seguridad, robustez y rendimiento de las plataformas virtuales utilizando técnicas de virtualización de hardware.

Virtualización AMD

AMD, al igual que Intel, recientemente comenzó a perfeccionar la arquitectura del procesador para admitir la virtualización. En mayo de 2005, AMD anunció el inicio de la introducción de soporte de virtualización en los procesadores. El nombre oficial dado a la nueva tecnología es AMD Virtualization (abreviado como AMD-V), y su nombre en clave interno es AMD Pacifica. La tecnología AMD-V es una continuación lógica de la tecnología Direct Connect para procesadores AMD64, cuyo objetivo es aumentar el rendimiento de los sistemas informáticos mediante una integración estrecha y directa del procesador con otros componentes de hardware.

La siguiente lista muestra procesadores que admiten funciones de virtualización de hardware AMD-V. La compatibilidad con estas funciones debería funcionar en todos los procesadores de escritorio de la serie AMD-V que ejecutan Socket AM2 a partir del paso F. También debe tenerse en cuenta que los procesadores Sempron no admiten la virtualización de hardware.

Procesadores de escritorio:

  • Athlon™ 64 3800+
  • Athlon™ 64 3500+
  • Athlon™ 64 3200+
  • Athlon™ 64 3000+
  • Athlon™ 64 FX FX-62
  • Athlon™ 64 FX FX-72
  • Athlon™ 64 FX FX-74
  • Athlon™ 64 X2 de doble núcleo 6000+
  • Athlon™ 64 X2 de doble núcleo 5600+
  • Athlon™ 64 X2 de doble núcleo 5400+
  • Athlon™ 64 X2 de doble núcleo 5200+
  • Athlon™ 64 X2 de doble núcleo 5000+
  • Athlon™ 64 X2 de doble núcleo 4800+
  • Athlon™ 64 X2 de doble núcleo 4600+
  • Athlon™ 64 X2 de doble núcleo 4400+
  • Athlon™ 64 X2 de doble núcleo 4200+
  • Athlon™ 64 X2 de doble núcleo 4000+
  • Athlon™ 64 X2 de doble núcleo 3800+

Para portátiles, se admiten procesadores de la marca Turion 64 X2:

  • Turión™ 64 X2 TL-60
  • Turión™ 64 X2 TL-56
  • Turión™ 64 X2 TL-52
  • Turión™ 64 X2 TL-50

Los siguientes procesadores Opteron son compatibles con plataformas de servidor:

  • Serie Opteron 1000
  • Serie Opteron 2000
  • Serie Opteron 8000

Software que admite la virtualización de hardware

Por el momento, la gran mayoría de los proveedores de plataformas de software de virtualización han anunciado soporte para las tecnologías de virtualización de hardware de Intel y AMD. Las máquinas virtuales en estas plataformas se pueden ejecutar con soporte de virtualización de hardware. Además, en muchos sistemas operativos que incluyen plataformas de software de paravirtualización como Xen o Virtual Iron, la virtualización de hardware permitirá que se ejecuten sistemas operativos invitados sin modificaciones. Dado que la paravirtualización es uno de los tipos de virtualización que requiere modificación del sistema operativo invitado, la implementación de soporte de virtualización de hardware en plataformas de paravirtualización es una solución muy aceptable para estas plataformas, desde el punto de vista de la capacidad de ejecutar versiones no modificadas del invitado. sistemas. La siguiente tabla enumera las principales plataformas de virtualización y software populares que admiten tecnologías de virtualización de hardware:

Plataforma o software de virtualización¿Qué tecnologías soporta?Nota
Máquina virtual basada en kernel (KVM)Intel VT, AMD-VVirtualización del nivel de instancia de sistemas operativos bajo Linux.
PC virtual de MicrosoftIntel VT, AMD-VPlataforma de virtualización de escritorio para plataformas host Windows.
Servidor virtual de MicrosoftIntel VT, AMD-VPlataforma de virtualización de servidores para Windows. La versión que admite la virtualización de hardware, Microsoft Virtual Server 2005 R2 SP1, se encuentra en fase beta. Previsto para el segundo trimestre de 2007.
Estación de trabajo paralelaIntel VT, AMD-VPlataforma de virtualización para hosts Windows y Linux.
VirtualBoxIntel VT, AMD-VPlataforma de virtualización de escritorio de código abierto para Windows, Linux y Mac OS. De forma predeterminada, el soporte para la virtualización de hardware está deshabilitado, ya que según investigaciones de expertos, la virtualización de hardware es actualmente más lenta que la de software.
Hierro virtualIntel VT, AMD-VVirtual Iron 3.5 es la primera plataforma de virtualización basada en hardware que le permite ejecutar invitados de 32 y 64 bits sin modificar prácticamente sin pérdida de rendimiento.
Estación de trabajo VMware y servidor VMwareIntel VT, AMD-VPara ejecutar sistemas invitados de 64 bits, se requiere soporte para Intel VT (así como para VMware ESX Server); para sistemas operativos invitados de 32 bits, el soporte IntelVT está deshabilitado de forma predeterminada por las mismas razones que para VirtualBox.
xénIntel VT, AMD-VLa plataforma de virtualización Xen de código abierto le permite ejecutar invitados no modificados utilizando técnicas de virtualización de hardware.

La virtualización de hardware hoy

VMware, parte del Grupo de Investigación de Virtualización de Hardware, realizó un estudio a finales de 2006 sobre su propia virtualización de software en comparación con las tecnologías de virtualización de hardware de Intel. El documento "Comparación de técnicas de software y hardware para la virtualización x86" documentó los resultados de este estudio (en un procesador Intel Pentium 4 672 de 3,8 GHz con la tecnología Hyper-Threading desactivada). Uno de los experimentos se llevó a cabo utilizando los sistemas de prueba SPECint2000 y SPECjbb2005, que son el estándar de facto para evaluar el rendimiento de los sistemas informáticos. Como sistema invitado se utilizó el sistema operativo Red Hat Enterprise Linux 3, controlado por un hipervisor de software y hardware. Se esperaba que la virtualización de hardware proporcionara una tasa de rendimiento de alrededor del cien por ciento en relación con la ejecución del sistema operativo de forma nativa. Sin embargo, los resultados fueron bastante sorprendentes: mientras que un hipervisor de software sin técnicas de virtualización de hardware sufrió una pérdida de rendimiento del 4 por ciento en relación con la ejecución nativa, un hipervisor de hardware en general sufrió una pérdida de rendimiento del 5 por ciento. Los resultados de esta prueba se muestran en la siguiente figura:

conclusiones

El soporte de tecnologías de virtualización de hardware en procesadores abre amplias perspectivas para el uso de máquinas virtuales como herramientas confiables, seguras y flexibles para aumentar la eficiencia de las infraestructuras virtuales. La presencia de soporte para técnicas de virtualización de hardware en procesadores no solo de servidores sino también de sistemas de escritorio indica la seriedad de las intenciones de los fabricantes de procesadores en relación con todos los segmentos del mercado de usuarios de sistemas informáticos. El uso de la virtualización de hardware en el futuro debería reducir las pérdidas de rendimiento al ejecutar varias máquinas virtuales en un servidor físico. Por supuesto, la virtualización de hardware aumentará la seguridad de los sistemas virtuales en entornos corporativos. Hoy en día, la facilidad para desarrollar plataformas de virtualización utilizando técnicas de hardware ha propiciado la aparición de nuevos actores en el mercado de la virtualización. Los proveedores de sistemas de paravirtualización utilizan ampliamente la virtualización de hardware para ejecutar sistemas invitados no modificados. Un beneficio adicional de las técnicas de virtualización basadas en hardware es la capacidad de ejecutar invitados de 64 bits en versiones de 32 bits de plataformas de virtualización (por ejemplo, VMware ESX Server).

No debes tomar los resultados de desempeño como los únicos verdaderos. Evaluar objetivamente el rendimiento de diversas plataformas de hardware y software para la virtualización no es una tarea trivial; el grupo de trabajo mencionado dentro de SPEC está trabajando para crear un conjunto de métodos estándar para evaluar dichos sistemas. Hoy en día se puede observar que las herramientas de virtualización de AMD son técnicamente más avanzadas que las implementadas por Intel. Mucho depende del software utilizado, por ejemplo, a diferencia de VMWare, hay entornos que "responden" mucho más al soporte de hardware, por ejemplo, Xen 3.0.

Directamente. El sistema invitado es independiente de la arquitectura de la plataforma host y de la implementación de la plataforma de virtualización.

La virtualización de hardware proporciona un rendimiento comparable al de una máquina no virtualizada, lo que hace que la virtualización sea práctica y generalizada. Las tecnologías de virtualización más comunes son Intel -VT y AMD -V.

Intel VT (tecnología de virtualización Intel)

VT-x

Anteriormente conocida con el nombre en clave "Vanderpool", VT-x es la tecnología de virtualización de Intel en la plataforma x86. El 13 de noviembre de 2005, Intel lanzó dos modelos Pentium 4 (modelos 662 y 672), que fueron los primeros procesadores compatibles con VT-x. Bandera de soporte VT-x - “vmx”; en Linux se comprueba con el comando cat /proc/cpuinfo, en Mac OS X - sysctl machdep.cpu.features.

Intel comenzó a incorporar la tecnología de virtualización Extended Page Table (EPT) para tablas de páginas, comenzando con los procesadores de arquitectura Nehalem lanzados en 2008.

A partir de la arquitectura Haswell, anunciada en 2013, Intel empezó a incluir Sombreado VMCS- tecnología que acelera la virtualización anidada de hipervisores. VMCS- estructura de control de la máquina virtual(estructura de control de máquina virtual): una estructura de datos en memoria que existe exactamente en una copia por máquina virtual y está controlada por el hipervisor. Con cada cambio de contexto de ejecución entre diferentes VM, la estructura de datos VMCS se restaura para la máquina virtual actual, definiendo el estado del procesador virtual de la VM. Si se utiliza más de un hipervisor, o si se utilizan hipervisores anidados, se necesitan múltiples sombreados VMCS. La compatibilidad con el sombreado de hardware hace que la gestión de VMSC sea más eficiente.

VT-d

VT-d(Tecnología de virtualización para E/S dirigida) es una tecnología de virtualización de E/S creada por Intel Corporation además de su tecnología de virtualización informática (), cuyo nombre en código es Vanderpool. La virtualización de E/S le permite pasar dispositivos en el bus PCI (y buses similares más modernos) al sistema operativo invitado, para que pueda trabajar con él utilizando sus herramientas estándar. Para hacer esto posible, la lógica de la placa base utiliza una unidad de administración de memoria de entrada/salida especial (IOMMU), que funciona de manera similar a la MMU de la CPU, usando tablas de páginas y una tabla de reasignación DMA especial (DMAR), que el hipervisor recibe del BIOS a través de ACPI. El mapeo DMA es necesario porque el hipervisor no sabe nada sobre los detalles específicos de cómo funciona el dispositivo con la memoria en direcciones físicas que solo el controlador conoce. Usando DMAR, crea tablas de mapeo para que el controlador del sistema operativo invitado vea las direcciones IOMMU virtuales de la misma manera que vería las físicas sin él ni el hipervisor.

La tecnología de virtualización Intel para E/S dirigida (VT-d) es el siguiente paso importante hacia el soporte integral de virtualización de hardware para plataformas basadas en Intel. VT-d amplía las capacidades de la tecnología de virtualización (VT) que se encuentran en IA-32 (VT-x) e Itanium (VT-i) y agrega soporte para virtualizar nuevos dispositivos de E/S.

Soporte de hardware

Soporte de software

  • El hipervisor Xen admite DMAR desde la versión 3.3 para dominios virtualizados por hardware. Para dominios paravirtuales, no se requiere mapeo DMA.
  • Próximamente se anunciará soporte para la tecnología de software Oracle VirtualBox.
  • El kernel de Linux ha soportado experimentalmente DMAR desde la versión 2.6.28, lo que permite que el hipervisor integrado (kvm) dé acceso a las máquinas virtuales a los dispositivos PCI.
  • La compatibilidad con Intel VT-d está disponible en Parallels Workstation 4.0 Extreme y Parallels Server 4 Bare Metal

Hoy en día, un número cada vez mayor de sistemas informáticos modernos están centrando su atención en las tecnologías de virtualización. Es cierto que no todo el mundo comprende claramente qué es, por qué es necesario y cómo resolver las cuestiones relativas a su inclusión o uso práctico. Ahora veremos cómo habilitar la virtualización en el BIOS usando el método más simple. Observemos de inmediato que esta técnica es aplicable a absolutamente todos los sistemas existentes, en particular al BIOS y al sistema UEFI que lo reemplazó.

¿Qué es la virtualización y por qué es necesaria?

Antes de comenzar a resolver directamente el problema de cómo habilitar la virtualización en el BIOS, veamos qué es esta tecnología y por qué es necesaria.

La tecnología en sí está pensada para su uso en cualquier sistema operativo de las llamadas máquinas virtuales, que pueden emular ordenadores reales con todos sus componentes de hardware y software. En otras palabras, en el sistema principal puedes crear una especie de computadora virtual con una selección de procesador, RAM, tarjeta de video y sonido, adaptador de red, disco duro, medios ópticos y Dios sabe qué más, incluida la instalación de un invitado ( niño) “OS”, que no hace nada, no será diferente de un terminal de computadora real.

Tipos de tecnologías

Si alguien no lo sabe, las tecnologías de virtualización fueron creadas por los principales fabricantes de procesadores: las corporaciones Intel y AMD, que aún hoy no pueden compartir la palma en esta área. En los albores de la era, el hipervisor (software para administrar máquinas virtuales) creado por Intel no cumplía con todos los requisitos de rendimiento, por lo que se inició el desarrollo de soporte para sistemas virtuales, que debían estar "cableados" en los chips del procesador. ellos mismos.

Intel llamó a esta tecnología Intel-VT-x y AMD la llamó AMD-V. Así, el soporte optimizó el rendimiento del procesador central sin afectar al sistema principal.

No hace falta decir que debe habilitar esta opción en la configuración preliminar del BIOS solo si tiene la intención de utilizar una máquina virtual en una máquina física, por ejemplo, para probar programas o predecir el comportamiento de un sistema informático con varios componentes de "hardware" después instalar un sistema operativo determinado. En caso contrario, dicho apoyo no podrá utilizarse. Además, de forma predeterminada está completamente desactivado y, como ya se mencionó, no tiene ningún efecto en el rendimiento del sistema principal.

Inicie sesión en BIOS

En cuanto a los sistemas BIOS o UEFI, cualquier ordenador o portátil los dispone, independientemente de la complejidad del equipo instalado. La propia BIOS de un ordenador es un pequeño chip de la placa base, que se encarga de probar el hardware cuando se enciende el terminal. En él, a pesar de tener una memoria de sólo aproximadamente 1 MB, se guardan las configuraciones y características básicas del equipo.

Dependiendo de la versión del BIOS o del fabricante, el inicio de sesión se puede realizar mediante varios métodos diferentes. Lo más común es utilizar la tecla Supr inmediatamente después de encender la computadora o laptop. Sin embargo, existen otros métodos, por ejemplo, las teclas F2, F12, etc.

¿Cómo habilitar la virtualización en la BIOS de la forma más sencilla?

Ahora definamos algunos parámetros y menús básicos. Partimos del hecho de que ya ingresó al BIOS de su computadora. Aquí hay varios apartados principales, pero en este caso nos interesa todo lo relacionado con el chip del procesador.

Normalmente, estas opciones están contenidas en el menú Configuración avanzada o en la sección Seguridad. También se pueden llamar de manera diferente, pero, por regla general, es algo así como Procesador o Chipset BIOS (aunque también pueden aparecer otros nombres).

Entonces, ahora se puede tomar en serio la cuestión de cómo habilitar la virtualización en el BIOS. En las secciones anteriores hay una línea especial Tecnología de virtualización (en el caso de Intel, el nombre de la corporación se agrega al nombre principal). Al ingresar al menú correspondiente, se mostrarán dos opciones disponibles: Activado y Desactivado. Como ya está claro, el primero es el modo de virtualización habilitado, el segundo es la desactivación completa.

Lo mismo ocurre con el sistema UEFI, en el que habilitar esta opción se realiza de forma completamente similar.

Ahora que el BIOS se ha configurado en el parámetro de modo habilitado, todo lo que queda es guardar los cambios (F10 o el comando Guardar y salir de la configuración) y presionar la tecla de confirmación Y, correspondiente a la palabra inglesa Sí. El sistema se reinicia con los parámetros recién guardados y se inicia automáticamente.

¿Qué deberías saber además de esto?

Como puede ver, el procedimiento para habilitar la virtualización en el BIOS es bastante sencillo. Sin embargo, hay algunas sutilezas a considerar aquí con respecto a la posible desactivación de esta función. El hecho es que cuando se utilizan máquinas virtuales como WMware Virtual Machine, Virtual PC, VirtualBox o incluso el módulo "nativo" de Microsoft llamado Hyper-V, esta opción debe estar habilitada incluso si la compatibilidad con componentes de Windows está habilitada directamente en la configuración del sistema.

En su mayor parte, esto se aplica a las modificaciones más recientes de Windows, comenzando con "siete". En "expish" o "Vista" esto no es un requisito previo. Sin embargo, si dichos sistemas operativos están instalados en el hardware más reciente, es posible que también sea necesario habilitar el soporte. Sin embargo, es poco probable que un usuario de una máquina de este tipo instale un sistema operativo obsoleto que no le permita "exprimir" el hardware de la computadora al máximo de lo que es capaz. Por lo tanto, es mejor utilizar los últimos componentes de hardware en combinación no solo con las últimas versiones de los sistemas operativos, sino también con los sistemas de diagnóstico y controles UEFI, que reemplazaron al BIOS que sirvió durante tanto tiempo.

fb.ru

¿Cómo habilitar la virtualización de hardware en BIOS? Tecnología de virtualización: tecnología de virtualización de hardware para SO invitado (con foto) - Configuración del BIOS

Opción de tecnología de virtualización. Habilitar esta opción habilita la tecnología de virtualización de hardware basada en una arquitectura de procesador especial. A diferencia de la virtualización de software, esta técnica permite utilizar sistemas invitados aislados (máquinas virtuales: VMware, Virtual PC, etc.) controlados directamente por el hipervisor. El sistema invitado es independiente de la arquitectura de la plataforma host y de la implementación de la plataforma de virtualización.

Esta opción prácticamente no tiene ningún efecto sobre el funcionamiento de los programas de usuario en un sistema operativo estándar.

Valores de opción:

La opción también puede tener otros nombres:

  • Tecnología de virtualización
  • Tecnología Vanderpool
  • Tecnología VT
  • Virtualización

Nota 1. Virtualización de virtualización de hardware con soporte para arquitectura de procesador especial. La virtualización de hardware proporciona un rendimiento comparable al de una máquina no virtualizada, lo que hace que la virtualización sea práctica y generalizada. Las tecnologías de virtualización más comunes son Intel-VT y AMD-V.

  1. Intel VT (Intel Virtualization Technology) implementa la virtualización en modo de direccionamiento real (modo de compatibilidad 8086). La virtualización de E/S de hardware correspondiente es VT-d. A menudo abreviado VMX (Virtual Machine eXtension). Nombre clave: Vanderpool.
  2. AMD-V a menudo se abrevia como SVM (Secure Virtual Machines). Nombre en clave: Pacífica. La tecnología de virtualización de E/S correspondiente es IOMMU. AMD-V es más simple y eficiente que Intel VT. La compatibilidad con AMD-V se introdujo en Xen 3.3.

Intel VT (Intel Virtualization Technology): tecnología de virtualización Intel, ¿qué es?

Intel VT es la base del hardware para la virtualización basada en software, reduciendo su tamaño, costo y complejidad. Por ejemplo, cuando dichos sistemas utilizan memoria caché, se utiliza un sistema de entrada-salida. Es utilizado principalmente por usuarios de los sectores corporativo, de la nube y de comunicaciones.

VT-x El 13 de noviembre de 2005, Intel lanzó dos modelos Pentium 4 (modelos 662 y 672), que fueron los primeros procesadores compatibles con VT-x ("Vanderpool"). VT-x es la tecnología de virtualización en modo de direccionamiento real de Intel en la plataforma x86: VMX (Virtual Machine eXtension).

Se ha implementado la virtualización del modo de direccionamiento real (modo de compatibilidad con 8086).

VT-d (tecnología de virtualización para E/S dirigidas) es una tecnología de virtualización de E/S de hardware creada por Intel además de su tecnología de virtualización informática VT-x. La virtualización de E/S le permite pasar dispositivos en el bus PCI (y buses similares más modernos) al sistema operativo invitado, para que pueda trabajar con él utilizando sus herramientas estándar. Para que esto sea posible, la lógica de la placa base utiliza una Unidad de administración de memoria de E/S (IOMMU) dedicada, que funciona de manera similar a la MMU de la CPU, usando tablas de páginas y una tabla de reasignación DMA especial (DMAR) que el hipervisor recibe del BIOS a través de ACPI. . El mapeo DMA es necesario porque el hipervisor no sabe nada sobre los detalles específicos de cómo funciona el dispositivo con la memoria en direcciones físicas que solo el controlador conoce. Usando DMAR, crea tablas de mapeo para que el controlador del sistema operativo invitado vea las direcciones IOMMU virtuales de la misma manera que vería las físicas sin él ni el hipervisor.

La tecnología de virtualización Intel para E/S dirigida (VT-d) es el siguiente paso importante hacia el soporte integral de virtualización de hardware para plataformas basadas en Intel. VT-d amplía las capacidades de la tecnología de virtualización (VT) que se encuentran en IA-32 (VT-x) e Itanium (VT-i) y agrega soporte para virtualizar nuevos dispositivos de E/S. Puede obtener más información sobre el aspecto técnico del problema aquí https://ru.wikipedia.org/wiki/

Programa de configuración BIOS de AWARD Software International Inc en placas base GIGABYTE TECHNOLOGY

Valor predeterminado de virtualización

Posible significado:

Designación de la opción del BIOS Descripción de la opción en el BIOS Valor traducido de la opción del BIOS

Tecnología de virtualización asistida por hardware que ayuda a mejorar el rendimiento del sistema que ejecuta software de máquina virtual.

La máquina virtual permite múltiples sistemas operativos en una computadora simultáneamente.

El equipo de asistencia a la virtualización es una tecnología que ayuda a mejorar el rendimiento de un sistema que se ejecuta en una máquina virtual.

Una máquina virtual le permite ejecutar de manera más eficiente varios sistemas operativos en una computadora al mismo tiempo.

No habilite la tecnología de virtualización de hardware basada en una arquitectura de procesador especial.

Incluye tecnología de virtualización de hardware basada en una arquitectura de procesador especial.

Utilidad de configuración Aptio: BIOS de American Megatrends Inc en placas base Dell Inc.

El nombre de esta opción para este fabricante en esta versión de BIOS (portátil):

Valor predeterminado de virtualización

Posible significado:

Utilidad de configuración Insydeh30 del BIOS del software Insyde en placas base de Hewlett-Packard Company (HP)

El nombre de esta opción para este fabricante en esta versión de BIOS:

Valor predeterminado de la tecnología de virtualización

Esta opción se encuentra ubicada en la pestaña: “Configuración del sistema”

www.NastrojkaBios.ru

Cómo comprobar si su procesador admite virtualización de hardware Intel VT-x/VT-d y AMD-V

Hoy en día se sabe que el soporte para la virtualización de hardware Intel VT-x/VT-d y AMD-V es necesario para el funcionamiento de máquinas virtuales como VirtualBox y VMware Workstation, así como para el funcionamiento de los llamados programas emuladores de sistemas operativos móviles, por ejemplo para el sistema operativo Android.

Hoy en día, casi todos los ordenadores modernos soportan esta tecnología, pero por supuesto hay aquellos que no. Y para saber si nuestro procesador soporta esta tecnología, primero entraremos en la BIOS de nuestro ordenador y veremos si está ahí la configuración que nos interesa. He agregado al artículo varios ejemplos de cómo se ve el elemento de habilitación de virtualización en diferentes versiones de BIOS. Básicamente, la inclusión de este parámetro se encuentra en la pestaña Avanzado, luego, como se puede ver en la imagen a continuación, bajo el nombre Tecnología de virtualización Intel y hay evidencia oculta de que esta computadora es compatible con esta tecnología.

En esta versión de BIOS, vamos a la pestaña de funciones avanzadas de BIOS, donde también vemos soporte para esta tecnología en el ítem de virtualización.

Y aquí, en el elemento de funciones avanzadas del BIOS, puede ver que el procesador admite la virtualización de hardware.

Bueno, la última opción, donde en la pestaña avanzada en el elemento Modo de máquina virtual segura, también podemos habilitar esta tecnología.

Pero también se dan casos que en la BIOS de nuestro ordenador no aparece la opción de habilitar la virtualización de hardware en modo máquina virtual segura o tecnología de virtualización intel, aunque dicen que el procesador que hay en tu ordenador soporta esta tecnología. Para asegurarnos de esto, nos ayudará una pequeña utilidad llamada SecurAble, que mostrará con precisión si nuestro procesador admite la virtualización de hardware. Vaya al sitio web oficial del fabricante mediante el enlace https://www.grc.com/securable.htm, donde en la parte inferior hacemos clic en el elemento Descargar ahora. Comenzará la descarga, luego lanzamos el programa, no es necesario instalarlo, ya que es una versión portátil.

Después del lanzamiento, el programa mostrará inmediatamente información sobre si su procesador admite o no la tecnología de virtualización. Puedes ver esto en el tercer bloque. Como habrás adivinado, si dice que sí, significa que hay apoyo.

Si dice Bloqueado APAGADO, significa que hay soporte para esta tecnología, pero debe estar habilitada. Y se enciende, como ya sabemos, en la BIOS de nuestro ordenador.

Bueno, si el bloque está marcado como NO, entonces su procesador no admite la tecnología de virtualización de hardware.

Deja tu opinión sobre este artículo y, por supuesto, haz tus preguntas si de repente algo te salió mal.

¡Gracias por su atención!

ITremont.info

Virtualización de hardware. Teoría, realidad y soporte en arquitecturas de procesadores

En esta publicación intentaré describir las razones y características del uso del soporte de hardware para la virtualización de computadoras. Comenzaré por definir tres condiciones necesarias para la virtualización y formular la base teórica para lograrlas. Luego pasaré a describir cómo la teoría se refleja en la dura realidad. A modo de ilustración, describiremos brevemente cómo varios proveedores de procesadores de diversas arquitecturas han implementado la virtualización en sus productos. Finalmente, se abordará la cuestión de la virtualización recursiva. Primero, algunas definiciones, quizás no del todo típicas de los artículos sobre este tema, pero que se utilizan en este artículo.
  • El host es el sistema de hardware en el que se ejecuta el monitor o simulador de la máquina virtual.
  • Guest es un sistema virtual o simulado que se ejecuta bajo el control de un monitor o simulador. A veces también se lo denomina sistema objetivo.
Intentaré definir el resto de la terminología tal como aparece en el texto. La virtualización era de interés incluso antes de la invención del microprocesador, en una época en la que predominaban los grandes sistemas: mainframes, cuyos recursos eran muy caros y su tiempo de inactividad era económicamente inaceptable. La virtualización permitió aumentar el grado de utilización de dichos sistemas, al tiempo que ahorró a los usuarios y programadores de aplicaciones la necesidad de reescribir su software, ya que desde su punto de vista la máquina virtual era idéntica a la física. El pionero en este ámbito fue IBM con los mainframes System/360 y System/370, creados en los años 1960 y 1970. No es sorprendente que casi al mismo tiempo se desarrollaran criterios para la capacidad de crear un monitor de máquina virtual eficaz. Están formulados en la obra clásica de 1974 de Gerald Popek y Robert Goldberg “Requisitos formales para arquitecturas virtualizables de tercera generación”. Consideremos sus premisas principales y formulemos su conclusión principal. A continuación, utilizamos una representación simplificada de una computadora "estándar" del artículo, que consta de un procesador central y una RAM lineal homogénea. Se omiten los dispositivos periféricos, así como los medios de interacción con ellos. El procesador admite dos modos operativos: modo supervisor, utilizado por el sistema operativo, y modo usuario, en el que se ejecutan las aplicaciones. La memoria admite un modo de segmentación utilizado para organizar la memoria virtual. Requisitos para un monitor de máquina virtual (VM):
  1. Aislamiento: cada máquina virtual debe tener acceso solo a los recursos que se le han asignado. No debería poder afectar el funcionamiento tanto del monitor como de otras máquinas virtuales.
  2. Equivalencia: cualquier programa ejecutado bajo el control de una VM debe demostrar un comportamiento completamente idéntico a su ejecución en un sistema real, con la excepción de los efectos causados ​​por dos circunstancias: diferencias en la cantidad de recursos disponibles (por ejemplo, la VM puede tener menos memoria) y duraciones de las operaciones (desde -para la posibilidad de compartir el tiempo de ejecución con otras VM).
  3. Eficiencia: en el trabajo original, la condición se formula de la siguiente manera: "un subconjunto estadísticamente dominante de instrucciones del procesador virtual debe ser ejecutado directamente por el procesador host, sin la intervención del monitor VM". Es decir, una parte importante de las instrucciones deben simularse en modo de ejecución directa. El requisito de eficiencia es el más ambiguo de los tres requisitos enumerados y volveremos a él más adelante. En el caso de simuladores basados ​​en interpretación de instrucciones, la condición de eficiencia no se cumple, porque Cada instrucción del huésped requiere ser procesada por el simulador.
El estado del procesador contiene al menos tres registros: M, que determina si está en modo supervisor s o usuario u, P - un puntero a la instrucción actual y R - un estado que determina los límites del segmento de memoria utilizado (en el En el caso más simple, R especifica un segmento, es decir, R = (l,b), donde l es la dirección del comienzo del rango, b es su longitud). La memoria E consta de un número fijo de celdas a las que se puede acceder por su número t, por ejemplo, E[t]. El tamaño de la memoria y las celdas no es importante para esta consideración.

Cuando se ejecuta, cada instrucción i generalmente puede cambiar tanto (M,P,R) como la memoria E, es decir es una función de transformación: (M1,P1,R1,E1) -> (M2,P2,R2,E2).

Para algunas condiciones de entrada, se considera que una instrucción causa una excepción de captura si, como resultado de su ejecución, el contenido de la memoria no cambia, excepto la única celda E, que contiene el estado anterior del procesador (M1, P1 , R1). El nuevo estado del procesador (M2, P2, R2) se copia de E. En otras palabras, la trampa le permite guardar el estado completo del programa en el momento antes del inicio de la ejecución de su última instrucción y transferir el control a el controlador, que en el caso de los sistemas convencionales generalmente funciona en modo supervisor y está diseñado para proporcionar acciones adicionales sobre el estado del sistema, y ​​luego devolver el control al programa, restaurando el estado desde E. Además, las trampas pueden tener dos características.

  1. Causado por un intento de cambiar el estado del procesador (trampa de flujo de control).
  2. Accesos a contenidos de memoria fuera del rango definido en (trampa de protección de memoria).
Tenga en cuenta que estas características no son mutuamente excluyentes. Es decir, el resultado de la ejecución puede ser tanto una trampa de flujo de control como una trampa de protección de memoria. Las instrucciones máquina del procesador en cuestión se pueden clasificar de la siguiente manera:
  • Privilegiado. Las instrucciones que se ejecutan con M = u siempre provocan una trampa de flujo de control. En otras palabras, dicha instrucción solo se puede ejecutar en modo supervisor; de lo contrario, definitivamente generará una excepción.
  • Servicio (inglés: sensible. No conozco el término ruso establecido para este concepto. A veces en la literatura hay una traducción de instrucciones "sensibles"). La clase consta de dos subclases. 1. Instrucciones que completaron la ejecución sin una trampa de protección de memoria y provocaron un cambio en M y/o R. Pueden cambiar el modo del procesador de supervisor a usuario o viceversa, o cambiar la posición y el tamaño de un segmento de memoria accesible. 2. Instrucciones cuyo comportamiento, cuando no activan una trampa de protección de memoria, depende del modo de M o del valor de R.
  • Inofensivo (inglés: inocuo). No oficial. La clase más amplia de instrucciones que no manipulan nada más que el puntero de instrucción P y la memoria E, cuyo comportamiento no depende del modo o dirección de memoria en la que se encuentran.
El cumplimiento de las tres condiciones formuladas anteriormente para la posibilidad de construir un monitor de máquina virtual se da en la siguiente frase: el conjunto de instrucciones de servicio es un subconjunto de instrucciones privilegiadas (Fig. 1). Al omitir la demostración formal del Teorema 1 del artículo, observamos las siguientes circunstancias.
  • El aislamiento se garantiza colocando el monitor en modo supervisor y la VM solo en modo usuario. Al mismo tiempo, este último no puede cambiar voluntariamente los recursos del sistema; un intento provocará una trampa en el flujo de control en la instrucción de servicio y un salto al monitor, así como a la memoria debido al hecho de que la configuración no lo permite, y el El procesador ejecutará una trampa de protección de memoria.
  • La equivalencia se demuestra por el hecho de que las instrucciones inofensivas se ejecutan de la misma manera independientemente de si hay un monitor presente en el sistema o no, mientras que las instrucciones de servicio siempre causan una excepción y se interpretan. Tenga en cuenta que incluso en el esquema simple descrito anteriormente, aparece la primera condición de debilitamiento: incluso sin tener en cuenta la memoria necesaria para almacenar el código y los datos del hipervisor, la cantidad de memoria disponible para la VM será al menos dos celdas menos que el del sistema anfitrión.
  • La eficiencia está garantizada por el hecho de que todas las instrucciones inofensivas dentro de la VM se ejecutan directamente, sin ralentización. Esto implica que su conjunto incluye "un subconjunto estadísticamente dominante de instrucciones de procesador virtual".

Arroz. 1: Se cumple la condición de virtualización. El conjunto de instrucciones de servicio es un subconjunto de los privilegiados: a pesar de la sencillez del modelo utilizado y de las conclusiones que de él se desprenden, el trabajo de Goldberg y Popek sigue siendo relevante. Cabe señalar que el incumplimiento de las condiciones descritas en él no hace que la creación o el uso de máquinas virtuales en una determinada arquitectura sea fundamentalmente imposible, y existen ejemplos prácticos de implementaciones que lo confirman. Sin embargo, mantener un equilibrio óptimo entre las tres propiedades de aislamiento, equivalencia y eficiencia se vuelve imposible. En la mayoría de los casos, es necesario pagar por la velocidad de funcionamiento de las máquinas virtuales debido a la necesidad de una búsqueda cuidadosa y un control de software sobre la ejecución de las instrucciones de servicio, pero no privilegiadas, ya que el hardware en sí no proporciona esto (Fig. 2). . Incluso una sola instrucción de este tipo ejecutada directamente por la VM amenaza el funcionamiento estable del monitor y, por lo tanto, se ve obligado a escanear todo el flujo de instrucciones del huésped.

Arroz. 2: Incumplimiento de la condición de virtualización. Las instrucciones de servicio, pero no privilegiadas, requieren la implementación de una lógica compleja en el monitor. El trabajo en sí contiene tanto simplificaciones explícitas de la estructura de los sistemas reales en estudio (falta de periféricos y sistemas de entrada-salida) como suposiciones implícitas sobre la estructura. de programas invitados ejecutables (que consisten casi en su totalidad en instrucciones inofensivas) y sistemas host (monoprocesador). Consideremos ahora estas limitaciones con más detalle y también sugerimos cómo se puede ampliar el grado de aplicabilidad del criterio a recursos adicionales que requieren virtualización y así aumentar su valor práctico para los arquitectos de nuevos sistemas informáticos. Para que los programas se ejecuten eficazmente dentro de una VM, la mayoría de sus instrucciones deben ser inofensivas. Esto es generalmente cierto para las aplicaciones. Los sistemas operativos, a su vez, están diseñados para gestionar los recursos del sistema, lo que significa que utilizan instrucciones privilegiadas y de servicio, y el monitor tiene que interceptarlas e interpretarlas con la correspondiente caída en el rendimiento. Por lo tanto, lo ideal es que el conjunto de instrucciones contenga la menor cantidad posible de instrucciones privilegiadas para mantener la incidencia de trampas al mínimo. Dado que los dispositivos periféricos son un recurso de servicio informático, es obvio que para garantizar las condiciones de aislamiento y equivalencia, es necesario que todos los intentos de acceder a ellos sean controlados por el monitor VM de la misma manera que lo son en un sistema operativo multitarea por su núcleo. Actualmente, el acceso a los dispositivos se realiza con mayor frecuencia a través del mecanismo de reflejarlos en la memoria física del sistema (E/S asignadas en memoria), lo que significa que dentro del monitor esta lectura/escritura de algunas regiones debe activar una trampa de protección de memoria o ser sin servicio, es decir. no desencadenar una trampa ni afectar al estado de forma incontrolada. La intensidad de la interacción entre aplicaciones y periféricos puede ser diferente y está determinada por su funcionalidad, lo que incide en su desaceleración durante la virtualización. Además, el monitor de VM puede hacer que diferentes clases de periféricos presentes en el host estén disponibles dentro de múltiples VM de diferentes maneras.

  • Un dispositivo dedicado es un dispositivo al que se puede acceder exclusivamente desde un único sistema invitado. Ejemplos: teclado, monitor.
  • Compartido: común para varios huéspedes. Un dispositivo de este tipo tiene varias partes, cada una de las cuales está dedicada a las necesidades de una de ellas (modo particionado), por ejemplo, un disco duro con varias particiones, o está conectada a cada una de ellas por turno (modo compartido). Ejemplo: tarjeta de red.
  • Completamente virtual: un dispositivo que está ausente en el sistema real (o presente, pero en cantidades limitadas) y que se simula mediante software dentro del monitor. Ejemplos: Temporizadores de interrupción: cada invitado tiene su propio temporizador, a pesar de que el sistema anfitrión solo tiene uno, y se utiliza para las propias necesidades del monitor.
Las interrupciones son un mecanismo para notificar al procesador sobre eventos de dispositivos externos que requieren la atención del sistema operativo. En el caso de máquinas virtuales, el monitor debe poder controlar la entrega de interrupciones, ya que algunas o todas ellas deben procesarse dentro del monitor. Por ejemplo, puede utilizar una interrupción del temporizador para monitorear/limitar el uso de la CPU de los invitados y poder cambiar entre varias máquinas virtuales que se ejecutan simultáneamente. Además, en el caso de varios invitados, no está claro de antemano cuál de ellos debe realizar la interrupción, y el monitor debe tomar la decisión. La solución más sencilla para proporcionar aislamiento es enrutar todas las interrupciones al monitor de VM. En este caso, la equivalencia estará asegurada por sí misma: una interrupción, si es necesaria, se producirá en el interior del huésped mediante una simulación de un cambio en su estado. Además, el monitor puede crear interrupciones virtuales causadas únicamente por la lógica de su funcionamiento y no por eventos externos. Sin embargo, la eficacia de dicha solución no será óptima. Normalmente, la respuesta del sistema a una interrupción debe ocurrir dentro de un tiempo limitado; de lo contrario, no tendrá sentido para un dispositivo externo o tendrá consecuencias catastróficas para el sistema en su conjunto. La introducción de una capa de virtualización aumenta el retraso entre el momento en que ocurre un evento y el momento en que se procesa en el huésped en comparación con un sistema sin virtualización. Más efectivo es el control de hardware sobre la entrega de interrupciones, lo que permite que algunas de ellas sean inofensivas para el estado del sistema y no requieran la intervención del programa monitor cada vez. Casi todas las computadoras modernas contienen más de un núcleo o procesador. Además, dentro de un monitor se pueden ejecutar varias máquinas virtuales, cada una de las cuales puede tener a su disposición varios procesadores virtuales. Consideremos cómo estas circunstancias afectan las condiciones de virtualización. La introducción de múltiples procesadores host e invitados deja intactas las condiciones para una virtualización efectiva. Sin embargo, es necesario prestar atención al cumplimiento de las condiciones para el funcionamiento eficiente de aplicaciones multiproceso dentro de una VM. A diferencia de los de un solo subproceso, se caracterizan por procesos de sincronización de partes del programa ejecutadas en diferentes procesadores virtuales. En este caso, todos los hilos participantes esperan hasta que todos alcancen un punto predeterminado en el algoritmo, el llamado. barrera. Si el sistema está virtualizado, uno o más subprocesos invitados pueden estar inactivos, siendo reemplazados por el monitor, lo que hace que otros pierdan el tiempo.

Un ejemplo de un comportamiento tan ineficiente de los sistemas invitados es la sincronización mediante bloqueos de giro dentro de una máquina virtual. Si bien es ineficiente y, por lo tanto, inutilizable para sistemas de un solo procesador, en el caso de múltiples procesadores es una alternativa liviana a otros bloqueos más pesados ​​​​que se usan para ingresar secciones críticas de algoritmos paralelos. Se utilizan con mayor frecuencia dentro del sistema operativo, pero no en los programas de usuario, ya que solo el sistema operativo puede determinar con precisión qué recursos del sistema se pueden proteger eficazmente mediante bloqueos por turnos. Sin embargo, en el caso de una máquina virtual, la programación de recursos en realidad no la realiza el sistema operativo, sino el monitor de la VM, que generalmente no los conoce y puede adelantarse a un subproceso que puede liberar el recurso, mientras que un segundo subproceso realizará la programación. un round robin, perdiendo el tiempo del procesador. La solución óptima en este caso es desactivar el hilo bloqueado hasta que se libere el recurso que necesita.

Las soluciones existentes para este problema se describen a continuación.

  1. El monitor de VM puede intentar detectar el uso de bloqueos de giro del sistema operativo invitado. Esto requiere un análisis del código antes de la ejecución y el establecimiento de puntos de interrupción en las direcciones de bloqueo. El método no se caracteriza por la universalidad y la fiabilidad de la detección.
  2. El sistema invitado puede señalar la intención del monitor de utilizar el bloqueo por turnos mediante una instrucción especial. El método es más confiable, pero requiere la modificación del código del sistema operativo invitado.
Finalmente, tenga en cuenta que los esquemas de entrega y manejo de interrupciones en sistemas multiprocesador también son más complejos, lo que debe tenerse en cuenta al diseñar un monitor VM para dichos sistemas, y puede que no sea tan eficiente como un equivalente de un solo procesador. El modelo de instrucción de máquina utilizado anteriormente para formular la afirmación de una virtualización eficiente utilizaba un esquema de traducción de direcciones basado en segmentación lineal simple, popular en la década de 1970. Es computacionalmente simple, no cambia cuando se introduce un monitor VM y, por lo tanto, no se ha analizado la influencia del mecanismo de traducción de direcciones en la eficiencia. Actualmente, los mecanismos de memoria virtual paginada utilizan la conversión no lineal de direcciones virtuales de aplicaciones de usuario en direcciones físicas utilizadas por el hardware. El recurso del sistema involucrado es un registro-puntero a la dirección de la tabla de conversión (la mayoría de las veces, en la práctica, se utilizan varias tablas, formando una jerarquía que tiene una raíz común). En el caso de una VM, este puntero debe estar virtualizado, ya que cada sistema invitado tiene su propio contenido de registro, así como la posición/contenido de la tabla. El costo de la implementación de software de este mecanismo dentro del monitor es alto, por lo que las aplicaciones que usan activamente la memoria pueden perder eficiencia cuando se virtualizan. Para resolver este problema, se utiliza la traducción de direcciones de hardware de dos niveles (Fig. 3). Los sistemas operativos invitados solo ven el primer nivel, mientras que la dirección física generada para ellos es posteriormente traducida por el segundo nivel a la dirección real.

Arroz. 3: Traducción de direcciones de dos niveles. El primer nivel está controlado por el sistema operativo invitado, el segundo por el monitor de la máquina virtual. Otro recurso informático responsable de la traducción de direcciones es el búfer de traducción (TLB), que consta de varias entradas. Cada sistema invitado tiene su propio contenido TLB, por lo que al cambiar la VM activa o cambiar a un monitor, se debe restablecer. Esto tiene un impacto negativo en el rendimiento del sistema porque restaurar su contenido lleva tiempo, tiempo durante el cual es necesario utilizar un acceso menos eficiente a la tabla de traducción de direcciones ubicada en la memoria. La solución es compartir recursos TLB entre todos los sistemas. Cada línea de búfer está asociada con un identificador: una etiqueta única para cada VM. Cuando el hardware lo busca, solo se tienen en cuenta las líneas cuya etiqueta coincida con la VM actual. Además de los procesadores, los dispositivos periféricos también pueden acceder a la RAM directamente mediante la tecnología DMA (acceso directo a la memoria). Al mismo tiempo, las llamadas en sistemas clásicos sin virtualización van a direcciones físicas. Obviamente, dichas direcciones deben traducirse dentro de la máquina virtual, lo que genera costos generales y reduce la eficiencia del monitor. La solución es utilizar el dispositivo IOMMU (unidad de gestión de memoria de entrada y salida), que permite controlar el acceso a la memoria física por parte de los dispositivos host. Ampliemos la condición de virtualización reemplazando la palabra "instrucción" por "operación": el conjunto de operaciones de servicio es un subconjunto de operaciones privilegiadas. En este caso, por operación nos referimos a cualquier actividad definida arquitectónicamente para leer o cambiar el estado del sistema, incluidas instrucciones, interrupciones, accesos a dispositivos, conversiones de direcciones, etc. En este caso, la condición para aumentar la eficiencia de la virtualización será la siguiente: la arquitectura del sistema debe contener un número mínimo de operaciones de servicio. Esto se puede lograr de dos maneras: haciendo que las instrucciones de servicio sean inofensivas o reduciendo el número de instrucciones privilegiadas. Para hacer esto, la mayoría de las arquitecturas han tomado el camino de agregar un nuevo modo r al registro de estado M: modo monitor VM (modo raíz en inglés). Se relaciona con el modo s como s se relaciona con u; en otras palabras, la clase actualizada de instrucciones privilegiadas ahora desencadena una trampa de flujo de control que lleva al procesador de s a r. Consideremos las principales arquitecturas modernas de los sistemas informáticos utilizados en servidores, estaciones de trabajo y sistemas integrados, desde el punto de vista de la implementación práctica de los principios teóricos descritos anteriormente. Véase también serie de artículos. IBM fue uno de los primeros en llevar la arquitectura de virtualización basada en hardware al mercado de microprocesadores para servidores con la serie POWER4 en 2001. Su objetivo era crear particiones lógicas aisladas (LPAR), cada una de las cuales está asociada con uno o más procesadores y recursos de E/S. Para hacer esto, se agregó un nuevo modo de hipervisor al procesador a los modos de supervisor y usuario ya presentes. Para proteger la memoria, cada LPAR está limitada en un modo con la traducción de direcciones deshabilitada y tiene acceso sólo a una pequeña región de memoria privada; Para utilizar la memoria restante, el sistema operativo invitado debe habilitar la traducción controlada por el monitor de VM. En 2004, el desarrollo de esta arquitectura, denominada POWER5, trajo importantes mejoras a los mecanismos de virtualización. Por lo tanto, se agregó un nuevo dispositivo temporizador, disponible solo para el monitor VM, que le permitió controlar los sistemas invitados con mayor precisión y asignarles recursos del procesador con una precisión de una centésima parte de un procesador. Además, el monitor VM tiene la capacidad de controlar la dirección de entrega de la interrupción, en la LPAR o en el hipervisor. La innovación más importante fue el hecho de que la presencia de un hipervisor era obligatoria: cargaba y administraba los recursos del sistema, incluso si solo había una partición LPAR en el sistema. Los sistemas operativos compatibles (AIX, Linux, IBM i) se han modificado teniendo esto en cuenta para admitir una especie de esquema de paravirtualización. Para administrar dispositivos de E/S, uno (o dos, para equilibrio de carga) de LPAR carga un sistema operativo especial: el servidor de E/S virtual (VIOS), que proporciona estos recursos para las particiones restantes. Sun, el desarrollador de UltraSPARC y el sistema operativo Solaris, ofrece virtualización a nivel de sistema operativo (llamada contenedores o zonas) desde 2004. En 2005, se introdujo la virtualización basada en hardware en los procesadores multiproceso Niagara 1. Al mismo tiempo, la granularidad de la virtualización era igual a un hilo (en total, el chip tenía ocho núcleos, cuatro hilos en cada uno). Para la interacción entre el sistema operativo y el hipervisor, se introdujo una interfaz pública y estable para aplicaciones privilegiadas, que oculta la mayoría de los registros arquitectónicos del sistema operativo. Para traducir direcciones se utiliza el esquema de dos niveles descrito anteriormente con direcciones virtuales, reales y físicas. Sin embargo, el TLB no almacena la dirección de traducción intermedia. A diferencia de POWER y SPARC, la arquitectura IA-32 (y su extensión AMD64) nunca estuvo controlada por una sola empresa, lo que podría agregar funcionalidad de (para)virtualización entre el hardware y el sistema operativo que rompería la compatibilidad con los sistemas operativos existentes. Además, viola claramente las condiciones para una virtualización efectiva: alrededor de 17 instrucciones de servicio no tienen privilegios, lo que impidió la creación de monitores VM compatibles con hardware. Sin embargo, los monitores de software existieron hasta 2006, cuando Intel introdujo la tecnología VT-x y AMD introdujo la tecnología AMD-V similar, pero incompatible. Se introdujeron nuevos modos de procesador: VMX raíz y no raíz, y los modos de privilegios preexistentes 0-3 se pueden usar en ambos. El cambio entre modos se puede lograr utilizando las nuevas instrucciones vmxon y vmxoff.

Para almacenar el estado de los sistemas invitados y el monitor, se utiliza una nueva estructura VMCS (estructura de control de máquina virtual), cuyas copias se encuentran en la memoria física y son accesibles para el monitor VM.

Una solución interesante es la posibilidad de configurar qué eventos en el invitado activarán un evento de captura y pasarán al hipervisor, y cuáles quedan para que el sistema operativo los procese. Por ejemplo, para cada huésped puede elegir si las interrupciones externas serán manejadas por él o por el monitor; escribir en qué bits de los registros de control CR0 y CR4 serán interceptados; qué excepciones debe manejar el huésped y cuáles el monitor, etc. Esta solución permite un compromiso entre el grado de control sobre cada VM y la eficiencia de la virtualización. Por lo tanto, para los invitados de confianza, el control del monitor puede debilitarse, mientras que los sistemas operativos de terceros que se ejecutan simultáneamente con ellos seguirán bajo su estricta supervisión. Para optimizar el funcionamiento del TLB, se utiliza la técnica descrita anteriormente de etiquetar sus entradas utilizando ASID (identificador de espacio de direcciones). Para acelerar el proceso de traducción de direcciones, el esquema de traducción de dos niveles se denominó Intel EPT (recorrido de página extendido). Intel agregó virtualización de hardware a Itanium (tecnología VT-i) al mismo tiempo que IA-32, en 2006. El modo especial se habilitó utilizando un nuevo bit en el registro de estado PRS.vm. Con este bit activado, las instrucciones que anteriormente eran de servicio pero que no tienen privilegios comienzan a provocar una trampa y una salida al monitor. Para volver al modo de sistema operativo invitado, utilice la instrucción vmsw. Algunas de las instrucciones, que son instrucciones de servicio, cuando el modo de virtualización está habilitado, generan un nuevo tipo de excepción sincrónica, para la cual se asigna su propio controlador.

Debido a que el sistema operativo accede al hardware a través de una interfaz especial PAL (nivel de abstracción del procesador), esta última se ha ampliado para admitir operaciones como la creación y destrucción de entornos invitados, guardar y cargar su estado, configurar recursos virtuales, etc. Cabe señalar que agregar virtualización de hardware al IA-64 requirió menos esfuerzo en comparación con el IA-32.

La arquitectura ARM fue originalmente pensada para sistemas integrados y móviles, cuya virtualización efectiva, en comparación con los sistemas de servidores, no ha sido durante mucho tiempo un factor clave en el éxito comercial y tecnológico. Sin embargo, en los últimos años ha habido una tendencia hacia el uso de máquinas virtuales en dispositivos móviles para proteger partes críticas del código del sistema, como las claves criptográficas utilizadas para procesar transacciones comerciales. Además, los procesadores ARM comenzaron a ingresar al mercado de servidores, y esto requirió expandir la arquitectura y agregar características como soporte para manejar grandes cantidades de memoria y virtualización. Ambos aspectos se reflejaron en el enfoque elegido por ARM para el desarrollo de su arquitectura. En la Fig. La Figura 4 muestra un diagrama que implica el anidamiento de dos niveles de virtualización, introducido en 2010 en una actualización de la arquitectura Cortex A15. Arroz. 4: virtualización ARM. El monitor TrustZone proporciona aislamiento y autenticación criptográfica del mundo de confianza. En el “mundo” normal se utiliza el propio monitor de la VM y, para garantizar el aislamiento de los componentes críticos, se utiliza la primera capa de virtualización, llamada TrustZone. Con su ayuda, todos los componentes de software en ejecución se dividen en dos "mundos": confiable y normal. En el primer entorno se ejecutan aquellas partes del sistema cuyo funcionamiento no debe estar sujeto a influencias externas del código normal. En el segundo entorno se ejecutan las aplicaciones del usuario y el sistema operativo, que en teoría podrían verse comprometidos. Sin embargo, el "mundo" ordinario no tiene acceso al mundo de confianza. El monitor TrustZone proporciona acceso inverso, lo que permite que un código confiable supervise el estado del hardware. La segunda capa de virtualización se ejecuta bajo el control de un monitor que no es de confianza y brinda la capacidad de multiplexar el trabajo de varios sistemas operativos de usuario. Agrega nuevas instrucciones HVC y ERET para ingresar y salir de los modos de hipervisor. Para los eventos de trampa, se utilizó el vector de interrupción 0x14 previamente reservado, se agregaron nuevos registros: el puntero de pila SPSR, el estado de los recursos virtuales HCR y el registro "síndrome" HSR, que almacena el motivo por el cual el invitado abandona el monitor, que permite a este último analizar rápidamente la situación y emular la funcionalidad necesaria sin una lectura excesiva del estado del huésped. Tal como se hizo en las arquitecturas comentadas anteriormente, para acelerar los mecanismos de traducción de direcciones se utiliza un esquema de dos niveles, en el que las direcciones físicas del SO huésped son intermedias. Las interrupciones externas se pueden configurar para que se entreguen al monitor, que luego las redirige al invitado mediante el mecanismo de interrupción virtual, o para que se envíen directamente al sistema invitado. Los procesadores MIPS han evolucionado en dirección opuesta a la observada para ARM: desde sistemas de alto rendimiento hasta sistemas integrados y móviles. Sin embargo, la virtualización de hardware apareció hace relativamente poco tiempo, en 2012. La arquitectura MIPS R5 trajo el modo de virtualización MIPS VZ. Está disponible para opciones de arquitectura de 32 y 64 bits. El estado arquitectónico agregado le permite almacenar la VM y monitorear el contexto por separado. Por ejemplo, para las necesidades del hipervisor, se introdujo una copia del registro del sistema COP0, independientemente de la copia del invitado. Esto permite optimizar el tiempo de conmutación entre ellos, mientras que cambiar entre múltiples sistemas operativos invitados requiere actualizar COP0 con contenidos de la memoria y es menos eficiente. Además, parte de los bits del registro de invitados, que describen el conjunto de capacidades de la versión actual de la arquitectura y por lo tanto se usaban anteriormente solo para lectura, se pueden escribir desde el modo monitor, lo que le permite declarar capacidades diferentes. de aquellos realmente presentes en el host.

Los privilegios del hipervisor, el sistema operativo y el usuario forman los llamados. modelo de cebolla. En él, el procesamiento de las interrupciones se produce desde fuera hacia dentro, es decir, Primero, se verifica que cada uno de ellos cumpla con las reglas del monitor y luego con el sistema operativo. Las excepciones síncronas (trampas), por el contrario, son procesadas primero por el sistema operativo y luego por el monitor.

Tal como se hizo en las arquitecturas discutidas anteriormente, las etiquetas en el TLB y la traducción de dos niveles en la MMU se utilizan para acelerar los mecanismos de traducción de direcciones. Para respaldar el desarrollo de invitados de paravirtualización, se agregó una nueva instrucción de hiperllamada, que provoca una trampa y salida al modo de monitoreo. En conclusión, consideraremos cuestiones adicionales para garantizar una virtualización efectiva relacionadas con el cambio entre los modos monitor y VM. Las frecuentes interrupciones de la máquina virtual debido a la necesidad de acceder al monitor afectan negativamente la velocidad de la simulación. Aunque los fabricantes de procesadores están trabajando para reducir la latencia asociada con estas transiciones (consulte la Tabla 1 para ver un ejemplo), todavía son lo suficientemente importantes como para intentar minimizar su frecuencia de aparición.

Microarquitectura Fecha de lanzamiento Latencia, ciclos de reloj
Prescott 3 metros cuadrados. 2005 3963
merón 2 metros cuadrados. 2006 1579
Penryn 1 metro cuadrado 2008 1266
Nehalem 3 metros cuadrados. 2009 1009
Westmere 1 metro cuadrado 2010 761
Sandy Bridge 1 metro cuadrado 2011 784
Tabla 1. Duración de la transición entre modos de virtualización de hardware para diferentes generaciones de microarquitecturas de procesador Intel IA-32 (datos tomados de)

Si la ejecución directa mediante virtualización no es efectiva, tiene sentido cambiar a otro esquema de operación, por ejemplo, interpretación o traducción binaria (consulte mi serie de publicaciones en IDZ: 1, 2, 3).

En la práctica de ejecución del sistema operativo, una situación típica es que las instrucciones que causan trampas en el flujo de control forman grupos en los que dos o más de ellas están ubicadas cerca una de otra, mientras que la distancia entre los grupos es significativa. El siguiente bloque de código para IA-32 muestra un ejemplo de dicho grupo. Un asterisco indica todas las instrucciones que generan salida al monitor. * entrada %al,%dx * salida $0x80,%al mov %al,%cl mov %dl,$0xc0 * salida %al,%dx * salida $0x80,%al * salida %al,%dx * salida $0 x80,%al Para evitar que se repita el escenario: salir de la VM al monitor, interpretar la instrucción, regresar a la VM solo para salir nuevamente al monitor en la siguiente instrucción, se utiliza la vista previa de instrucciones. Después de procesar la captura, antes de que el monitor devuelva el control a la VM, el flujo de instrucciones se escanea varias instrucciones por delante en busca de instrucciones privilegiadas. Si se detectan, la simulación cambia al modo de traducción binaria por un tiempo. Esto evita el impacto negativo del efecto de agrupación de instrucciones privilegiadas. La situación en la que un monitor de máquina virtual se ejecuta bajo el control de otro monitor que se ejecuta directamente en el hardware se denomina virtualización recursiva. En teoría, no puede limitarse a sólo dos niveles: dentro de cada monitor de VM se puede ejecutar el siguiente, formando así una jerarquía de hipervisores. La capacidad de ejecutar un hipervisor bajo el control de un monitor VM (o, lo que es lo mismo, un simulador) tiene un valor práctico. Cualquier monitor VM es un programa bastante complejo para el cual los métodos habituales de depuración de aplicaciones e incluso del sistema operativo no son aplicables, porque se carga muy temprano en la operación del sistema, cuando es difícil conectar un depurador. La ejecución bajo el control del simulador permite inspeccionar y controlar su funcionamiento desde la primera instrucción. Goldberg y Popek, en su trabajo mencionado anteriormente, consideraron cuestiones de soporte efectivo, incluida la virtualización recursiva. Sin embargo, sus conclusiones, lamentablemente, no tienen en cuenta muchas de las características de los sistemas modernos antes mencionadas. Consideremos una de las dificultades asociadas con las características específicas del lanzamiento anidado de monitores VM: el manejo de trampas e interrupciones. En el caso más simple, el monitor más externo siempre es responsable de procesar todo tipo de situaciones de excepción, cuya tarea es procesar el evento de forma independiente, “ocultándolo” de otros niveles, o pasarlo al siguiente. Tanto para las interrupciones como para las trampas, esto suele ser subóptimo: el evento debe pasar por varios niveles de la jerarquía, cada uno de los cuales introducirá un retraso en su procesamiento. En la Fig. La Figura 5 muestra el procesamiento de dos tipos de mensajes: una interrupción que ocurrió en el hardware externo y una trampa de flujo de control que ocurrió dentro de la aplicación.

Arroz. 5: Virtualización recursiva. Todos los eventos deben ser procesados ​​por un monitor externo, lo que los empuja hacia abajo en la jerarquía, lo que crea un retraso. Para un manejo óptimo de varios tipos de trampas e interrupciones, se debe seleccionar un nivel de la jerarquía del monitor VM para cada uno de ellos, y cuando Cuando ocurre un evento, el control debe transferirse directamente a este nivel, evitando el procesamiento adicional por parte de niveles superiores y sin la sobrecarga asociada. Los fabricantes de procesadores prestan mucha menos atención a la tarea de soporte de hardware para segundos o más niveles de anidamiento de virtualización que a su primer nivel. Sin embargo, tales obras existen. Entonces, en los años ochenta del siglo XX, para los sistemas IBM/370, se hizo realidad la capacidad de ejecutar copias del software del sistema dentro del sistema operativo que ya se ejecutaba en el hardware. Para esta tarea, se introdujo la instrucción SIE (iniciar ejecución interpretada). Hay propuestas para una interfaz entre capas de virtualización anidadas, que permitiría soportar de manera eficiente el anidamiento de múltiples monitores de VM, y una implementación de virtualización recursiva para IA-32. Sin embargo, las arquitecturas de procesadores modernas todavía están limitadas al soporte de hardware para como máximo un nivel de virtualización.

  1. Juan Goodacre. Virtualización acelerada por hardware en los procesadores ARM Cortex. 2011. xen.org/files/xensummit_oul11/nov2/2_XSAsia11_JGoodacre_HW_accelerated_virtualization_in_the_ARM_Cortex_processors.pdf
  2. Virtualización asistida por hardware con el módulo de virtualización MIPS. 2012. www.mips.com/application/login/login.dot?product_name=/auth/MD00994-2B-VZMIPS-WHT-01.00.pdf
  3. Materiales de referencia de hipervisor/Sun4v. 2012. kenai.com/projects/hypervisor/pages/ReferenceMaterials
  4. Tecnología de virtualización Intel / F. Leung, G. Neiger, D. Rodgers et al. // Revista de tecnología Intel. 2006. vol. 10. www.intel.com/technology/itj/2006/v10i3
  5. McGhan Harlan. El fantasma en la máquina: Parte 1 // Informe del microprocesador. 2007.mpronline.com
  6. McGhan Harlan. El fantasma en la máquina: Parte 2 // Informe del microprocesador. 2007.mpronline.com
  7. McGhan Harlan. El fantasma en la máquina: Parte 3 // Informe del microprocesador. 2007.mpronline.com
  8. Popek Gerald J., Goldberg Robert P. Requisitos formales para arquitecturas virtualizables de tercera generación // Comunicaciones del ACM. vol. 17. 1974.
  9. Gabriel del Sur. Análisis de programación de CPU de VM SMP. 2008. cs.gmu.edu/~hfoxwell/cs671projects/southern_v12n.pdf
  10. Yang Rongzhen. Búfer de búsqueda de traducción virtual. 2008. www.patentlens.net/patentlens/patent/US_2008_0282055_A1/en.
  11. Técnicas de software para evitar salidas de virtualización de hardware / Ole Agesen, Jim Mattson, Radu Rugina, Jeffrey Sheldon // Actas de la conferencia USENIX de 2012 sobre la Conferencia técnica anual. USENIX ATC"12. Berkeley, CA, EE. UU.: Asociación USENIX, 2012. P. 35-35. www.usenix.org/system/files/conference/atc12/atc12-final158.pdf
  12. Poon Wing-Chi, Mok A.K. Mejora de la latencia del reenvío VMExit en virtualización recursiva para la arquitectura x86 // Ciencia de sistemas (HICSS), 2012 45ª Conferencia Internacional de Hawaii. 2012. Pág. 5604-5612.
  13. Osisek D. L., Jackson K. M., Gum P. H. Arquitectura de ejecución interpretativa ESA/390, base para VM/ESA // IBM Syst. J. - 1991- V. 30, núm. 1. - págs. 34–51. -ISSN: 0018-8670. -DOI: 10.1147/sj.301.0034.
  14. Andy Glew. SIÉ. - semipublic.comp-arch.net/wiki/SIE
  15. El Proyecto Tortugas: Diseño e Implementación de Virtualización Anidada / Muli Ben-Yehuda //. - 2010. - págs. 423–436. www.usenix.org/event/osdi10/tech/full_papers/Ben-Yehuda.pdf

habrahabr.ru

Tecnología de virtualización

Otros nombres de opciones idénticos: Vanderpool Technology, VT Technology.

La opción Tecnología de virtualización está diseñada para habilitar el soporte del procesador para la tecnología de virtualización de hardware. Esta opción sólo puede tomar dos valores: Activada y Desactivada.

  • Principio de funcionamiento
  • ¿Debería incluirlo?

Principio de funcionamiento

¿Qué significa realmente el término “virtualización”? La tecnología de virtualización permite a un usuario tener muchas computadoras virtuales en una sola computadora física. Naturalmente, este enfoque suele tener muchas ventajas en comparación con tener varios ordenadores físicos, principalmente en términos de reducción de costes de hardware y reducción del consumo de energía.

Para crear computadoras virtuales, se requiere un software especial. El software de virtualización más conocido es VMWare y Microsoft Virtual PC.

El corazón de cualquier sistema de virtualización es una tecnología llamada Virtual Machine Monitor (VMM). Esta tecnología proporciona una base sólida para gestionar la virtualización. La función del administrador de máquinas virtuales (también llamado a veces hipervisor) es administrar los recursos de la computadora en tiempo real y distribuirlos entre sistemas virtuales. El hipervisor puede transferir datos entre sistemas y crear discos virtuales.

Virtual Machine Manager le permite ejecutar múltiples sistemas operativos (generalmente llamados sistemas operativos invitados) o múltiples copias del mismo sistema operativo en una sola computadora. Entre sus tareas también se incluye la gestión de recursos de memoria, procesador y dispositivos de entrada/salida para distribuirlos entre diferentes ordenadores virtuales. De esta forma, el hipervisor puede permitir que múltiples sistemas operativos compartan el mismo procesador, haciéndolo más eficiente.

Sin embargo, durante mucho tiempo la tecnología de virtualización se basó únicamente en métodos de software y casi no había soporte para ella a nivel de hardware, en particular debido a la falta de estándares claros. Aunque una de las primeras implementaciones de virtualización de hardware fue la compatibilidad con el modo de funcionamiento virtual del procesador Intel 8086, integrado en el procesador 80386 y los procesadores Intel posteriores (puede obtener más información sobre los procesadores aquí), las capacidades de esta tecnología fueron limitado. Hoy en día, los principales fabricantes de procesadores, Intel y AMD, ofrecen sus propias tecnologías de virtualización diseñadas para el modo protegido de funcionamiento del procesador.

La versión de Intel de la tecnología de virtualización se llama VT-x. Apareció en 2005. Esta tecnología introdujo una serie de mejoras en las plataformas de servidor y cliente que brindan soporte para software de virtualización. La tecnología VT-x permite que diferentes sistemas operativos y aplicaciones se ejecuten en particiones independientes y puede convertir una computadora en un conjunto de sistemas operativos virtuales.

La tecnología de virtualización de AMD se llama AMD-V. Apareció por primera vez en los procesadores Athlon 64 en 2006. Esta tecnología le permite asumir algunas de las tareas realizadas por el hipervisor en software y simplificarlas gracias al conjunto de instrucciones mejorado integrado en los procesadores AMD.

En comparación con el método de virtualización de software, la virtualización de hardware tiene una serie de ventajas. El hecho es que los sistemas operativos diseñados para la plataforma Intel se desarrollaron de tal manera que el sistema operativo debía tener acceso directo a los recursos de hardware de la computadora. La virtualización de software emulaba el hardware necesario y las tecnologías de virtualización de hardware permitían que el sistema operativo accediera directamente a los recursos de hardware, evitando cualquier emulación.

Las extensiones de virtualización de procesadores ofrecen nuevos enfoques para gestionar la virtualización. Brevemente, la esencia de las mejoras se puede describir de la siguiente manera. Los sistemas operativos proporcionan diferentes niveles de acceso a los recursos, que se denominan anillos de protección. Estos anillos representan una jerarquía de privilegios dentro de la arquitectura de un sistema informático. El nivel más privilegiado suele ser cero. Esta capa también puede acceder a los recursos directamente.

En la arquitectura tradicional Intel x86, el kernel del sistema operativo puede acceder directamente al procesador en el nivel 0. Sin embargo, en un entorno de virtualización de software, el sistema operativo invitado no puede realizar el trabajo en el nivel 0 porque está ocupado por el hipervisor. Por tanto, el sistema operativo invitado sólo puede ejecutarse en el nivel 1.

Pero hay un problema: algunas instrucciones del procesador sólo se pueden ejecutar en el nivel 0. Este problema se puede resolver de varias formas, pero ninguna de ellas es satisfactoria. Por ejemplo, el sistema operativo se puede recompilar para evitar este tipo de situaciones, pero esto sólo se puede hacer si el código fuente del sistema operativo está disponible. Este enfoque se utiliza a veces y se denomina paravirtualización.

Pero en los casos en los que la paravirtualización no es posible se suele recurrir a otra solución. El administrador de la máquina virtual simplemente intercepta las instrucciones necesarias del sistema operativo invitado y las reemplaza por otras seguras. No hace falta decir que este enfoque conduce a una caída significativa del rendimiento. En consecuencia, las máquinas virtuales de software suelen ser mucho más lentas que sus homólogas reales.

Por lo tanto, las tecnologías de virtualización de hardware de Intel y AMD no sólo contienen nuevas instrucciones para el procesador, sino que también, y lo que es más importante, permiten el uso de un nuevo nivel de privilegios. Ahora el hipervisor puede operar a un nivel inferior a cero (esto se puede indicar como –1), mientras que el sistema operativo invitado tiene control total sobre el nivel cero. De este modo, el hipervisor se evitó un trabajo minucioso innecesario y el rendimiento de las máquinas virtuales aumentó significativamente.

Las tecnologías Intel y AMD no son idénticas en todos los sentidos, pero ofrecen beneficios y funcionalidades similares. Además de aumentar el rendimiento de las máquinas virtuales, le permiten aumentar la cantidad de máquinas virtuales en un sistema físico, así como aumentar la cantidad de usuarios de máquinas virtuales.

¿Debería incluirlo?

La opción Tecnología de virtualización (a veces llamada simplemente Virtualización) permite al usuario de la computadora habilitar el soporte para la virtualización de hardware a nivel de CPU. Al seleccionar Activado se activa esta compatibilidad y al seleccionar Desactivado se desactiva.

La opción Tecnología de virtualización solo debe habilitarse si está utilizando su computadora para ejecutar máquinas virtuales. Habilitar el soporte de hardware para máquinas virtuales puede mejorar significativamente su rendimiento. Sin embargo, si no se utilizan máquinas virtuales, habilitar la opción no afectará el rendimiento de la computadora de ninguna manera.

Cómo habilitar la virtualización en BIOS: probablemente ya hayas hecho esta pregunta. Es posible que otros usuarios hayan oído hablar de la tecnología de virtualización, pero no sepan qué beneficios aporta y qué implica. Intentaremos considerar estas preguntas en este artículo.

En primer lugar, ¿qué significa el concepto de virtualización? La virtualización en tecnología informática significa modelar hardware utilizando métodos de software. Con la ayuda de la tecnología de virtualización, puede crear varias computadoras virtuales, es decir, simuladas por software, utilizando solo una computadora física suficientemente potente.

Beneficios clave de la virtualización:

  • Mejora de la eficiencia del hardware
  • Reducir los costos de materiales
  • Optimización de la asignación de recursos
  • Mayor seguridad en el trabajo
  • Administración simplificada
  • Mayor confiabilidad

Para crear sistemas virtuales, se utiliza un software especial llamado hipervisor. Sin embargo, debido a una serie de características de los procesadores de arquitectura Intel más antiguos, el hipervisor no pudo hacer el uso más eficiente de su potencia informática para crear máquinas virtuales.

Por lo tanto, los principales desarrolladores de procesadores de PC, Intel y AMD, han desarrollado la llamada tecnología de virtualización de hardware, que optimiza el rendimiento de los procesadores de tal manera que mejora significativamente la eficiencia del software de virtualización. La versión de Intel de la tecnología de soporte de virtualización de hardware se llama Intel-VT y la versión de AMD se llama AMD-V.

Soporte de virtualización

Dado que la tecnología de virtualización de hardware está integrada en el procesador central, para que un usuario maximice los beneficios proporcionados por la virtualización, es necesario que su computadora admita esta tecnología a nivel de procesador. Además, también se requiere soporte tecnológico del BIOS y del sistema operativo. En los BIOS que admiten la virtualización de hardware, el usuario tiene la capacidad de habilitar o deshabilitar el soporte de virtualización en la configuración del BIOS. Tenga en cuenta que existen conjuntos de chips para placas base basados ​​​​en procesadores AMD en los que no se puede desactivar el soporte de virtualización.

Habilitar la virtualización en BIOS

Entonces, ¿cómo habilitar la virtualización en BIOS? Para habilitar o deshabilitar la virtualización en el BIOS, existe una opción especial Tecnología de virtualización. Normalmente puede encontrar esta opción en las secciones Chipset o Procesador del BIOS.

Normalmente, establecer el valor en Habilitado le permite habilitar la virtualización de hardware y establecer el valor en Deshabilitado la desactiva. Debe tenerse en cuenta que habilitar la opción sólo afecta el rendimiento de las máquinas virtuales que se ejecutan dentro del hipervisor y no afecta de ninguna manera el rendimiento de los programas normales del sistema operativo. Discutimos esta opción con más detalle en el artículo correspondiente.

Conclusión

La virtualización es una herramienta poderosa que le permite ampliar las capacidades de los sistemas informáticos y hacer el uso más eficiente del hardware existente. La mayoría de las computadoras modernas tienen soluciones integradas en el procesador que pueden mejorar su rendimiento cuando usan máquinas virtuales. Además, la mayoría de las computadoras basadas en procesadores Intel y AMD se pueden configurar para admitir la virtualización de hardware.




Arriba