天天看點

虛拟化、完全虛拟化、半虛拟化和準虛拟化技術差別

虛拟化技術:百度百科中的定義是這樣的:虛拟化是一個廣義的術語,在計算機方面通常是指計算元件在虛拟的基礎上而不是真實的基礎上運作。虛拟化技術可以擴大硬體的容量,簡化軟體的重新配置過程。cpu的虛拟化技術可以單cpu模拟多cpu并行,允許一個平台同時運作多個作業系統,并且應用程式都可以在互相獨立的空間内運作而互不影響,進而顯著提高計算機的工作效率。這個定義已經比較完整了。

(完)全虛拟化技術:完全虛拟化技術又叫硬體輔助虛拟化技術,最初所使用的虛拟化技術就是全虛拟化(full virtualization)技術,它在虛拟機(vm)和硬體之間加了一個軟體層--hypervisor,或者叫做虛拟機管理程式(vmm)。hypervisor 可以劃分為兩大類。首先是類型 1,這種 hypervisor 是直接運作在實體硬體之上的。其次是類型 2,這種 hypervisor 運作在另一個作業系統(運作在實體硬體之上)中。類型 1 hypervisor 的一個例子是基于核心的虛拟機(kvm —— 它本身是一個基于作業系統的 hypervisor)。類型 2 hypervisor 包括 qemu 和 wine。

  因為運作在虛拟機上的作業系統通過hypervisor來最終分享硬體,是以虛拟機發出的指令需經過hypervisor捕獲并處理。為此每個客戶作業系統(guest os)所發出的指令都要被翻譯成cpu能識别的指令格式,這裡的客戶作業系統即是運作的虛拟機,是以hypervisor的工作負荷會很大,是以會占用一定的資源,是以在性能方面不如裸機。但是運作速度要快于硬體模拟。全虛拟化最大的優點就是運作在虛拟機上的作業系統沒有經過任何修改,唯一的限制就是作業系統必須能夠支援底層的硬體,不過目前的作業系統一般都能支援底層硬體,是以這個限制就變得微不足道了。全虛拟化技術如圖1所示。

虛拟化、完全虛拟化、半虛拟化和準虛拟化技術差別

圖1:全虛拟化技術

半/準虛拟化技術:半虛拟化技術是後來才出現的技術,半虛拟化技術英文是paravirtualization,也叫做準虛拟化技術,現在比較熱門,它就是在全虛拟化的基礎上,把客戶作業系統進行了修改,增加了一個專門的api,這個api可以将客戶作業系統發出的指令進行最優化,即不需要hypervisor耗費一定的資源進行翻譯操作,是以hypervisor的工作負擔變得非常的小,是以整體的性能也有很大的提高。不過缺點就是,要修改包含該api的作業系統,但是對于某些不含該api的作業系統(主要是windows)來說,就不行能用這種方法。半/準虛拟化技術如圖2所示。

虛拟化、完全虛拟化、半虛拟化和準虛拟化技術差別

圖2:半/準虛拟化技術

随着硬體虛拟化技術的逐漸演化,運作于intel平台的全虛拟化的性能已經超過了準虛拟化産品,這一點在64位的作業系統上表現的更為明顯。加之,全虛拟化不需要對客戶機作業系統做任何修改的固有優勢。可以預言,基于硬體的全虛拟化産品将是未來虛拟化技術的核心。

繼續閱讀