[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是直接執行在電腦硬體上,
而不是在實體電腦的作業系統中,
使得它的效能、可用性及安全性都會比較好。
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是執行在作業系統環境中,
缺點是由實體主機的作業系統管理所有虛擬機器中的運作,
相對的,運作速度會比較慢,但是很方便,比較沒有相容性的問題。
其中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的驅動程式是被包含在核心中,
彈性不足,對於硬體的限制很多,
必須依據原廠指定的機種或是配備,才能成功地安裝與啟用。
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更小、更穩定,耗損也較小。
參考資料:
Understanding Microsoft Virtualization Solutions, by Mitch Tulloch with the Microsoft Virtualization Teams.