零聲Linux內(nèi)核源碼 內(nèi)存調(diào)優(yōu) 文件系統(tǒng) 進(jìn)程管理 設(shè)備驅(qū)動(dòng) 網(wǎng)絡(luò)協(xié)議棧
了建立這種兩個(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ū)),用來(lái)保存虛擬機(jī)以及主機(jī)的各種狀態(tài)參數(shù),并提供了VM entry和VM exit兩種操作在虛擬機(jī)與VMM之間切換,并在切換時(shí)會(huì)自動(dòng)查詢和更新VMCS,加速guest狀態(tài)切換時(shí)間。這樣非根模式下敏感指令不再是直接執(zhí)行或者通過(guò)陷入再模擬的方式執(zhí)行,而是通過(guò)VM exit和VM entry這兩個(gè)操作完成切換,既解決了虛擬機(jī)的隔離問(wèn)題,又解決了性能問(wèn)題。
標(biāo)簽: