Hårdvaruvirtualisering

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 30 maj 2022; kontroller kräver 2 redigeringar .

Hårdvaruvirtualisering  – virtualisering med stöd för en speciell processorarkitektur . Till skillnad från mjukvaruvirtualisering är det med denna teknik möjligt att använda isolerade gästoperativsystem som styrs direkt av hypervisorn .

Gästoperativsystemet är oberoende av värdplattformens arkitektur och virtualiseringsplattformens implementering.

Hårdvaruvirtualisering ger prestanda som är jämförbar med prestandan hos en icke-virtualiserad maskin, vilket gör virtualisering praktisk och leder till att den används i stor utsträckning. De vanligaste virtualiseringsteknikerna är Intel -VT och AMD -V.

Intel VT (Intel Virtualization Technology)

VTx

VT-x, tidigare kodnamnet "Vanderpool", är en Intel-virtualiseringsteknik på x86-plattformen. Den 13 november 2005 släppte Intel två Pentium 4-modeller (modellerna 662 och 672), som var de första processorerna som stödde VT-x. VT-x stödflagga - "vmx"; på Linux kontrolleras det med kommandot grep vmx /proc/cpuinfo, på Mac OS X  kontrolleras det med sysctl machdep.cpu.features. [2]

Från och med 2015 stöder inte alla Intel-processorer VT-x, som används av Intel för att segmentera sin marknad . [3] VT-x-stöd kan variera även mellan olika versioner (identifierade med sSpec Number ) av samma modell. [4] [5] En komplett lista kan ses på Intels webbplats. [6] Inte ens i maj 2011 stöder Intel P6100-processorn som används i bärbara datorer hårdvaruvirtualisering. [7]

På vissa moderkort måste användare manuellt aktivera VT-x-virtualisering i BIOS -inställningarna . [åtta]

Intel började inkludera Extended Page Table (EPT) [9] virtualiseringsteknik för sidtabeller [10] med början med Nehalem- arkitekturprocessorerna som släpptes 2008 [11] [12] .

2010 lades "obegränsad gäst"-teknik till Westmere- arkitekturen, som består av logisk processorstöd i realmode och kräver att EPT ska fungera. [13] [14]

Från och med Haswell- arkitekturen , som tillkännagavs 2013, började Intel inkludera VMCS shadowing  , en teknik som accelererar kapslad hypervisorvirtualisering . [15] VMCS – virtuell maskinkontrollstruktur – en datastruktur i minnet som finns i exakt en instans per virtuell maskin och som hanteras av hypervisorn. Med varje ändring i exekveringskontexten mellan olika virtuella datorer, återställs VMCS-datastrukturen för den aktuella virtuella maskinen, vilket definierar tillståndet för den virtuella processorn för den virtuella datorn. [16] Om mer än en hypervisor används eller kapslade hypervisorer används, krävs flera VMCS-skuggning. Hårdvarustöd för skuggning gör VMSC-hanteringen mer effektiv.

VT-d

VT-d (Virtualization technology for directed I/O) är en I/O - virtualiseringsteknik skapad av Intel utöver dess datorvirtualiseringsteknologi ( VT ), kodnamnet Vanderpool. I/O-virtualisering låter dig överföra enheter på PCI-bussen (och mer moderna liknande bussar) till gästoperativsystemet , så att det kan arbeta med dem med sina vanliga verktyg . För att möjliggöra detta använder moderkortets logik en dedikerad I/O-minneshanteringsenhet ( IOMMU ) som fungerar på samma sätt som CPU MMU , med sidtabeller och en speciell DMA -ommappningstabell (DMAR) som hypervisorn tar emot från BIOS via ACPI . DMA-mappning är nödvändig eftersom hypervisorn inte vet något om detaljerna för enheten med minne på fysiska adresser som endast är kända för föraren. Med hjälp av DMAR skapar den mappningstabeller på ett sådant sätt att gästoperativsystemets drivrutin ser de virtuella IOMMU-adresserna på samma sätt som den skulle se fysiska utan den och hypervisorn.

Intel Virtualization Technology for Directed I/O (VT-d) är nästa stora steg mot omfattande hårdvarustöd för Intel-baserad plattformsvirtualisering. VT-d utökar Virtualization Technology (VT) som finns i IA-32 (VT-x) och Itanium (VT-i) och lägger till virtualiseringsstöd för nya I/O-enheter.

Hårdvarustöd
  • I/O-virtualisering dök först upp i Q35-kretsuppsättningen och stöds nu av alla moderkort som stöder Intel vPro- teknik .
  • Intel Virtualization Technology kräver en dator med en Intel-processor, BIOS, Virtual Machine Monitor ( VMM ) och, för vissa modeller, viss programvara som stöder denna teknik. Funktionalitet, prestanda och andra specifikationer kan variera beroende på hårdvara och programvara och kan kräva en BIOS-uppdatering.
  • Processorer som stöder virtualiseringsteknik för riktad I/O: Intel Core i7-920, Intel Core i7-940, Intel Core i7-950, Intel Core i7-870, Intel Core i7-860, Intel Core i5-650, Intel Core i5 - 660, Intel Core i5-670, Intel Core i5-540M, Intel Core i5-520M, etc. [1]
  • i7-920 stöder VT-x-teknik, om VT-d på kontoret. webbplats inte listad. [17]
Programvarustöd
  • Xen - hypervisorn har stöd för DMAR sedan version 3.3 för hårdvaruvirtualiserade domäner. Paravirtuella domäner kräver inte DMA-mappning.
  • Snart[ när? ] deklarerade stöd för Oracle VirtualBox mjukvaruteknik .
  • Linuxkärnan stöder experimentellt DMAR sedan version 2.6.28, vilket gör att den inbäddade hypervisorn (kvm) kan ge virtuella maskiner åtkomst till PCI-enheter.
  • Intel VT-d-stöd finns tillgängligt i Parallels Workstation 4.0 Extreme [2] och Parallels Server 4 Bare Metal [3]

AMD-virtualisering (AMD-V)

AMD utvecklade sin första generationens virtualiseringstillägg med kodnamnet "Pacifica", och publicerade dem först som AMD Secure Virtual Machine (SVM) [18] , men marknadsförde dem senare under varumärket "AMD Virtualization", förkortat som "AMD-V". .

Den 23 maj 2006 släppte AMD Athlon 64 ("Orleans"), Athlon 64 X2 ("Windsor") och Athlon 64 FX ("Windsor") som de första AMD-processorerna att stödja denna teknik.

AMD-V-stöd tillhandahålls också på Athlon 64- och Athlon 64 X2 -processorfamiljerna av versionerna "F" eller "G" på Socket AM2 , Turion 64 X2 , och andra generationens [19] och tredje generationens [20] Opteron-processorer , som samt Phenom och Phenome II . Endast två Sempron- modeller stöder det: Huron och Sargas.

AMD Fusion-processorer stöder också AMD-V.

AMD-V stöds inte på Socket 939 -processorer .

Opteron-processorer som börjar med 0x10 Barcelona-familjen och Phenom II-processorer stöder en andra generation av hårdvaruvirtualiseringsteknik som kallas Rapid Virtualization Indexing (tidigare känd som Nested Page Tables vid tiden för dess utveckling), senare antagen av Intel som Extended Page Tables (EPT) .

Se även

Länkar

Anteckningar

  1. Sergey Ozerov, Alexander Karabuto. Virtualiseringstekniker: Igår, idag, imorgon, 2006 . Hämtad 1 juni 2011. Arkiverad från originalet 31 juli 2011.
  2. Se Intel-processormodeller som stöder hårdvaruvirtualisering Arkiverad 25 november 2012 på Intel 2012 Wayback Machine .
  3. Stokes, Jon Microsoft, Intel lurar på Windows 7:s "XP-läge" . Arstechnica.com (8 maj 2009). Hämtad 2 maj 2010. Arkiverad från originalet 23 mars 2010.
  4. Processor Spec Finder . Processorfinder.intel.com. Hämtad 2 maj 2010. Arkiverad från originalet 5 maj 2010.
  5. ↑ Information om Intel-processornummer . Intel . Intel (3 december 2007). Hämtad 3 oktober 2008. Arkiverad från originalet 13 september 2008.
  6. Intel Virtualization Technology List . Ark.intel.com. Hämtad 2 maj 2010. Arkiverad från originalet 7 december 2010.
  7. Intel Pentium P6100 (3M cache, 2,00 GHz) . Ark.intel.com. Datum för åtkomst: 4 februari 2012. Arkiverad från originalet den 4 juli 2011.
  8. Windows Virtual PC: Konfigurera BIOS . Microsoft. Hämtad 8 september 2010. Arkiverad från originalet 6 september 2010.
  9. Neiger, Gil; A. Santoni; F. Leung; D. Rodgers; R. Uhlig. Intel Virtualization Technology: Hårdvarustöd för effektiv processorvirtualisering  // Intel Technology  Journal : journal. — Intel. — Vol. 10 , nej. 3 . - S. 167-178 . - doi : 10.1535/itj.1003.01 . Arkiverad från originalet den 17 mars 2008. Arkiverad kopia (inte tillgänglig länk) . Tillträdesdatum: 13 januari 2015. Arkiverad från originalet den 25 september 2012. 
  10. Gillespie, Matt Best Practices for Paravirtualization Enhancements from Intel Virtualization Technology: EPT and VT-d . Intel Software Network . Intel (12 november 2007). Hämtad 6 juli 2008. Arkiverad från originalet 26 december 2008.
  11. Intel. Först Tick, Now the Tock: Next Generation Intel Microarchitecture (Nehalem) (PDF). Pressmeddelande . Arkiverad från originalet den 26 januari 2009. Hämtad 2008-07-06 .
  12. Tekniköversikt: Intel Microarchitecture Nehalem Virtualization Technology (PDF). Intel (25 mars 2009). Hämtad 3 november 2009. Arkiverad från originalet 7 juni 2011.
  13. http://2013.asiabsdcon.org/papers/abc2013-P5A-paper.pdf Arkiverad 21 februari 2014 på Wayback Machine : "Intel lade till obegränsat gästläge på Westmere mikroarkitektur och senare Intel-processorer, den använder EPT för att översätt gästens fysiska adressåtkomst till värdens fysiska adress. Med det här läget tillåts VMEnter utan aktivera personsökning."
  14. http://download.intel.com/products/processor/manual/326019.pdf Arkiverad 18 april 2013 på Wayback Machine : "Om den "obegränsade gästen" VM-exekveringskontrollen är 1, "aktivera EPT" VM -exekveringskontrollen måste också vara 1"
  15. 4:e generationens Intel Core vPro-processorer med Intel VMCS Shadowing (PDF). Intel (2013). Hämtad: 16 december 2014.
  16. Förstå Intel Virtualization Technology (VT). Arkiverad från originalet den 8 september 2014. Hämtad 2014-09-01
  17. ARK | Processorfunktionsfilter . Hämtad 9 maj 2013. Arkiverad från originalet 26 augusti 2014.
  18. 33047_SecureVirtualMachineManual_3-0.book (PDF). Hämtad 2 maj 2010. Arkiverad från originalet 11 maj 2013.
  19. Vilka är de viktigaste skillnaderna mellan andra generationens AMD Opteron-processorer och första generationens AMD Opteron-processorer? publisher=Amd.com (inte tillgänglig länk) . Hämtad 4 februari 2012. Arkiverad från originalet 11 maj 2013. 
  20. Vilka virtualiseringsförbättringar har tredje generationens AMD Opteron-processorer? (inte tillgänglig länk) . amd.com. Hämtad 4 februari 2012. Arkiverad från originalet 11 maj 2013.