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