虚拟化、完全虚拟化、半虚拟化和准虚拟化技术区别
1.虛擬化技術:
百度百科中的定義是這樣的:虛擬化是一個廣義的術語,在計算機方面通常是指計算元件在虛擬的基礎上而不是真實的基礎上運行。虛擬化技術可以擴大硬件的容量,簡化軟件的重新配置過程。CPU的虛擬化技術可以單CPU模擬多CPU并行,允許一個平臺同時運行多個操作系統,并且應用程序都可以在相互獨立的空間內運行而互不影響,從而顯著提高計算機的工作效率。
2.(完)全虛擬化技術:
完全虛擬化技術又叫硬件輔助虛擬化技術,最初所使用的虛擬化技術就是全虛擬化(Full Virtualization)技術,它在虛擬機(VM)和硬件之間加了一個軟件層--Hypervisor,或者叫做虛擬機管理程序(VMM)。hypervisor 可以劃分為兩大類。首先是類型 1,這種 hypervisor 是直接運行在物理硬件之上的。其次是類型 2,這種 hypervisor 運行在另一個操作系統(運行在物理硬件之上)中。類型 1 hypervisor 的一個例子是基于內核的虛擬機(KVM —— 它本身是一個基于操作系統的 hypervisor)。類型 2 hypervisor 包括 QEMU 和 WINE。
因為運行在虛擬機上的操作系統通過Hypervisor來最終分享硬件,所以虛擬機發出的指令需經過Hypervisor捕獲并處理。為此每個客戶操作系統(Guest OS)所發出的指令都要被翻譯成CPU能識別的指令格式,這里的客戶操作系統即是運行的虛擬機,所以Hypervisor的工作負荷會很大,因此會占用一定的資源,所以在性能方面不如裸機。但是運行速度要快于硬件模擬。全虛擬化最大的優點就是運行在虛擬機上的操作系統沒有經過任何修改,唯一的限制就是操作系統必須能夠支持底層的硬件,不過目前的操作系統一般都能支持底層硬件,所以這個限制就變得微不足道了。全虛擬化技術如下圖所示:
?
3.半/準虛擬化技術:
半虛擬化技術是后來才出現的技術,半虛擬化技術英文是paravirtualization,也叫做準虛擬化技術,現在比較熱門,它就是在全虛擬化的基礎上,把客戶操作系統進行了修改,增加了一個專門的API,這個API可以將客戶操作系統發出的指令進行最優化,即不需要Hypervisor耗費一定的資源進行翻譯操作,因此Hypervisor的工作負擔變得非常的小,因此整體的性能也有很大的提高。不過缺點就是,要修改包含該API的操作系統,但是對于某些不含該API的操作系統(主要是windows)來說,就不行能用這種方法。半/準虛擬化技術如下圖所示:
?
總結
以上是生活随笔為你收集整理的虚拟化、完全虚拟化、半虚拟化和准虚拟化技术区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOs7中安装sonarQube服
- 下一篇: 有关架构图你需要了解的基础知识