[虛擬] Hypervisor

[virtualization] Hypervisor

What is hypervisor?

    A virtualization platform.

    - Enables you to run multiple operating systems on host computer(註1).

    - Provide isolated execution environments for each virtual machine.

    - Manage access between the guest operating systems(註2) running in virtual machines and the

        underlying hardware resources on host computer.

    註1:host computer 是指用來運行Hypervisor的電腦。   

    註2:guest operating systems 是指在Hypervisor上面運作的作業系統。

 

What is Type1 hypervisor?

    Type 1 hypervisors run directly on bare metal instead of within an operating system environment.

    - Provide the best performance, availability, and security of any form of hypervisor.

    - Example:Microsoft Hyper-V、Citrix XenServer、VMware ESX Server.

    - 從下圖就可以很清楚的看出,

         Type 1 hypervisors是直接執行在電腦硬體上,

         而不是在實體電腦的作業系統中,

         使得它的效能、可用性及安全性都會比較好。

 
 clip_image001[4]

 

What is Type2 hypervisor?

    Type 2 hypervisors run within an operating system environment running on the host computer.

    - Typically referred to as hosted virtualization.

    - Limits the number of virtual machines you can realistically run.

    - Example:Microsoft Virtual Server、VMware Server.

    - 從下圖就可以很清楚觀察到Type 1 hypervisors和Type 2 hypervisors的差別,

        Type 2 hypervisors是執行在作業系統環境中,

        缺點是由實體主機的作業系統管理所有虛擬機器中的運作,

        相對的,運作速度會比較慢,但是很方便,比較沒有相容性的問題。

 
 clip_image001[6]

 

其中Type 1 hypervisors又可根據其搭配的核心的不同,

分為Monolithic hypervisor或Microkernel hypervisors。

 

What is Monolithic Hypervisor?

    Monolithic hypervisors design involves using hypervisor-aware device drivers that are hosted within and

    managed.

    - Do not need a controlling, or parent, operating system.(benefit)

    - Device drivers must be specifically developed for the hypervisor.(drawback)

    - Example:VMware ESX Server.

    - 從上述可知,Monolithic hypervisor讓所有虛擬機器透過hypervisor-aware的驅動程式直接存取與目標硬

        體。

        這樣的優點是不需要控制用的作業系統,

        但缺點是此hypervisor-aware的驅動程式是被包含在核心中,

        彈性不足,對於硬體的限制很多,

        必須依據原廠指定的機種或是配備,才能成功地安裝與啟用。

 
 clip_image001[8]

 

What is Microkernel Hypervisors?

    Microkernel hypervisors have an operating system acting as the root, or parent, partition.

    - Do not require hypervisor-aware device drivers.

    - The parent partition provides the execution environment needed for device drivers to access

        the underlying physical hardware of the host computer.

    - Install device drivers only for physical devices in the operating system running in the parent

        partition.

    - The guest operating systems do not have direct access to the underlying hardware.

    - The guest operating systems can access physical devices only by communicating with the

        parent partition.

    - Example:Microsoft Hyper-V.

    - 從上述可知,Microkernel hypervisors和Monolithic hypervisor的差別在於

        不需要hypervisor-aware的驅動程式,

        現有的驅動程式可以立即被使用於虛擬化環境中,

        使得Hypervisor更小、更穩定,耗損也較小。

 
 clip_image001[14]

 

參考資料:

Understanding Microsoft Virtualization Solutions, by Mitch Tulloch with the Microsoft Virtualization Teams.