-
virtualization techniquesOperating System 2015. 3. 6. 16:43hardware SolutionHardware-Assist Virtualization :CPU의 지원을 받음으로써 가상화 방식의 가장 큰 과부화였던 Binary Translation이 없앴다.Non-Root mode와 root mode privilege level을 가진다.AMD 가상화 (AMD-V)64비트 x86 아키텍처에 대한 AMD의 가상화 확장인텔 가상화 기술 (인텔 VT)인텔 VT는 IA-32 (VT-x)를 위한 가상화 기술, IA-64 (VT-i)를 위한 가상화 기술, Directed I/O (VT-d)를 위한 가상화 기술, Connectivity (VT-c)를 위한 가상화 기술로 이루어져 있다Software SolutionBinary TranslationHyper callvirtualization techniquesemulator : 운영체제와 하드웨어를 1:1로 matching하여 명령어를 수정해준다.emulation engine이 guest OS와 HW사이에 binary translation을 수행한다.예를 들어 guestOS가 Andriod이고, HW가 intel이면, MOV r0,r1 명령어를 MOV EAX, EDX 명령어로 변환한다.Full Virtualization : guest OS의 수정이 필요 없으며, 시스템 전체를 가상화한다.guest OS와 HW사이에 ring0레벨의 Virtual Machine Monitor(=hypervisor) 를 가진다.VMM은 가상머신을 모니터링하는 소프트웨어 계층으로 하드웨어 자원관리, 가상 머신 스케쥴링 등 가상머신을 동작시키는데 필요한 모든 작업을 담당한다. Binary Translation을 수행한다.Para Virtualization : guest OS의 수정이 필요하다.modified guest OS와 HW사이에 ring0레벨의 Virtual Machine Monitor(=hypervisor) 를 가진다.KVM도 type1으로 보기그렇고, Xen도 애매한 반가상화라고 부르는게 참 구분이 애매모호해보인다.요즘엔 기술의 발전으로 type1이든 type2이든 성능에서는 크게 차이를 보이지 않는다.튜닝이나 코딩만 잘하면 된다...CPU 가상화특권 명령, 제어 명령, 동작 명령
I/O 가상화
MMU가상화 : physical memory에 접근하는 모든 특권 명령어는 trap되고, 새로이 허용된 영역에 mapping된 주소로 대체된다.
GPU가상화 :
split Device Driver
Direct Assignment
IOMMU
'Operating System' 카테고리의 다른 글
SPT, NPT (0) 2015.03.06 concurrency (0) 2015.02.15 common, segment,system Register and EFLAGS (0) 2014.01.20 GDT, segment descriptor (0) 2014.01.14 Task 상태정의 (0) 2013.06.14