新聞中心
內存虛擬化技術,具體的實現(xiàn)方法有哪兩種?
作者:佚名 2017-11-16 09:20:20
存儲
存儲軟件
虛擬化 操作系統(tǒng)的內存管理單元(Memory Management Unit,MMU)只能完成一次虛擬地址到物理地址的映射,但獲得的物理地址只是虛擬機物理地址而不是機器物理地址,所以需要VMM參與,以獲得總線上可以使用的機器地址為實現(xiàn)虛擬地址到機器地址的高效轉換,目前普遍采用的方法是由VMM根據(jù)映射f和g生成復合映射f·g并直接寫入MMU。

創(chuàng)新互聯(lián)建站-專業(yè)網站定制、快速模板網站建設、高性價比龍城網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式龍城網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋龍城地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。
引入內存虛擬化技術后,內存系統(tǒng)中存在3種地址。
機器地址(Machine Address,MA):真實硬件的機器地址,在地址總線上可以見到的地址信號。
虛擬機物理地址(Guest Physical Address,GPA):經過VMM抽象后虛擬機看到的偽物理地址。
虛擬地址(Virtual Address,VA):Guest OS提供給其應用程序使用的線性地址空間。
虛擬地址到虛擬機物理地址的映射關系,記作g
虛擬機物理地址到機器地址的映射關系,記作f
操作系統(tǒng)的內存管理單元(Memory Management Unit,MMU)只能完成一次虛擬地址到物理地址的映射,但獲得的物理地址只是虛擬機物理地址而不是機器物理地址,所以需要VMM參與,以獲得總線上可以使用的機器地址為實現(xiàn)虛擬地址到機器地址的高效轉換,目前普遍采用的方法是由VMM根據(jù)映射f和g生成復合映射f·g并直接寫入MMU,具體的實現(xiàn)方法有兩種:
MMU半虛擬化(MMU Paravirtualization)
這種方式主要為Xen所用
主要原理是:當Guest OS創(chuàng)建新頁表時,VMM從維護的空閑內存中為其分配頁面并進行注冊,以后,Guest OS對該頁表的寫操作都會陷入VMM進行驗證和轉換;VMM檢查頁表中的每一項,確保它們只映射到屬于該虛擬機的機器頁面,而且不包含對頁表頁面的可寫映射;然后,VMM會根據(jù)其維護的映射關系f,將頁表項中的虛擬機物理地址替換為相應的機器地址;***把修改過的頁表載入MMU,MMU就可以根據(jù)修改過的頁表直接完成虛擬地址到機器地址的轉換。這種方式的本質是將映射關系f·g直接寫入Guest OS的頁表中,以替換原來的映射g。
影子頁表
全虛擬化使用影子頁表技術實現(xiàn)內存虛擬化。其與MMU半虛擬化不同的是,VMM為Guest OS的每個頁表維護一個影子頁表,并將f·g的映射關系寫入影子頁表,Guest OS的頁表內容保持不變,然后,VMM將影子頁表寫入MMU。
影子頁表的維護將帶來時間和空間上的較大開銷。時間開銷主要體現(xiàn)在Guest OS構造頁表時不會主動通知 VMM,VMM 必須等到Guest OS發(fā)生缺頁時才會分析缺頁原因再為其補全影子頁表。而空間的開銷主要體現(xiàn)在VMM需要支持多臺虛擬機同時運行,每臺虛擬機的 Guest OS 通常會為其上運行的每個進程創(chuàng)建一套頁表系統(tǒng),因此影子頁表的空間開銷會隨著進程數(shù)量的增多而迅速增大。
影子頁表緩存
為權衡時間開銷和空間開銷,現(xiàn)在一般采用影子頁表緩存(Shadow Page Table Cache)技術,即VMM在內存中維護部分最近使用過的影子頁表,只有當影子頁表在緩存中找不到時,才構建一個新的影子頁表。當前主要的虛擬化技術都采用了影子頁表緩存技術。
虛擬機文件系統(tǒng)的虛擬化技術
新聞標題:內存虛擬化技術,具體的實現(xiàn)方法有哪兩種?
文章鏈接:http://www.5511xx.com/article/coedgho.html


咨詢
建站咨詢
