x86 가상화

x86 virtualization

x86 가상화는 x86/x86-64 CPU에서 하드웨어 지원 가상화 기능을 사용하는 것입니다.

1990년대 후반 x86 가상화는 프로세서의 하드웨어 지원 가상화 기능의 부족을 보완하면서 적절한 성능을 얻기 위해 필요한 복잡한 소프트웨어 기술을 통해 실현되었습니다.2005년과 2006년에 인텔(VT-x)과 AMD(AMD-V)는 모두 하드웨어 가상화 지원을 제한적으로 도입하여 가상화 소프트웨어를 심플하게 만들 수 있었지만 신속한 이점은 [1]거의 없었습니다.새로운 프로세서 모델에서는 하드웨어 지원이 강화되어 속도가 대폭 향상되었습니다.

소프트웨어 기반 가상화

다음 설명에서는 x86 아키텍처 보호 모드의 가상화에만 초점을 맞춥니다.

보호 모드에서는 운영 체제 커널은 링 0과 같은 더 높은 권한으로 실행되고 애플리케이션은 [citation needed]링 3과 같은 더 낮은 권한으로 실행됩니다.소프트웨어 기반 가상화에서는 호스트 OS는 하드웨어에 직접 액세스할 수 있지만 게스트 OS는 호스트 OS의 다른 애플리케이션과 마찬가지로 하드웨어에 대한 액세스가 제한됩니다.이 제한을 극복하기 위해 x86 소프트웨어 기반 가상화에서 사용되는 접근법 중 하나는 링 박탈이라고 합니다.이것은 0보다 높은 링([2]낮은 특권)에서 게스트 OS를 실행하는 것입니다.

보호 모드 가상화를 가능하게 한 세 가지 기술은 다음과 같습니다.

  • 바이너리 변환POPF 등의 특정 링0 명령어를 ring 3 명령어로 고쳐 쓰는데 사용됩니다.이 명령어가 없으면 링0 [3][4]: 3 위에서 실행되었을 때 사일런트하게 실패하거나 동작이 달라지기 때문에 기존의 트랩 앤 에뮬레이트 가상화가 불가능합니다.[4]: 1 [5]성능을 향상시키려면 변환된 기본 블록일관된 방식으로 캐시하여 코드 패치(: VxD에서 사용), 게스트 OS에 의한 페이지 재사용 또는 자체 수정 코드[6]감지해야 합니다.
  • 프로세서에서 사용되는 많은 주요 데이터 구조를 그림자화해야 합니다.대부분의 운영체제는 페이징된 가상메모리를 사용하며 게스트 OS가 MMU에 직접 액세스할 수 있도록 하면 가상화 매니저에 의한 제어가 상실되므로 x86 MMU의 작업 중 일부는 섀도 페이지 [7]: 5 [4]: 2 테이블이라고 불리는 기술을 사용하여 게스트 OS용 소프트웨어로 복제해야 합니다.여기에는 액세스 시도를 트랩하여 소프트웨어 대신 에뮬레이트함으로써 게스트 OS가 실제 페이지 테이블엔트리에 대한 액세스를 거부합니다.x86 아키텍처는 숨겨진 상태를 사용하여 세그먼트 기술자를 프로세서에 저장하기 때문에 세그먼트 기술자가 프로세서에 로드되면 해당 기술자가 로드된 메모리가 덮어쓰기되어 프로세서로부터 기술자를 가져올 수 없습니다.따라서 게스트 [5]OS가 디스크립터 테이블에 추가한 변경을 추적하려면 섀도 디스크립터 테이블을 사용해야 합니다.
  • I/O 디바이스 에뮬레이션:게스트 OS에서 지원되지 않는 디바이스는 호스트 [8]OS에서 실행되는 디바이스 에뮬레이터로 에뮬레이트해야 합니다.

이러한 기술은 IBM System/[4]: 10 [9]: 17 and 21 370과 같은 기본적으로 가상화 가능한 아키텍처에서 실행되는 VM에 비해 MMU 가상화 지원 부족으로 인해 일부 성능 오버헤드가 발생합니다.

종래의 메인프레임에서는, 종래의 타입 1 하이퍼바이저는 독립적이고, operating system에 의존하거나 유저 애플리케이션 자체를 실행하지 않았습니다.반면 최초의 x86 가상화 제품은 워크스테이션 컴퓨터를 대상으로 하며 호스트 OS(타입 2 하이퍼바이저)[8]에서 실행되는 커널 모듈에 하이퍼바이저를 내장하여 호스트 OS 내에서 게스트 OS를 실행했습니다.

하드웨어 지원이 없는 x86 아키텍처가 Popek Goldberg에 의해 기술된 바와 같이 가상화 가능한지에 대해서는 몇 가지 논란이 있었습니다.VMware의 연구진은 2006년 ASPLOS 논문에서 위의 기술을 통해 Popek 및 Goldberg의 세 가지 기준을 충족한다는 의미에서 x86 플랫폼을 가상화할 수 있게 되었다고 지적했습니다.단, 기존의 트랩 앤 에뮬레이트 기술은 [4]: 2–3 아닙니다.

Denali, L4Xen같은 다른 시스템에서는 반가상화라고 하는 다른 경로가 사용되었습니다. 반가상화에서는 가상화가 어려운 실제 x86 명령 집합의 일부를 구현하지 않는 운영 체제를 포팅해야 합니다.반가상화 I/O는 원본 SOSP'03 Xen [10]문서에서 설명한 바와 같이 상당한 성능 이점을 제공합니다.

x86-64(AMD64)의 초기 버전에서는 롱 모드에서 세그먼트화가 지원되지 않기 때문에 소프트웨어만의 완전한 가상화는 허용되지 않았습니다.그 때문에 하이퍼바이저의 메모리 보호, 특히 게스트 커널 주소 [11][12]: 11 and 20 공간에서 실행되는 트랩 핸들러를 보호할 수 없었습니다.리비전 D 이후의 64비트 AMD 프로세서(일반적으로 90nm 이하로 제조된 프로세서)에서는 롱 모드에서의 세그멘테이션에 대한 기본 지원이 추가되어 바이너리 변환을 통해 64비트 호스트에서 64비트 게스트를 실행할 수 있게 되었습니다.인텔은 x86-64 구현(인텔 64)에 세그멘테이션 지원을 추가하지 않아 인텔 CPU에서는 64비트 소프트웨어만의 가상화가 불가능하지만 인텔 VT-x 지원으로 인텔 [13][14]: 4 플랫폼에서는 64비트 하드웨어 지원 가상화가 가능합니다.

일부 플랫폼에서는 기본 프로세서가 64비트이고 필요한 가상화 확장을 지원하는 경우 32비트 호스트 OS에서 64비트 게스트를 실행할 수 있습니다.

하드웨어 지원 가상화

2005년과 2006년에 인텔과 AMD(독립하여 동작)는 x86 아키텍처에 대한 새로운 프로세서 확장을 만들었습니다.x86 하드웨어 가상화의 제1세대는 특권 명령의 문제에 대처했습니다.가상화된 시스템 메모리의 낮은 성능 문제는 나중에 칩셋에 추가된 MMU 가상화를 통해 해결되었습니다.

중앙처리장치

가상 8086 모드

인텔은 80286 프로텍트 모드만으로는 동시 DOS 애플리케이션을 제대로 실행하기에 적합하지 않았던 경험을 바탕으로 80386 칩에 가상 8086 모드를 도입하여 386 이후의 칩에 가상화 8086 프로세서를 탑재하였습니다.그러나 보호 모드 자체를 가상화하기 위한 하드웨어 지원은 20년 [15]후에 사용할 수 있게 되었습니다.

AMD 가상화(AMD-V)

AMD Phenom 다이

AMD는 코드명 「Pacifica」로 제1세대 가상화 확장을 개발해, 처음에는 AMD Secure Virtual Machine(SVM)[16]으로 공개했지만, 나중에 AMD Virtualization(AMD-V)이라는 상표로 판매했습니다.

2006년 5월 23일 AMD는 이 기술을 지원하는 최초의 AMD 프로세서로 Athlon 64(올레앙), Athlon 64 X2(윈저) 및 Athlon 64 FX(윈저)를 출시했습니다.

AMD-V 기능은 소켓 AM2, Turion 64 X2, Opteron 2세대[17] 및 3세대,[18] PhenomPhenom II 프로세서의 리비전 "F" 또는 "G"를 가진 Athlon 64 및 Athlon 64 X2 프로세서에도 적용됩니다.APU Fusion 프로세서는 AMD-V를 지원합니다.AMD-V는 소켓 939 프로세서에서 지원되지 않습니다.이를 지원하는 Sempron 프로세서는 APUHuron, Regor, Sargas 데스크톱 CPU뿐입니다.

AMD Opteron CPU는 패밀리 0x10 Barcelon 시리즈부터 시작되며 Phenom II CPU는 Rapid Virtualization Indexing(구 개발 중에는 Nested Page Tables)이라고 불리는 제2세대 하드웨어 가상화 테크놀로지(이후 확장 페이지 테이블(EPT)로 채택)를 지원합니다.

2019년 현재 모든 Zen 기반 AMD 프로세서는 AMD-V를 지원합니다.

AMD-V의 CPU 플래그는 "svm"입니다.는 Dmesg 또는 sysctl을 통한 BSD 파생상품Linux를 통한/proc/cpuinfoAMD-V의 명령에는 VMRUN, VMLOAD, VMSAVE, CLGI, VMMALL, INVLPGA, SKINIT 및 STGI가 포함됩니다.[19]

일부 메인보드에서는 애플리케이션이 [20]AMD SVM 기능을 사용하려면 먼저 BIOS 설정에서 AMD SVM 기능을 사용하도록 설정해야 합니다.

인텔 가상화 (VT-x)

인텔 Core i7 (Bloomfield) CPU

이전에는 코드명 「Vanderpool」로 불리던 VT-x는, x86 플랫폼에서의 인텔의 가상화 테크놀로지를 나타냅니다.2005년 11월 13일 인텔은 VT-x를 지원하는 최초의 인텔 프로세서로서 Pentium 4 (모델 662 및 672)의 2가지 모델을 출시했습니다.VT-x 기능의 CPU 플래그는 "vmx"입니다.Linux 에서는 이 플래그를 확인할 수 있습니다./proc/cpuinfo또는 macOS에서sysctl machdep.cpu.features를 클릭합니다.[19]

VMX는 Virtual Machine Extensions의 약자로 VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUNCH, VMRESUME, VMXOFF, VMXON, INVPT, VMVID 등 13개의 새 명령을 추가합니다.이러한 지침을 사용하면 게스트 OS가 전체 권한(링 0)으로 실행되는 것으로 인식되지만 호스트 OS는 보호 상태를 유지하는 가상 실행 모드를 시작하거나 종료할 수 있습니다.

2015년 현재 거의 모든 최신 서버, 데스크톱 및 모바일 인텔 프로세서가 VT-x를 지원하며 일부 인텔 ATOM 프로세서는 주요 [22]예외입니다.메인보드에 따라서는, 애플리케이션이 [23]인텔의 VT-x 기능을 사용하려면 , BIOS 셋업으로 인텔의 VT-x 기능을 유효하게 할 필요가 있습니다.

인텔은 2008년 출시된 Nehalem [26][27]아키텍처부터 페이지 테이블 [25]가상화 테크놀로지인 EPT(Extended [24]Page Tables)를 도입하기 시작했습니다.2010년에 Westmere는 논리 프로세서를 리얼 모드로 직접 기동할 수 있도록 서포트를 추가했습니다.이 기능은 EPT가 [28][29]동작하려면 "제한되지 않은 게스트"라고 불립니다.

는 하스웰 마이크로 아키텍처(2013년에 발표되)이후, 인텔은 VMMs.[30]메모리에 있는 동안 VMM에 의해 운영되고 있는 일단 정확히 말하자면 VM당, 존재하므로 가상 기계 제어 구조(VMCS)데이터 구조의 중첩된 가상화 가속시킨 기술로 VMCS shadowing을 포함하여는 실행 컨텍스트의 모든 변화하면서 시작했다.앙증맞은VMCS가 현재 VM에 대해 복원되어 VM의 가상 [31]프로세서 상태를 정의합니다.여러 VMM 또는 네스트된 VMM이 사용되면 에서 설명한 바와 같이 필요한 섀도 페이지테이블 관리와 유사한 문제가 발생합니다.이러한 경우 VMCS는 여러 번 음영 처리(네스트 처리의 경우)해야 하며 프로세서에 의한 하드웨어 지원이 없는 경우 소프트웨어에 부분적으로 구현해야 합니다.섀도우 VMCS 처리를 보다 효율적으로 하기 위해 인텔은 VMCS [32]섀도우링에 대한 하드웨어 지원을 구현했습니다.

VIA 가상화(VT 경유)

VIA Nano 3000 시리즈 프로세서와 인텔 VT-x와의 [33]호환성을 갖춘 VIA VT 가상화 테크놀로지 이상의 지원.EPT는 Nano [34]C4350AL과 마찬가지로 VIA QuadCore-E 및 Eden X4후속 제품인 Zhaoxin ZX-C에 탑재되어 있습니다.

인터럽트 가상화(AMD AVIC 및 인텔 APICv)

2012년에 AMD는 가상화 [35]환경의 인터럽트 오버헤드를 삭감하는 것을 목표로 하는 어드밴스드 버추얼 인터럽트 컨트롤러(AVIC)를 발표했습니다.발표된 바와 같이 이 테크놀로지는 x2APIC[36]지원하지 않습니다.2016년에는 AMD 패밀리 15h 모델 6Xh([37]Carrizo) 프로세서 이상에서 AVIC를 사용할 수 있습니다.

또한 2012년 인텔은 인터럽트 및 APIC 가상화와 같은 테크놀로지를 발표했습니다.이 테크놀로지는 발표 당시 [38]브랜드명이 없었습니다.이후 APIC 가상화(APICv)[39]라는 브랜드로 출시되어 인텔 CPU의 Ivy Bridge EP 시리즈(2013년 말 출시) 및 Xeon E5-46xx v2(2014년 [40]초 출시)에서 상용화되었습니다.

그래픽스 처리 장치

그래픽스 가상화는 x86 아키텍처의 일부가 아닙니다.인텔·그래픽·버추얼라이제이션·테크놀로지(GVT)는, 최신 세대의 그래픽·아키텍쳐(architecture)의 일부로서 그래픽·버추얼라이제이션 기능을 제공합니다.AMD APUx86-64 명령 세트를 구현하지만 그래픽 가상화를 지원하지 않는 AMD 자체 그래픽 아키텍처(TeraScale, GCNRDNA)를 구현합니다.Larrabee는 x86 기반의 유일한 그래픽 마이크로아키텍처였지만 그래픽스 가상화 지원은 포함되지 않았을 가능성이 높습니다.

칩셋

메모리와 I/O 가상화는 칩셋[41]의해 실행됩니다.통상, 이러한 기능은, BIOS 로 유효하게 할 필요가 있습니다.BIOS 는 이러한 기능을 서포트할 수 있을 뿐만 아니라, 사용하도록 설정되어 있을 필요가 있습니다.

I/O MMU 가상화 (AMD-Vi 및 인텔 VT-d)

AMD-Vi 정보를 표시하는 Linux 커널 로그

IOMMU(Input/Output Memory Management Unit)를 사용하면 게스트 가상 머신이 DMA 인터럽트 재매핑을 통해 이더넷, 액셀러레이션 그래픽 카드, 하드 드라이브 컨트롤러 등의 주변 장치를 직접 사용할 수 있습니다.이를 PCI [42]패스스루라고 부르기도 합니다.

또, IOMMU 를 사용하면, operating·시스템은 메모리 주소 변환에 의해서, operating·시스템의 메모리 주소 공간보다 작은 주변 장치와의 통신을 가능하게 하기 위해서 필요한 바운스·버퍼를 제거할 수 있습니다.또, IOMMU 를 사용하면, operating system이나 하이퍼바이저가 버그나 악의 있는 하드웨어가 메모리 시큐러티를 해치는 것을 방지할 수 있습니다.

AMD와 Intel 모두 IOMMU 사양을 발표했습니다.

  • AMD의 I/O 가상화 테크놀로지 AMD-Vi(원래는 'AMD-Vi')IOMMU"[43]
  • 인텔의 「다이렉트 I/O를 위한 가상화 테크놀로지」(VT-d)[44]는, Core 2 아키텍처 [45]이후, 최신의 인텔·프로세서에 탑재되고 있습니다.

CPU 지원 외에 메인보드 칩셋과 시스템 펌웨어(BIOS 또는 UEFI) 모두 IOMMU I/O 가상화 기능을 완전히 지원해야 사용할 수 있습니다.FLR([46][47]기능 수준 재설정)을 지원하는 PCI 또는 PCI Express 디바이스만 이러한 방식으로 가상화할 수 있습니다. 가상 시스템 간에 다양한 디바이스 기능을 재할당하는 데 필요하기 때문입니다.할당되는 디바이스가 Message Signaled Interrupts(MSI; 메시지시그널링 인터럽트)를 지원하지 않는 경우 할당이 [48]가능해지려면 인터럽트 회선을 다른 디바이스와 공유해서는 안 됩니다.PCI/PCI-X-to-PCI Express 브리지 뒤에서 라우팅되는 모든 기존 PCI 디바이스는 게스트 가상 시스템에 한 번에만 할당할 수 있습니다. PCI Express 디바이스에는 이러한 제한이 없습니다.

네트워크 가상화(VT-c)

  • 인텔의 「접속성을 위한 가상화 테크놀로지」(VT-c).[49]
PCI-SIG 싱글루트 I/O 가상화(SR-IOV)

PCI-SIG Single Root I/O Virtualization(SR-IOV; 싱글루트 I/O 가상화)은 PCIe(PCIe) 네이티브 하드웨어를 기반으로 한 일련의 일반적인 (x86 고유하지 않은) I/O 가상화 방법을 제공합니다.PCI-SIG에 [50]의해 표준화되어 있습니다.

  • 주소 변환 서비스(ATS)는 주소 변환을 통해 PCI Express 전체에서 네이티브 IOV를 지원합니다.이러한 변환을 설정하려면 새로운 트랜잭션 지원이 필요합니다.
  • 싱글루트 IOV(SR-IOV 또는 SRIOV)는 기존의 싱글루트 복합 PCI Express 토폴로지에서 네이티브 IOV를 지원합니다.여러 개의 가상화된 [51]구성 공간을 구성하려면 새로운 장치 기능을 지원해야 합니다.
  • 멀티루트 IOV(MR-IOV)는 SR-IOV를 기반으로 구축하여 공통 PCI Express 계층을 공유하는 여러 루트 복합체를 제공함으로써 새로운 토폴로지(블레이드 서버 등)에서 네이티브 IOV를 지원합니다.

가장 일반적인 SR-IOV에서는 호스트 VMM이 지원되는 디바이스를 구성하여 가상 시스템 게스트가 이러한 "섀도"[52] 디바이스 리소스를 직접 구성하고 액세스할 수 있도록 구성 공간의 가상 "섀도"를 생성하고 할당합니다.SR-IOV를 사용하면 [53]게스트가 가상화된 네트워크 인터페이스에 직접 액세스할 수 있으므로 VMM의 개입이 방지되고 전체적인 [51]성능이 향상됩니다. 예를 들어, SR-IOV는 NASA의 가상화된 데이터[54] 센터와 Amazon Public [55][56]Cloud에서 베어 메탈 네트워크 대역폭의 95% 이상을 달성합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ x86 가상화를 위한 소프트웨어와 하드웨어 기술의 비교, Keith Adams와 Ole Ageen, VMware, ASPLOS'06 2006년 10월 21일부터 25일까지, 미국 캘리포니아주 새너제이에서 2010-08-20 Wayback Machine에 아카이브됨"놀랍게도 1세대 하드웨어 지원은 기존 소프트웨어 기술에 비해 거의 성능 우위를 제공하지 않습니다.이러한 상황은 VMM/게스트 이행 비용이 높고, 이러한 이행의 빈도나 비용을 관리할 때 소프트웨어의 유연성이 거의 없는 엄격한 프로그래밍 모델이 원인이라고 생각합니다.
  2. ^ "Intel Virtualization Technology Processor Virtualization Extensions and Intel Trusted execution Technology" (PDF). Intel.com. 2007. Archived (PDF) from the original on 2015-05-21. Retrieved 2016-12-12.
  3. ^ "USENIX Technical Program - Abstract - Security Symposium - 2000". Usenix.org. 2002-01-29. Archived from the original on 2010-06-10. Retrieved 2010-05-02.
  4. ^ a b c d e "A Comparison of Software and Hardware Techniques for x86 Virtualization" (PDF). VMware. Archived (PDF) from the original on 20 August 2010. Retrieved 8 September 2010.
  5. ^ a b 미국 특허 6,397,242
  6. ^ 미국 특허 6,704,925
  7. ^ "Virtualization: architectural considerations and other evaluation criteria" (PDF). VMware. Archived (PDF) from the original on 6 February 2011. Retrieved 8 September 2010.
  8. ^ a b 미국 특허 6,496,847
  9. ^ "VMware and Hardware Assist Technology" (PDF). Archived (PDF) from the original on 2011-07-17. Retrieved 2010-09-08.
  10. ^ "Xen and the Art of Virtualization" (PDF). Archived (PDF) from the original on 2014-09-29.
  11. ^ "How retiring segmentation in AMD64 long mode broke VMware". Pagetable.com. 2006-11-09. Archived from the original on 2011-07-18. Retrieved 2010-05-02.
  12. ^ "VMware and CPU Virtualization Technology" (PDF). VMware. Archived (PDF) from the original on 2011-07-17. Retrieved 2010-09-08.
  13. ^ "VMware KB: Hardware and firmware requirements for 64bit guest operating systems". Kb.vmware.com. Archived from the original on 2010-04-19. Retrieved 2010-05-02.
  14. ^ "Software and Hardware Techniques for x86 Virtualization" (PDF). Archived from the original (PDF) on 2010-01-05. Retrieved 2010-05-02.
  15. ^ Yager, Tom (2004-11-05). "Sending software to do hardware's job Hardware - InfoWorld". Images.infoworld.com. Archived from the original on 2014-10-18. Retrieved 2014-01-08.
  16. ^ "33047_SecureVirtualMachineManual_3-0.book" (PDF). Archived (PDF) from the original on 2012-03-05. Retrieved 2010-05-02.
  17. ^ "What are the main differences between Second-Generation AMD Opteron processors and first-generation AMD Opteron processors?". amd.com. Archived from the original on April 15, 2009. Retrieved 2012-02-04.
  18. ^ "What virtualization enhancements do Quad-Core AMD Opteron processors feature?". amd.com. Archived from the original on April 16, 2009. Retrieved 2012-02-04.
  19. ^ a b 프로세서가 하드웨어 가상화를 지원하는지 여부를 확인하려면 Wayback Machine Intel 2012에서 아카이브된 2012-11-25를 참조하십시오.
  20. ^ Inc, QNAP Systems. "How to enable Intel VTx and AMD SVM? QNAP". QNAP Systems, Inc. - Network Attached Storage (NAS). Retrieved 2020-12-23.
  21. ^ INTEL (October 2019). "Intel® 64 and IA-32 Architectures Software Developer's Manual". intel.com. Intel Corporation. Retrieved 2020-01-04.
  22. ^ "Intel Virtualization Technology List". Ark.intel.com. Archived from the original on 2010-10-27. Retrieved 2010-05-02.
  23. ^ "Windows Virtual PC: Configure BIOS". Microsoft. Archived from the original on 2010-09-06. Retrieved 2010-09-08.
  24. ^ Neiger, Gil; A. Santoni; F. Leung; D. Rodgers; R. Uhlig. "Intel Virtualization Technology: Hardware Support for Efficient Processor Virtualization" (PDF). Intel Technology Journal. Intel. 10 (3): 167–178. doi:10.1535/itj.1003.01. Archived from the original (PDF) on 2012-09-25. Retrieved 2008-07-06.
  25. ^ Gillespie, Matt (2007-11-12). "Best Practices for Paravirtualization Enhancements from Intel Virtualization Technology: EPT and VT-d". Intel Software Network. Intel. Archived from the original on 2008-12-26. Retrieved 2008-07-06.
  26. ^ "First the Tick, Now the Tock: Next Generation Intel Microarchitecture (Nehalem)" (PDF) (Press release). Intel. Archived (PDF) from the original on 2009-01-26. Retrieved 2008-07-06.
  27. ^ "Technology Brief: Intel Microarchitecture Nehalem Virtualization Technology" (PDF). Intel. 2009-03-25. Archived (PDF) from the original on 2011-06-07. Retrieved 2009-11-03.
  28. ^ [1] "인텔은 Westmere 마이크로아키텍처(architecture) 및 이후 인텔 CPU에 무제한 게스트 모드를 추가했습니다.EPT를 사용하여 게스트 물리 주소 액세스를 호스트의 물리 주소로 변환합니다.이 모드에서는, 이네이블 페이징을 사용하지 않는 VMEnter 가 허가됩니다.
  29. ^ [2] "제한되지 않은 게스트" VM 실행 컨트롤이 1인 경우 "EPT 활성화" VM 실행 컨트롤도 1이어야 합니다."
  30. ^ "4th-Gen Intel Core vPro Processors with Intel VMCS Shadowing" (PDF). Intel. 2013. Retrieved 2014-12-16.
  31. ^ 인텔 버추얼라이제이션 테크놀로지(VT)에 대해서2014년 9월 8일 Wayback Machine Retrived 2014-09-01에 보관
  32. ^ VMCS 섀도우잉의 '무엇, 장소, 이유'2014-09-03 Wayback Machine에서 2014-09-01 아카이브
  33. ^ VIA, 2013년 1월 22일 Wayback Machine에서 새로운 VIA Nano 3000 시리즈 프로세서 발표
  34. ^ "Notebook Solution: Kaixian ZX-C Processor + VX11PH Chipset" (PDF).
  35. ^ Wei Huang, AMD Advanced Virtual Interrupt Controller 소개, 2014-07-14년 Wayback Machine에서 아카이브된 XenSummit 2012
  36. ^ Jörg Rödel (August 2012). "Next-generation Interrupt Virtualization for KVM" (PDF). AMD. Archived (PDF) from the original on 2016-03-04. Retrieved 2014-07-12.
  37. ^ "[Xen-devel] [RFC PATCH 0/9] Introduce AMD SVM AVIC". www.mail-archive.com. Archived from the original on 2 February 2017. Retrieved 4 May 2018.
  38. ^ Jun Nakajimaa (2012-12-13). "Reviewing Unused and New Features for Interrupt/APIC Virtualization" (PDF). Intel. Archived (PDF) from the original on 2015-04-21. Retrieved 2014-07-12.
  39. ^ Khang Nguyen (2013-12-17). "APIC Virtualization Performance Testing and Iozone". software.intel.com. Archived from the original on 2014-07-14. Retrieved 2014-07-12.
  40. ^ "Product Brief Intel Xeon Processor E5-4600 v2 Product Family" (PDF). Intel. 2014-03-14. Archived (PDF) from the original on 2014-07-14. Retrieved 2014-07-12.
  41. ^ "Intel platform hardware support for I/O virtualization". Intel.com. 2006-08-10. Archived from the original on 2007-01-20. Retrieved 2012-02-04.
  42. ^ "Linux virtualization and PCI passthrough". IBM. Archived from the original on 1 November 2009. Retrieved 10 November 2010.
  43. ^ "AMD I/O Virtualization Technology (IOMMU) Specification Revision 1.26" (PDF). Archived (PDF) from the original on 2011-01-24. Retrieved 2011-05-24.
  44. ^ "Intel Virtualization Technology for Directed I/O (VT-d) Architecture Specification". Archived from the original on 2013-04-03. Retrieved 2012-02-04.
  45. ^ "Intel Virtualization Technology for Directed I/O (VT-d) Supported CPU List". Ark.intel.com. Archived from the original on 2010-10-27. Retrieved 2012-02-04.
  46. ^ "PCI-SIG Engineering Change Notice: Function Level Reset (FLR)" (PDF). pcisig.com. 2006-06-27. Archived (PDF) from the original on 2016-03-04. Retrieved 2014-01-10.
  47. ^ "Xen VT-d". xen.org. 2013-06-06. Archived from the original on 2014-02-09. Retrieved 2014-01-10.
  48. ^ "How to assign devices with VT-d in KVM". linux-kvm.org. 2014-04-23. Archived from the original on 2015-03-10. Retrieved 2015-03-05.
  49. ^ "Intel Virtualization Technology for Connectivity (VT-c)" (PDF). Intel.com. Archived (PDF) from the original on 2016-02-22. Retrieved 2018-02-14.
  50. ^ "PCI-SIG I/O Virtualization (IOV) Specifications". Pcisig.com. 2011-03-31. Archived from the original on 2012-01-15. Retrieved 2012-02-04.
  51. ^ a b "Intel Look Inside: Intel Ethernet" (PDF). Intel. November 27, 2014. p. 104. Archived (PDF) from the original on March 4, 2016. Retrieved March 26, 2015.
  52. ^ Yaozu Dong, Zhao Yu, Greg Rose (2008). "SR-IOV Networking in Xen: Architecture, Design and Implementation". usenix.org. USENIX. Archived from the original on 2014-01-09. Retrieved 2014-01-10.{{cite web}}: CS1 maint: 작성자 파라미터 사용(링크)
  53. ^ Patrick Kutch; Brian Johnson; Greg Rose (September 2011). "An Introduction to Intel Flexible Port Partitioning Using SR-IOV Technology" (PDF). Intel. Archived (PDF) from the original on August 7, 2015. Retrieved September 24, 2015.
  54. ^ "NASA's Flexible Cloud Fabric: Moving Cluster Applications to the Cloud" (PDF). Intel. Archived (PDF) from the original on 2012-12-22. Retrieved 2014-01-08.
  55. ^ "Enhanced Networking in the AWS Cloud". Scalable Logic. 2013-12-31. Archived from the original on 2014-01-09. Retrieved 2014-01-08.
  56. ^ "Enhanced Networking in the AWS Cloud - Part 2". Scalable Logic. 2013-12-31. Archived from the original on 2014-01-10. Retrieved 2014-01-08.

외부 링크