從VT-x到VT-d Intel虛擬化技術(shù)發(fā)展藍(lán)圖 |
更新時(shí)間:2007-12-26 9:53:26
。
編輯:映君
)
|
內(nèi)容導(dǎo)航:
從VT-x到VT-d Intel虛擬化技術(shù)發(fā)展藍(lán)圖
作為一個(gè)芯片輔助(Chip-Assisted)的虛擬化技術(shù),VT可以同時(shí)提升虛擬化效率和虛擬機(jī)的安全性,下面我們就來看看Intel VT帶來了什么架構(gòu)上的變遷。我們談?wù)摰闹饕荌A32上的VT技術(shù),一般稱之為VT-x,而在Itanium平臺(tái)上的VT技術(shù),被稱之為VT-i。
VT-x將IA32的CU操作擴(kuò)展為兩個(gè)forms(窗體):VMX root operation(根虛擬化操作)和VMX non-root operation(非根虛擬化操作),VMX root operation設(shè)計(jì)來供給VMM/Hypervisor使用,其行為跟傳統(tǒng)的IA32并無特別不同,而VMX non-root operation則是另一個(gè)處在VMM控制之下的IA32環(huán)境。所有的forms都能支持所有的四個(gè)Privileges levels,這樣在VMX non-root operation環(huán)境下運(yùn)行的虛擬機(jī)就能完全地利用Privilege 0等級(jí)。
和一些文章認(rèn)為的很不相同,VT同時(shí)為VMM和Guest OS提供了所有的Privilege運(yùn)行等級(jí),而不是只讓它們分別占據(jù)一個(gè)等級(jí):因?yàn)閂MM和Guest OS運(yùn)行于不同的兩個(gè)forms。
由此,GDT、IDT、LDT、TSS等這些指令就能正常地運(yùn)行于虛擬機(jī)內(nèi)部了,而在以往,這些特權(quán)指令需要模擬運(yùn)行。而VMM也能從模擬運(yùn)行特權(quán)指令當(dāng)中解放出來,這樣既能解決Ring Aliasing問題(軟件運(yùn)行的實(shí)際Ring與設(shè)計(jì)運(yùn)行的Ring不相同帶來的問題),又能解決Ring Compression問題,從而大大地提升運(yùn)行效率。Ring Compression問題的解決,也就解決了64bit客戶操作系統(tǒng)的運(yùn)行問題。
為了建立這種兩個(gè)虛擬化窗體的架構(gòu),VT-x設(shè)計(jì)了一個(gè)Virtual-Machine Control Structure(VMCS,虛擬機(jī)控制結(jié)構(gòu))的數(shù)據(jù)結(jié)構(gòu),包括了Guest-State Area(客戶狀態(tài)區(qū))和Host-State Area(主機(jī)狀態(tài)區(qū)),用來保存虛擬機(jī)以及主機(jī)的各種狀態(tài)參數(shù),并提供了VM entry和VM exit兩種操作在虛擬機(jī)與VMM之間切換,用戶可以通過在VMCS的VM-execution control fields里面指定在執(zhí)行何種指令/發(fā)生何種事件的時(shí)候,VMX non-root operation環(huán)境下的虛擬機(jī)就執(zhí)行VM exit,從而讓VMM獲得控制權(quán),因此VT-x解決了虛擬機(jī)的隔離問題,又解決了性能問題。
更多相關(guān):
投影機(jī)
|
文章來源:中國(guó)投影網(wǎng)
|
|
|
|