CPU虛擬化的作用是什么?
CPU虛擬化技術(shù)很有用。比如在Win10系統(tǒng)中運(yùn)行基于Win XP或Win7的應(yīng)用時(shí),程序可以正常運(yùn)行,不存在不兼容的情況(有些程序是互相兼容的)
性問(wèn)題除外)。一般有軟件虛擬化和硬件虛擬化兩種。軟件虛擬化效率低,資源消耗高,而硬件虛擬化可以大大提高效率,加快程序運(yùn)行。
另外,虛擬機(jī)也是一樣,只是虛擬主機(jī)對(duì)系統(tǒng)資源的消耗很可怕,但是有了硬件級(jí)的VT技術(shù),也方便了虛擬主機(jī)的部署。
虛擬化技術(shù)分為服務(wù)器虛擬化、存儲(chǔ)虛擬化、網(wǎng)絡(luò)虛擬化和應(yīng)用虛擬化。
服務(wù)器虛擬化技術(shù)根據(jù)虛擬對(duì)象可以分為CPU虛擬化、內(nèi)存虛擬化和I/O虛擬化。根據(jù)虛擬化的程度,可以分為完全虛擬化、半虛擬化和硬件輔助虛擬化。
通過(guò)結(jié)合不同的虛擬化對(duì)象和程度,可以獲得九種不同的服務(wù)器虛擬化技術(shù)。
然后詳細(xì)介紹服務(wù)器虛擬化和CPU虛擬化,在后面的講解中詳細(xì)介紹內(nèi)存虛擬化和I/O虛擬化。
基于軟件的中央處理器虛擬化,因此得名,是以軟件的形式模擬每一條指令。通過(guò)前面的文章,我們知道有兩種常用的軟件虛擬化技術(shù):優(yōu)先級(jí)壓縮和二進(jìn)制代碼翻譯。這兩種技術(shù)很常見(jiàn),可以用于所有虛擬化類(lèi)型。讓我們將截取和虛擬化結(jié)合起來(lái),看看CPU軟件虛擬化是如何完成的。
首先要了解一些必要的硬件知識(shí)。X86體系結(jié)構(gòu)提供了四個(gè)CPU特權(quán)級(jí)別,以使上層軟件(操作系統(tǒng)、應(yīng)用程序)能夠訪(fǎng)問(wèn)硬件,環(huán)0是最多的
最高級(jí)別,環(huán)1第二,環(huán)2第二,環(huán)3最低。
一般由于操作系統(tǒng)需要直接訪(fǎng)問(wèn)硬件和內(nèi)存,其代碼需要運(yùn)行在最高級(jí)別的Ring 0上,而應(yīng)用程序代碼運(yùn)行在最低級(jí)別的Ring 3上。如果要訪(fǎng)問(wèn)硬件和內(nèi)存,比如設(shè)備訪(fǎng)問(wèn)和文件寫(xiě)入,必須執(zhí)行相關(guān)的系統(tǒng)調(diào)用,CPU的運(yùn)行級(jí)別會(huì)從環(huán)3切換到環(huán)0。完成后會(huì)再次切換回來(lái)。用戶(hù)模式和內(nèi)核模式切換的熟悉本質(zhì)就來(lái)自于此。
虛擬化的實(shí)現(xiàn)也是基于這個(gè)思路。VMM本質(zhì)上是一個(gè)主機(jī)操作系統(tǒng),運(yùn)行在環(huán)0上,客戶(hù)操作系統(tǒng)運(yùn)行在環(huán)1上,相應(yīng)級(jí)別的應(yīng)用程序運(yùn)行在環(huán)2和環(huán)3上。
CPU半虛擬化技術(shù)主要采用Hypercall技術(shù)。來(lái)賓操作系統(tǒng)代碼的一部分被更改,以便來(lái)賓操作系統(tǒng)將與特權(quán)指令相關(guān)的所有操作轉(zhuǎn)換成發(fā)送到VMM的Hypercall,該操作將繼續(xù)由VMM處理。Hypercall支持的兩種優(yōu)化方法,批處理和異步,使得通過(guò)Hypercall獲得類(lèi)似于物理機(jī)的速度成為可能
1.《cpu虛擬化有什么用 什么是CPU虛擬化_服務(wù)器虛擬化技術(shù)作用如何?》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無(wú)關(guān),侵刪請(qǐng)聯(lián)系頁(yè)腳下方聯(lián)系方式。
2.《cpu虛擬化有什么用 什么是CPU虛擬化_服務(wù)器虛擬化技術(shù)作用如何?》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。
3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來(lái)源地址,http://f99ss.com/guonei/1267922.html