Articulo de referencia

virtualización x86

La virtualización x86 consiste en el uso de capacidades de virtualización asistidas por hardware en una CPU x86 / x86-64 . A finales de la década de 1990, la virtualización x86 ...

La virtualización x86 consiste en el uso de capacidades de virtualización asistidas por hardware en una CPU x86 / x86-64 .

A finales de la década de 1990, la virtualización x86 se lograba mediante técnicas de software complejas , necesarias para compensar la falta de capacidades de virtualización asistida por hardware del procesador y, al mismo tiempo, obtener un rendimiento razonable . En 2005 y 2006, tanto Intel ( VT-x ) como AMD ( AMD-V ) introdujeron un soporte limitado para la virtualización por hardware que permitía un software de virtualización más sencillo, pero ofrecía muy pocas ventajas en cuanto a velocidad. [ 1 ] Un mayor soporte de hardware, que permitió mejoras sustanciales en la velocidad, llegó con modelos de procesadores posteriores.

Virtualización basada en software

La siguiente discusión se centra únicamente en la virtualización del modo protegido de la arquitectura x86 .

En el modo protegido, el núcleo del sistema operativo se ejecuta en el espacio del núcleo en el nivel de privilegio más alto ( anillo 0), lo que le permite configurar la MMU , administrar la memoria física y controlar directamente los periféricos de E/S, mientras que las aplicaciones se ejecutan en el espacio de usuario en un nivel de privilegio inferior (como el anillo 3), donde están confinadas a sus propios espacios de direcciones virtuales y deben invocar llamadas al sistema para solicitar operaciones de E/S u otros servicios privilegiados al núcleo.

En la virtualización basada en software, un sistema operativo anfitrión tiene acceso directo al hardware, mientras que los sistemas operativos invitados tienen acceso limitado al hardware, de forma similar a otras aplicaciones de espacio de usuario del sistema operativo anfitrión. Un enfoque utilizado en la virtualización basada en software x86 para implementar este mecanismo se denomina desprivilegio de anillo , que implica ejecutar el sistema operativo invitado en un anillo superior (menor privilegio) que 0, de modo que los intentos de ejecutar instrucciones privilegiadas puedan ser interceptados y gestionados por el hipervisor. [ 2 ]

Tres técnicas hicieron posible la virtualización del modo protegido:

  • La traducción binaria se utiliza para reescribir ciertas instrucciones del anillo 0 en términos de instrucciones del anillo 3, como POPF , que de otro modo fallarían silenciosamente o se comportarían de manera diferente cuando se ejecutaran por encima del anillo 0, [ 3 ] [ 4 ] : 3 haciendo imposible la virtualización clásica de captura y emulación . [ 4 ] : 1 [ 5 ] Para mejorar el rendimiento, los bloques básicos traducidos deben almacenarse en caché de manera coherente que detecte parches de código (utilizados en VxDs , por ejemplo), la reutilización de páginas por el sistema operativo invitado o incluso código automodificable . [ 6 ]
  • Varias estructuras de datos clave utilizadas por un procesador necesitan ser replicadas . Dado que la mayoría de los sistemas operativos utilizan memoria virtual paginada , y otorgar al sistema operativo invitado acceso directo a la MMU implicaría la pérdida de control por parte del gestor de virtualización , parte del trabajo de la MMU x86 debe duplicarse en software para el sistema operativo invitado mediante una técnica conocida como tablas de páginas en sombra . [ 7 ] : 5 [ 4 ] : 2 Esto implica denegar al sistema operativo invitado cualquier acceso a las entradas reales de la tabla de páginas interceptando los intentos de acceso y emulándolos en su lugar mediante software. La arquitectura x86 utiliza un estado oculto para almacenar descriptores de segmento en el procesador, por lo que una vez que los descriptores de segmento se han cargado en el procesador, la memoria desde la que se han cargado puede sobrescribirse y no hay forma de recuperar los descriptores del procesador. Por lo tanto, deben utilizarse tablas de descriptores en sombra para rastrear los cambios realizados en las tablas de descriptores por el sistema operativo invitado. [ 5 ]
  • Emulación de dispositivos de E/S: Los dispositivos no compatibles en el sistema operativo invitado deben ser emulados por un emulador de dispositivos que se ejecuta en el sistema operativo anfitrión. [ 8 ]

Estas técnicas conllevan cierta sobrecarga de rendimiento debido a la falta de soporte para la virtualización de la MMU, en comparación con una máquina virtual que se ejecuta en una arquitectura virtualizable de forma nativa como el IBM System/370 . [ 4 ] : 10 [ 9 ] : 17 y 21

En los mainframes tradicionales, el hipervisor clásico de tipo 1 era independiente y no dependía de ningún sistema operativo ni ejecutaba aplicaciones de usuario por sí mismo. En cambio, los primeros productos de virtualización x86 estaban dirigidos a estaciones de trabajo y ejecutaban un sistema operativo invitado dentro de un sistema operativo anfitrión, integrando el hipervisor en un módulo del núcleo que se ejecutaba bajo el sistema operativo anfitrión (hipervisor de tipo 2). [ 8 ]

Ha habido cierta controversia sobre si la arquitectura x86 sin asistencia de hardware es virtualizable como la describen Popek y Goldberg . Investigadores de VMware señalaron en un artículo de ASPLOS de 2006 que las técnicas mencionadas anteriormente hacían que la plataforma x86 fuera virtualizable en el sentido de cumplir con los tres criterios de Popek y Goldberg, aunque no mediante la técnica clásica de captura y emulación. [ 4 ] : 2–3

Otros sistemas, como Denali , L4 y Xen , optaron por una vía diferente , conocida como paravirtualización , que consiste en adaptar sistemas operativos para que se ejecuten en la máquina virtual resultante, la cual no implementa las partes del conjunto de instrucciones x86 reales que son difíciles de virtualizar. La E/S paravirtualizada ofrece importantes ventajas de rendimiento, como se demostró en el artículo original de Xen presentado en SOSP '03. [ 10 ]

La versión inicial de x86-64 ( AMD64 ) no permitía una virtualización completa solo por software debido a la falta de soporte de segmentación en modo largo , lo que imposibilitaba la protección de la memoria del hipervisor, en particular, la protección del manejador de trampas que se ejecuta en el espacio de direcciones del kernel invitado. [ 11 ] [ 12 ] : 11 y 20 Los procesadores AMD de 64 bits de revisión D y posteriores (como regla general, los fabricados en 90  nm o menos) añadieron soporte básico para la segmentación en modo largo, lo que permitió ejecutar invitados de 64 bits en hosts de 64 bits mediante traducción binaria. Intel no añadió soporte de segmentación a su implementación de x86-64 ( Intel 64 ), lo que imposibilitó la virtualización solo por software de 64 bits en las CPU de Intel, pero el soporte de Intel VT-x permite la virtualización asistida por hardware de 64 bits en la plataforma Intel. [ 13 ] [ 14 ] : 4

En algunas plataformas, es posible ejecutar un sistema operativo invitado de 64 bits en un sistema operativo anfitrión de 32 bits si el procesador subyacente es de 64 bits y admite las extensiones de virtualización necesarias.

Virtualización asistida por hardware

La primera generación de virtualización de hardware x86 abordó el problema de las instrucciones privilegiadas. El problema del bajo rendimiento de la memoria del sistema virtualizada se solucionó con la virtualización de la MMU , que se añadió posteriormente al chipset. En 2005 y 2006, Intel y AMD (trabajando de forma independiente) crearon nuevas extensiones de procesador para la arquitectura x86, lo que dio como resultado dos variantes de extensión de virtualización x86 binariamente incompatibles: VT-x de Intel y AMD-V.

unidad central de procesamiento

Modo virtual 8086

Debido a que el Intel 80286 no podía ejecutar aplicaciones DOS concurrentes de manera eficiente por sí solo en modo protegido, Intel introdujo el modo virtual 8086 en su chip 80386 , que ofrecía procesadores 8086 virtualizados en los chips 386 y posteriores. Sin embargo, la compatibilidad de hardware para virtualizar el modo protegido en sí mismo estuvo disponible 20 años después. [ 15 ]

Virtualización de AMD (AMD-V)

AMD Phenom muere

AMD desarrolló sus extensiones de virtualización de primera generación bajo el nombre en clave "Pacifica" y las publicó inicialmente como AMD Secure Virtual Machine (SVM), [ 16 ] pero más tarde las comercializó bajo la marca registrada AMD Virtualization , abreviada AMD-V .

El 23 de mayo de 2006, AMD lanzó los procesadores Athlon 64 ( "Orleans" ), Athlon 64 X2 ( "Windsor" ) y Athlon 64 FX ( "Windsor" ) como los primeros procesadores AMD compatibles con esta tecnología.

La capacidad AMD-V también está presente en la familia de procesadores Athlon 64 y Athlon 64 X2 con revisiones "F" o "G" en el socket AM2 , Turion 64 X2 y Opteron de segunda generación [ 17 ] y de tercera generación, [ 18 ] Phenom y Phenom II . Los procesadores APU Fusion son compatibles con AMD-V. AMD-V no es compatible con ningún procesador Socket 939. Los únicos procesadores Sempron que lo admiten son las APU y las CPU de escritorio Huron , Regor y Sargas .

Los procesadores AMD Opteron, a partir de la línea Family 0x10 Barcelona, ​​y los procesadores Phenom II, son compatibles con una tecnología de virtualización de hardware de segunda generación llamada Rapid Virtualization Indexing (anteriormente conocida como Nested Page Tables durante su desarrollo), que Intel adoptó posteriormente como Extended Page Tables (EPT).

Desde 2019, todos los procesadores AMD basados ​​en Zen son compatibles con AMD-V.

El indicador de CPU para AMD-V es "svm". Esto se puede comprobar en derivados de BSD mediante dmesg o sysctl y en Linux mediante . [ 19 ] Las instrucciones en AMD-V incluyen VMRUN, VMLOAD, VMSAVE, CLGI, VMMCALL, INVLPGA, SKINIT y STGI./proc/cpuinfo

En algunas placas base , los usuarios deben habilitar la función AMD SVM en la configuración del BIOS antes de que las aplicaciones puedan utilizarla. [ 20 ]

Virtualización de Intel (VT-x)

Procesador Intel Core i7 (Bloomfield)

Anteriormente conocida con el nombre en clave "Vanderpool", VT-x representa la tecnología de virtualización de Intel en la plataforma x86. El 14 de noviembre de 2005, Intel lanzó dos modelos de Pentium 4 (modelos 662 y 672) como los primeros procesadores Intel compatibles con VT-x. El indicador de la CPU para la capacidad VT-x es "vmx"; en Linux, esto se puede comprobar mediante /proc/cpuinfo, o en macOS mediante sysctl machdep.cpu.features. [ 19 ] [ 21 ] [ 22 ]

"VMX" significa Virtual Machine Extensions, que agrega 13 nuevas instrucciones: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUNCH, VMRESUME, VMXOFF, VMXON, INVEPT, INVVPID y VMFUNC. [ 23 ] Estas instrucciones permiten entrar y salir de un modo de ejecución virtual donde el sistema operativo invitado se percibe a sí mismo como si se estuviera ejecutando con privilegios completos (anillo 0), pero el sistema operativo anfitrión permanece protegido.

A partir de 2015Casi todos los procesadores Intel más recientes para servidores, computadoras de escritorio y dispositivos móviles son compatibles con VT-x, con la excepción principal de algunos procesadores Intel Atom . [ 24 ] En algunas placas base , los usuarios deben habilitar la función VT-x de Intel en la configuración del BIOS antes de que las aplicaciones puedan utilizarla. [ 25 ]

Intel comenzó a incluir tablas de páginas extendidas (EPT), [ 26 ] una tecnología para la virtualización de tablas de páginas, [ 27 ] desde la arquitectura Nehalem , [ 28 ] [ 29 ] lanzada en 2008. En 2010, Westmere agregó soporte para iniciar el procesador lógico directamente en modo real , una característica llamada "invitado sin restricciones", que requiere EPT para funcionar. [ 30 ] [ 31 ] 

Desde la microarquitectura Haswell (anunciada en 2013), Intel comenzó a incluir el sombreado de VMCS como una tecnología que acelera la virtualización anidada de VMM. [ 32 ] La estructura de control de la máquina virtual (VMCS) es una estructura de datos en memoria que existe exactamente una vez por VM, mientras que es administrada por el VMM. Con cada cambio del contexto de ejecución entre diferentes VM, la VMCS se restaura para la VM actual, definiendo el estado del procesador virtual de la VM. [ 33 ] Tan pronto como se utiliza más de un VMM o VMM anidados, aparece un problema de una manera similar a lo que requirió la invención de la administración de la tabla de páginas de sombra, como se describió anteriormente . En tales casos, la VMCS necesita ser sombreada varias veces (en caso de anidamiento) e implementada parcialmente en software si hay soporte de hardware por parte del procesador. Para hacer que el manejo de la VMCS de sombra sea más eficiente, Intel implementó soporte de hardware para el sombreado de VMCS. [ 34 ]

Virtualización VIA (VIA VT)

Los procesadores VIA Nano Serie 3000 y superiores admiten la tecnología de virtualización VIA VT compatible con Intel VT-x. [ 35 ] EPT está presente en Zhaoxin ZX-C, un descendiente de VIA QuadCore-E y Eden X4 similar a Nano C4350AL . [ 36 ]

Virtualización de interrupciones (AMD AVIC e Intel APICv)

En 2012, AMD anunció su controlador avanzado de interrupciones virtuales ( AVIC ) con el objetivo de reducir la sobrecarga de interrupciones en entornos de virtualización. [ 37 ] Esta tecnología, como se anunció, no admite x2APIC . [ 38 ] En 2016, AVIC está disponible en los procesadores AMD de la familia 15h, modelos 6Xh (Carrizo) y posteriores. [ 39 ]

También en 2012, Intel anunció una tecnología similar para la virtualización de interrupciones y APIC , que no tenía nombre comercial en el momento de su anuncio. [ 40 ] Posteriormente, se le dio el nombre de virtualización APIC ( APICv ) [ 41 ] y se comercializó en la serie Ivy Bridge EP de procesadores Intel, que se vende como Xeon E5-26xx v2 (lanzado a finales de 2013) y como Xeon E5-46xx v2 (lanzado a principios de 2014). [ 42 ]

unidad de procesamiento gráfico

La virtualización de gráficos no forma parte de la arquitectura x86. La tecnología de virtualización de gráficos de Intel (GVT) proporciona virtualización de gráficos como parte de las arquitecturas gráficas Gen más recientes. Si bien las APU de AMD implementan el conjunto de instrucciones x86-64 , implementan las arquitecturas gráficas propias de AMD ( TeraScale , GCN y RDNA ), que no admiten virtualización de gráficos. Larrabee fue la única microarquitectura gráfica basada en x86, pero probablemente no incluía soporte para virtualización de gráficos.

Chipset

La virtualización de memoria y E/S la realiza el chipset . [ 43 ] Normalmente, estas características deben ser habilitadas por la BIOS, que debe poder soportarlas y también estar configurada para utilizarlas.

Virtualización de la MMU de E/S (AMD-Vi e Intel VT-d)

Un registro del kernel de Linux que muestra información de AMD-Vi

Una unidad de gestión de memoria de entrada/salida (IOMMU) permite que las máquinas virtuales invitadas utilicen directamente dispositivos periféricos , como Ethernet, tarjetas gráficas aceleradas y controladores de disco duro, mediante DMA y reasignación de interrupciones . Esto a veces se denomina paso directo de PCI . [ 44 ]

Una IOMMU también permite a los sistemas operativos eliminar los búferes de rebote necesarios para comunicarse con dispositivos periféricos cuyos espacios de direcciones de memoria son menores que el espacio de direcciones de memoria del sistema operativo, mediante la traducción de direcciones de memoria. Al mismo tiempo, una IOMMU también permite a los sistemas operativos e hipervisores evitar que hardware defectuoso o malicioso comprometa la seguridad de la memoria .

Tanto AMD como Intel han publicado sus especificaciones de IOMMU:

  • Tecnología de virtualización de E/S de AMD, "AMD-Vi", originalmente llamada "IOMMU" [ 45 ]
  • La "Tecnología de virtualización para E/S dirigida" (VT-d) de Intel, [ 46 ] incluida en la mayoría de los procesadores Intel de gama alta (pero no en todos) más recientes desde la arquitectura Core 2. [ 47 ]

Además de la compatibilidad con la CPU, tanto el chipset de la placa base como el firmware del sistema ( BIOS o UEFI ) deben ser totalmente compatibles con la funcionalidad de virtualización de E/S IOMMU para que sea utilizable. Solo los dispositivos PCI o PCI Express que admiten el reinicio a nivel de función (FLR) pueden virtualizarse de esta manera, ya que es necesario para reasignar varias funciones de dispositivos entre máquinas virtuales. [ 48 ] [ 49 ] Si un dispositivo que se va a asignar no admite interrupciones señalizadas por mensaje (MSI), no debe compartir líneas de interrupción con otros dispositivos para que la asignación sea posible. [ 50 ] Todos los dispositivos PCI convencionales enrutados detrás de un puente PCI/ PCI-X a PCI Express solo se pueden asignar a una máquina virtual invitada todos a la vez; los dispositivos PCI Express no tienen tal restricción.

Virtualización de red (VT-c)

  • Tecnología de virtualización para conectividad (VT-c) de Intel. [ 51 ]
Virtualización de E/S de raíz única PCI-SIG (SR-IOV)

La virtualización de E/S de raíz única (SR-IOV) de PCI-SIG proporciona un conjunto de métodos generales (no específicos de x86) de virtualización de E/S basados ​​en hardware nativo PCI Express (PCIe), según lo estandarizado por PCI-SIG: [ 52 ]

  • Los servicios de traducción de direcciones (ATS) admiten IOV nativo a través de PCI Express mediante traducción de direcciones. Para configurar dichas traducciones, se requiere compatibilidad con nuevas transacciones.
  • La E/S de raíz única (SR-IOV o SRIOV) admite E/S nativa en topologías PCI Express complejas de raíz única existentes. Requiere compatibilidad con nuevas capacidades de dispositivo para configurar múltiples espacios de configuración virtualizados. [ 53 ]
  • La tecnología Multi-root IOV (MR-IOV) admite IOV nativo en nuevas topologías (por ejemplo, servidores blade) al basarse en SR-IOV para proporcionar múltiples complejos raíz que comparten una jerarquía PCI Express común.

En SR-IOV, el más común de estos, un VMM anfitrión configura los dispositivos compatibles para crear y asignar "sombras" virtuales de sus espacios de configuración para que los invitados de máquinas virtuales puedan configurar y acceder directamente a dichos recursos de dispositivos "sombra". [ 54 ] Con SR-IOV habilitado, las interfaces de red virtualizadas son directamente accesibles para los invitados, [ 55 ] evitando la participación del VMM y resultando en un alto rendimiento general; [ 53 ] por ejemplo, SR-IOV logra más del 95 % del ancho de banda de la red bare metal en el centro de datos virtualizado de la NASA [ 56 ] y en la nube pública de Amazon . [ 57 ] [ 58 ]

Véase también

Referencias

  1. Comparación de técnicas de software y hardware para la virtualización x86, Keith Adams y Ole Agesen, VMware, ASPLOS'06, 21-25 de octubre de 2006, San José, California, EE. UU. Archivado el 24 de octubre de 2022 en Wayback Machine. «Sorprendentemente, encontramos que la compatibilidad con hardware de primera generación rara vez ofrece ventajas de rendimiento sobre las técnicas de software existentes. Atribuimos esta situación a los altos costos de transición entre VMM y máquina virtual invitada, y a un modelo de programación rígido que deja poco margen para la flexibilidad del software en la gestión de la frecuencia o el costo de estas transiciones».
  2. "Extensiones de virtualización de procesadores de la tecnología de virtualización de Intel y tecnología de ejecución confiable de Intel" (PDF) . Intel.com. 2007. Archivado (PDF) del original el 21 de mayo de 2015. Consultado el 12 de diciembre de 2016 .
  3. "Programa técnico de USENIX - Resumen - Simposio de seguridad - 2000" . Usenix.org. 29 de enero de 2002. Archivado del original el 10 de junio de 2010. Consultado el 2 de mayo de 2010 .
  4. 1 2 3 4 5 "Una comparación de técnicas de software y hardware para la virtualización x86" (PDF) . VMware. Archivado (PDF) del original el 20 de agosto de 2010. Recuperado el 8 de septiembre de 2010 .
  5. 1 2 Patente estadounidense 6,397,242
  6. Patente estadounidense 6,704,925
  7. "Virtualización: consideraciones arquitectónicas y otros criterios de evaluación" (PDF) . VMware. Archivado (PDF) del original el 6 de febrero de 2011. Recuperado el 8 de septiembre de 2010 .
  8. 1 2 Patente estadounidense 6,496,847
  9. "VMware y tecnología de asistencia de hardware" (PDF) . Archivado (PDF) del original el 17 de julio de 2011. Consultado el 8 de septiembre de 2010 .
  10. "Xen y el arte de la virtualización" (PDF) . Archivado (PDF) del original el 29/09/2014.
  11. "Cómo la eliminación de la segmentación en el modo largo de AMD64 afectó negativamente a VMware" . Pagetable.com. 9 de noviembre de 2006. Archivado del original el 18 de julio de 2011. Consultado el 2 de mayo de 2010 .
  12. "VMware y la tecnología de virtualización de CPU" (PDF) . VMware. Archivado (PDF) del original el 17 de julio de 2011. Consultado el 8 de septiembre de 2010 .
  13. "VMware KB: Requisitos de hardware y firmware para sistemas operativos invitados de 64 bits" . Kb.vmware.com. Archivado del original el 19 de abril de 2010. Consultado el 2 de mayo de 2010 .
  14. "Técnicas de software y hardware para la virtualización x86" (PDF) . Archivado del original (PDF) el 5 de enero de 2010. Consultado el 2 de mayo de 2010 .
  15. Yager, Tom (5 de noviembre de 2004). "Enviar software para que haga el trabajo del hardware | Hardware - InfoWorld" . Images.infoworld.com. Archivado del original el 18 de octubre de 2014. Recuperado el 8 de enero de 2014 .
  16. "33047_SecureVirtualMachineManual_3-0.book" (PDF) . Archivado (PDF) del original el 5 de marzo de 2012. Consultado el 2 de mayo de 2010 .
  17. "¿Cuáles son las principales diferencias entre los procesadores AMD Opteron de segunda generación y los de primera generación?" . amd.com . Archivado del original el 15 de abril de 2009 . Consultado el 4 de febrero de 2012 .
  18. "¿Qué mejoras de virtualización ofrecen los procesadores AMD Opteron de cuatro núcleos?" . amd.com . Archivado del original el 16 de abril de 2009 . Consultado el 4 de febrero de 2012 .
  19. 1 2 Para ver si su procesador admite la virtualización de hardware Archivado el 25/11/2012 en Wayback Machine Intel 2012.
  20. "¿Cómo habilitar Intel VTx y AMD SVM?" . Soporte . QNAP Systems, Inc. Archivado del original el 7 de marzo de 2018. Consultado el 23 de diciembre de 2020 .
  21. "Intel Pentium 4 662 - HH80547PG1042MH" . www.cpu-world.com . Archivado del original el 11 de marzo de 2025. Consultado el 1 de febrero de 2025 .
  22. "Intel Pentium 4 672 - HH80547PG1122MH" . www.cpu-world.com . Archivado del original el 6 de marzo de 2025. Consultado el 1 de febrero de 2025 .
  23. INTEL (octubre de 2019). "Manual del desarrollador de software para arquitecturas Intel® 64 e IA-32" . intel.com . Intel Corporation . Consultado el 4 de enero de 2020 .
  24. "Lista de tecnologías de virtualización de Intel" . Ark.intel.com. Archivado del original el 27 de octubre de 2010. Consultado el 2 de mayo de 2010 .
  25. "Windows Virtual PC: Configurar BIOS" . Microsoft. Archivado del original el 6 de septiembre de 2010. Consultado el 8 de septiembre de 2010 .
  26. Neiger, Gil; A. Santoni; F. Leung; D. Rodgers; R. Uhlig (2006). "Tecnología de virtualización de Intel: soporte de hardware para una virtualización eficiente del procesador" (PDF) . Intel Technology Journal . 10 (3). Intel: 167–178 . doi : 10.1535/itj.1003.01 . Archivado del original (PDF) el 25 de septiembre de 2012. Recuperado el 6 de julio de 2008 .
  27. Gillespie, Matt (12 de noviembre de 2007). "Mejores prácticas para mejoras de paravirtualización de la tecnología de virtualización de Intel: EPT y VT-d" . Intel Software Network . Intel. Archivado del original el 26 de diciembre de 2008. Recuperado el 6 de julio de 2008 .
  28. "Primero el tictac, ahora el tac: Microarquitectura Intel de próxima generación (Nehalem)" (PDF) (Comunicado de prensa). Intel. Archivado (PDF) del original el 26 de enero de 2009. Consultado el 6 de julio de 2008 .
  29. "Informe tecnológico: Tecnología de virtualización Nehalem de la microarquitectura de Intel" (PDF) . Intel. 25 de marzo de 2009. Archivado (PDF) del original el 7 de junio de 2011. Consultado el 3 de noviembre de 2009 .
  30. Archivado el 21/02/2014 en Wayback Machine : "Intel añadió el modo invitado sin restricciones en la microarquitectura Westmere y en las CPU Intel posteriores. Utiliza EPT para traducir el acceso a la dirección física del invitado a la dirección física del host. Con este modo, se permite VMEnter sin habilitar la paginación."
  31. "Si el control de ejecución de máquina virtual "invitado sin restricciones" es 1, el control de ejecución de máquina virtual "habilitar EPT" también debe ser 1."
  32. "Procesadores Intel Core vPro de 4.ª generación con Intel VMCS Shadowing" (PDF) . Intel . 2013. Consultado el 16 de diciembre de 2014 .
  33. Comprensión de la tecnología de virtualización de Intel (VT). Archivado el 8 de septiembre de 2014 en Wayback Machine . Consultado el 1 de septiembre de 2014.
  34. El "qué, dónde y por qué" del seguimiento de máquinas virtuales. Archivado el 3 de septiembre de 2014 en Wayback Machine . Consultado el 1 de septiembre de 2014.
  35. VIA presenta los nuevos procesadores de la serie VIA Nano 3000. Archivado el 22 de enero de 2013 en Wayback Machine .
  36. "Solución para portátiles: Procesador Kaixian ZX-C + Chipset VX11PH" (PDF) . Archivado del original (PDF) el 12 de junio de 2020. Consultado el 12 de junio de 2020 .
  37. Wei Huang, Introducción del controlador de interrupciones virtuales avanzado de AMD, archivado el 14 de julio de 2014 en Wayback Machine , XenSummit 2012
  38. Jörg Rödel (agosto de 2012). "Virtualización de interrupciones de próxima generación para KVM" (PDF) . AMD. Archivado (PDF) del original el 4 de marzo de 2016. Recuperado el 12 de julio de 2014 .
  39. " [ Xen-devel ] [ RFC PATCH 0/9 ] Introduce AMD SVM AVIC" . www.mail-archive.com . Archivado del original el 2 de febrero de 2017 . Recuperado el 4 de mayo de 2018 .
  40. Jun Nakajimaa (13 de diciembre de 2012). "Revisión de características nuevas y no utilizadas para la virtualización de interrupciones/APIC" (PDF) . Intel. Archivado (PDF) del original el 21 de abril de 2015. Recuperado el 12 de julio de 2014 .
  41. Khang Nguyen (17 de diciembre de 2013). "Pruebas de rendimiento de virtualización de APIC e Iozone" . software.intel.com . Archivado del original el 14 de julio de 2014. Consultado el 12 de julio de 2014 .
  42. "Informe del producto Procesador Intel Xeon E5-4600 v2 Familia de productos" (PDF) . Intel. 14 de marzo de 2014. Archivado (PDF) del original el 14 de julio de 2014. Consultado el 12 de julio de 2014 .
  43. "Soporte de hardware de la plataforma Intel para virtualización de E/S" . Intel.com. 10 de agosto de 2006. Archivado del original el 20 de enero de 2007. Consultado el 4 de febrero de 2012 .
  44. "Virtualización de Linux y paso de PCI" . IBM. Archivado del original el 1 de noviembre de 2009. Consultado el 10 de noviembre de 2010 .
  45. "Especificación de la tecnología de virtualización de E/S de AMD (IOMMU), revisión 1.26" (PDF) . Archivado (PDF) del original el 24/01/2011 . Consultado el 24/05/2011 .
  46. "Especificación de la arquitectura de la tecnología de virtualización de Intel para E/S dirigidas (VT-d)" . Archivado del original el 3 de abril de 2013. Consultado el 4 de febrero de 2012 .
  47. "Lista de CPU compatibles con la tecnología de virtualización Intel para E/S dirigidas (VT-d)" . Ark.intel.com. Archivado del original el 27/10/2010 . Consultado el 04/02/2012 .
  48. "Aviso de cambio de ingeniería de PCI-SIG: restablecimiento del nivel de función (FLR)" (PDF) . pcisig.com . 27 de junio de 2006. Archivado (PDF) del original el 4 de marzo de 2016. Consultado el 10 de enero de 2014 .
  49. "Xen VT-d" . xen.org . 6 de junio de 2013. Archivado del original el 9 de febrero de 2014. Consultado el 10 de enero de 2014 .
  50. "Cómo asignar dispositivos con VT-d en KVM" . linux-kvm.org . 23 de abril de 2014. Archivado del original el 10 de marzo de 2015. Consultado el 5 de marzo de 2015 .
  51. "Tecnología de virtualización de Intel para conectividad (VT-c)" (PDF) . Intel.com. Archivado (PDF) del original el 22 de febrero de 2016. Consultado el 14 de febrero de 2018 .
  52. "Especificaciones de virtualización de E/S (IOV) de PCI-SIG" . Pcisig.com. 31 de marzo de 2011. Archivado del original el 15 de enero de 2012. Consultado el 4 de febrero de 2012 .
  53. 1 2 "Intel Look Inside: Intel Ethernet" (PDF) . Intel . 27 de noviembre de 2014. pág. 104. Archivado del original (PDF) el 4 de marzo de 2016. Recuperado el 26 de marzo de 2015 . 
  54. Yaozu Dong; Zhao Yu; Greg Rose (2008). "Redes SR-IOV en Xen: arquitectura, diseño e implementación" . usenix.org . USENIX . Archivado del original el 9 de enero de 2014. Consultado el 10 de enero de 2014 .
  55. Patrick Kutch; Brian Johnson; Greg Rose (septiembre de 2011). "Introducción a la partición flexible de puertos de Intel mediante la tecnología SR-IOV" (PDF) . Intel . Archivado del original (PDF) el 7 de agosto de 2015. Recuperado el 24 de septiembre de 2015 .
  56. "Infraestructura flexible en la nube de la NASA: Trasladando aplicaciones de clúster a la nube" (PDF) . Intel . Archivado del original (PDF) el 22/12/2012 . Consultado el 08/01/2014 .
  57. "Redes mejoradas en la nube de AWS" . Scalable Logic. 31/12/2013. Archivado del original el 09/01/2014 . Consultado el 08/01/2014 .
  58. "Redes mejoradas en la nube de AWS - Parte 2" . Scalable Logic. 31/12/2013. Archivado del original el 10/01/2014 . Consultado el 08/01/2014 .
  • Todo lo que necesitas saber sobre la tecnología de virtualización de Intel. Archivado en ghostarchive.org el 10 de mayo de 2022.
  • Curso especial en la Universidad de San Francisco sobre Intel EM64T y extensiones VT (2007)
  • Curso de dos días de código abierto y acceso abierto sobre cómo escribir un VMM VT-x
Obtenido de " https://en.wikipedia.org/w/index.php?title=X86_virtualization&oldid=1362917320#AMD_virtualization_(AMD-V) "