[發(fā)明專利]一種虛擬機(jī)內(nèi)存映射方法及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201310134852.5 | 申請(qǐng)日: | 2013-04-18 |
| 公開(公告)號(hào): | CN103257929A | 公開(公告)日: | 2013-08-21 |
| 發(fā)明(設(shè)計(jì))人: | 高云偉;鄔小龍;孫毓忠;詹劍鋒;張立新 | 申請(qǐng)(專利權(quán))人: | 中國科學(xué)院計(jì)算技術(shù)研究所 |
| 主分類號(hào): | G06F12/02 | 分類號(hào): | G06F12/02;G06F9/455 |
| 代理公司: | 北京律誠同業(yè)知識(shí)產(chǎn)權(quán)代理有限公司 11006 | 代理人: | 祁建國;梁揮 |
| 地址: | 100190 北*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 虛擬機(jī) 內(nèi)存 映射 方法 系統(tǒng) | ||
1.一種虛擬機(jī)內(nèi)存映射方法,其特征在于,包括:
步驟1,根據(jù)應(yīng)用層映射請(qǐng)求選擇內(nèi)存映射方式,當(dāng)是小頁內(nèi)存映射需求時(shí)調(diào)用小頁映射方式,執(zhí)行步驟2,當(dāng)是大頁面內(nèi)存映射需求時(shí)調(diào)用大頁映射方式,執(zhí)行步驟3;
步驟2,將待映射虛擬機(jī)的待映射機(jī)器頁與監(jiān)控虛擬機(jī)的物理頁綁定,直接讀寫所映射的虛擬機(jī)的對(duì)應(yīng)內(nèi)存,執(zhí)行步驟4;
步驟3,所述監(jiān)控虛擬機(jī)對(duì)物理內(nèi)存中未使用的物理內(nèi)存進(jìn)行處理后,將其虛擬地址空間分解為相應(yīng)的多個(gè)頁組合的物理頁,獲取待映射虛擬機(jī)的待映射機(jī)器頁,判斷所述待映射機(jī)器頁是否與所述監(jiān)控虛擬機(jī)的多個(gè)頁組合的物理頁中的任意物理頁大小相同,若相同,直接將所述待映射虛擬機(jī)的待映射機(jī)器頁與所述監(jiān)控虛擬機(jī)的物理頁綁定,否則繼續(xù)分解所述多個(gè)頁組合的的物理頁,直至所述待映射的機(jī)器頁與所述多個(gè)頁組合的物理頁中的任意物理頁大小相同,然后將所述待映射虛擬機(jī)的待映射機(jī)器頁與所述監(jiān)控虛擬機(jī)的物理頁綁定,執(zhí)行步驟4;
步驟4,映射結(jié)束后,將與所述待映射虛擬機(jī)的映射內(nèi)存對(duì)應(yīng)的所述監(jiān)控虛擬機(jī)內(nèi)存釋放,設(shè)置所述監(jiān)控虛擬機(jī)的機(jī)器頁到物理頁映射表,將相應(yīng)項(xiàng)設(shè)為無效機(jī)器頁。
2.如權(quán)利要求1所述的虛擬機(jī)內(nèi)存映射方法,其特征在于,所述步驟2包括:
步驟21,在所述監(jiān)控虛擬機(jī)內(nèi)分配n頁內(nèi)存,并將其鎖定,所述待映射虛擬機(jī)的待映射內(nèi)存大小為n頁;
步驟22,獲取所述監(jiān)控虛擬機(jī)的n頁內(nèi)存的物理地址,釋放所述物理地址對(duì)應(yīng)的機(jī)器頁;
步驟23,獲取所述待映射虛擬機(jī)的待映射機(jī)器頁,將所述待映射虛擬機(jī)的待映射機(jī)器頁與所述監(jiān)控虛擬機(jī)的物理地址綁定,并在所述待映射虛擬機(jī)的物理頁到機(jī)器頁映射表中標(biāo)記被綁定的內(nèi)存機(jī)器頁為已被映射,同時(shí)更新所述監(jiān)控虛擬機(jī)的機(jī)器頁到物理頁映射表,使得相應(yīng)項(xiàng)記錄監(jiān)控虛擬機(jī)物理頁;
步驟24,通過vaddr直接讀寫所映射的虛擬機(jī)的對(duì)應(yīng)內(nèi)存,其中vaddr為所述監(jiān)控虛擬機(jī)內(nèi)存地址。
3.如權(quán)利要求1所述的虛擬機(jī)內(nèi)存映射方法,其特征在于,所述步驟3還包括:
步驟31,在所述監(jiān)控虛擬機(jī)內(nèi)分配一段大小為n頁的虛擬地址空間,所述待映射虛擬機(jī)的待映射內(nèi)存大小為n頁;
步驟32,將所述虛擬地址空間劃分為1GB頁、2MB頁、4KB頁的頁組合,所述頁組合的頁是對(duì)齊的,1GB頁的地址是1GB對(duì)齊,2MB頁的地址是2MB對(duì)齊,4K頁的地址是4KB對(duì)齊;
步驟33,然后將待映射虛擬機(jī)的待映射內(nèi)存機(jī)器頁與監(jiān)控虛擬機(jī)的物理頁綁定后,更新所述待映射虛擬機(jī)的物理頁到機(jī)器頁映射表,并在所述待映射虛擬機(jī)的物理頁到機(jī)器頁映射表中標(biāo)記被綁定的內(nèi)存機(jī)器頁為已被映射,同時(shí)更新所述監(jiān)控虛擬機(jī)的機(jī)器頁到物理頁映射表,使得相應(yīng)項(xiàng)記錄監(jiān)控虛擬機(jī)物理頁。
步驟34,通過vaddr讀寫所映射的虛擬機(jī)的對(duì)應(yīng)內(nèi)存。
4.如權(quán)利要求1所述的虛擬機(jī)內(nèi)存映射方法,其特征在于,所述步驟4之后還包括:
步驟5,更改所述監(jiān)控虛擬機(jī)的虛擬機(jī)監(jiān)控器的缺頁異常處理函數(shù),當(dāng)所述監(jiān)控虛擬機(jī)再次訪問已釋放的虛擬機(jī)內(nèi)存時(shí),所述監(jiān)控虛擬機(jī)收到通用保護(hù)錯(cuò)誤,并在異常處理函數(shù)中解映射或重新映射虛擬機(jī)的相應(yīng)內(nèi)存。
5.如權(quán)利要求1所述的虛擬機(jī)內(nèi)存映射方法,其特征在于,所述步驟3中監(jiān)控虛擬機(jī)對(duì)物理內(nèi)存中未使用的物理內(nèi)存進(jìn)行以下處理:
步驟301,將所述監(jiān)控虛擬機(jī)內(nèi)未使用的物理內(nèi)存空間的起始地址按照1G對(duì)齊;
步驟302,創(chuàng)建三個(gè)位圖,分別記錄所述物理內(nèi)存空間中1G頁面,2M頁面,4K頁面的空閑信息,未使用記錄為1,使用記錄為0;
步驟303,將此空間分解為頁數(shù)為1GB頁、2MB頁、4KB頁的三個(gè)頁組合,且頁組合里的頁必須是對(duì)齊的,并將所述三個(gè)位圖中對(duì)應(yīng)于所述頁組合里相關(guān)頁的相應(yīng)位置記錄為1;
步驟304,將待映射虛擬機(jī)的待映射機(jī)器頁與監(jiān)控虛擬機(jī)的物理頁綁定后,分配物理頁時(shí),先從對(duì)應(yīng)的頁位圖中尋找空閑頁,找不到時(shí)則其他位圖中尋找空閑頁,釋放物理頁時(shí),檢查與所述物理頁在同一個(gè)大頁中的的其它頁是否空閑,若空閑則將釋放后的物理頁與所述其他頁合并成一個(gè)大頁,并更新相關(guān)位圖。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國科學(xué)院計(jì)算技術(shù)研究所,未經(jīng)中國科學(xué)院計(jì)算技術(shù)研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310134852.5/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
- 一種可信虛擬機(jī)平臺(tái)
- 虛擬機(jī)參數(shù)遷移的方法、設(shè)備和虛擬機(jī)服務(wù)器
- 一種虛擬機(jī)系統(tǒng)及其安全控制方法
- 一種云計(jì)算系統(tǒng)動(dòng)態(tài)分配虛擬機(jī)的方法
- 一種恢復(fù)、升級(jí)虛擬機(jī)的方法及裝置
- 虛擬機(jī)切換系統(tǒng)及切換方法
- 處理虛擬機(jī)集群的方法和計(jì)算機(jī)系統(tǒng)
- 虛擬機(jī)故障檢測、恢復(fù)系統(tǒng)及虛擬機(jī)檢測、恢復(fù)、啟動(dòng)方法
- 一種虛擬機(jī)遷移方法和系統(tǒng)
- 一種虛擬機(jī)容錯(cuò)系統(tǒng)及其容錯(cuò)方法
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





