[發明專利]一種內存虛擬化的方法及裝置在審
| 申請號: | 201310752024.8 | 申請日: | 2013-12-31 |
| 公開(公告)號: | CN104750623A | 公開(公告)日: | 2015-07-01 |
| 發明(設計)人: | 王振江;武成崗;李斌;楊東艷 | 申請(專利權)人: | 華為技術有限公司;中國科學院計算技術研究所 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08;G06F9/455 |
| 代理公司: | 北京中博世達專利商標代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 內存 虛擬 方法 裝置 | ||
技術領域
本發明涉及電子信息技術領域,尤其涉及一種內存虛擬化的方法及裝置。
背景技術
目前,在使用虛擬機時,需要能使客戶機操作系統看到的內存空間布局與在真實物理機器環境下相同,這就必須要對內存進行虛擬化。內存被虛擬化后,一般會包含多級地址空間映射,并形成地址映射層次,其中包括GVA(Guest?Virtual?Address,客戶機虛擬地址)層、GPA(Guest?Physical?Address,客戶機物理地址)層、HVA(Host?Virtual?Address,宿主機虛擬地址)層、HPA(Host?Physical?Address,宿主機物理地址)層。其中,HVA層到HPA層的映射則由宿主機操作系統維護,并記錄在宿主機的Host頁表中。并且在現有技術中常用影子頁表技術實現映射關系的快速查找。例如:當虛擬機運行guest代碼時,host硬件的頁表基址寄存器指向一個影子頁表,在影子頁表中存儲了GVA層到HPA層的直接映射,對于影子頁表的維護由虛擬機管理軟件(Virtual?Machine?Monitor,VMM)完成。
但是,很多情況下需要隨著具體運行環境的變化頻繁地改變影子頁表的中記載的地址映射關系,例如:客戶機改變了GVA層上的地址到GPA層上的地址之間的映射關系。這就需要通過宿主機的系統內核或加載VMM配套的內核模塊,才能夠實現對于影子頁表的修改。因此在現有技術中對于影子頁表的操作屬于需要動用宿主機的系統內核的特權操作,又由于不同的宿主機經常會使用不同的操作系統或體系結構,對于不同的操作系統或體系結構的特權操作的方式也不相同,因此在一個宿主機上運行的基于影子頁表技術的虛擬機,難以直接運行在另一個操作系統或體系結構不同的宿主機上,技術人員需要花費時間和精力來重新制定針對另一個操作系統或體系結構的給予影子頁表技術的特權操作的方式,才能保證基于影子頁表技術的虛擬機能夠在另一個操作系統不同的宿主機上運行,限制了虛擬機在不同的系統平臺上的遷移使用。
發明內容
本發明的實施例提供一種內存虛擬化的方法及裝置,能夠在需要修改映射關系時,避免使用宿主機的內核修改映射關系。
為達到上述目的,本發明的實施例采用如下技術方案:
第一方面,本發明的實施例提供一種內存虛擬化的方法,用于一種計算設備,所述計算設備至少包括內存和硬盤,所述內存的地址映射層次包括客戶機虛擬地址(GVA)層、客戶機物理地址(GPA)層、宿主機虛擬地址(HVA)層、宿主機物理地址(HPA)層,所述方法包括:
建立所述HVA層到硬盤的存儲空間之間的映射關系;
為所述客戶機的進程在所述HVA層中分配地址空間,并建立所述GVA層到所述HVA層中的被分配的地址空間之間的映射關系;
建立訪存指令指向的所述HVA層中的被分配的地址空間上的地址到所述硬盤的存儲空間之間的映射關系;
從所述宿主機獲取目標數據,所述目標數據是由所述宿主機根據所述訪存指令獲取的數據。
結合第一方面,在第一方面的第一種可能的實現方式中,所述為所述客戶機的進程在所述HVA層中分配地址空間,并建立所述GVA層到所述HVA層中的被分配地址空間之間的映射關系,包括:
確定所述GVA層上的地址為a;
為所述客戶機的進程分配所述HVA層上的地址空間,所述HVA層上的地址空間的起始地址為b,并建立所述GVA層上的地址a到所述HVA層上的地址b+a之間的映射關系。
結合第一方面或第一方面的第一種可能的實現方式,在第二種可能的實現方式中,為所述客戶機的進程分配的所述HVA層上的地址空間的起始地址為b,所述訪存指令指向所述HVA層上的地址a+b;
所述建立訪存指令指向的所述HVA層中的被分配的地址空間上的地址與所述硬盤的存儲空間之間的映射關系,包括:
確定所述訪存指令指向的所述GVA層上的地址a,并根據所述GVA層到所述HVA層之間的映射關系,確定所述GVA層上的地址a對應的所述HVA層上的地址x;
根據所述HVA層到所述硬盤的存儲空間之間的映射關系,確定所述HVA層上的地址x對應的所述硬盤的存儲空間上的地址z;
建立所述訪存指令指向的所述HVA層上的地址a+b到所述硬盤的存儲空間上的地址z之間的映射關系。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司;中國科學院計算技術研究所;,未經華為技術有限公司;中國科學院計算技術研究所;許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310752024.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:群集級數據一致性模型和協議
- 下一篇:電子裝置及其數據維護方法





