[發明專利]一種虛擬機監視器、虛擬機系統及其內存處理方法有效
| 申請號: | 200710304035.4 | 申請日: | 2007-12-24 |
| 公開(公告)號: | CN101470633A | 公開(公告)日: | 2009-07-01 |
| 發明(設計)人: | 湯良 | 申請(專利權)人: | 聯想(北京)有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/455;G06F12/02 |
| 代理公司: | 北京銀龍知識產權代理有限公司 | 代理人: | 許 靜 |
| 地址: | 100085北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 虛擬機 監視器 系統 及其 內存 處理 方法 | ||
技術領域
本發明涉及虛擬機技術,特別是涉及一種虛擬機監視器、虛擬機系統及其內存處理方法。
背景技術
在現有的虛擬化過程中,都有一個通用的虛擬設備平臺,包括虛擬聲卡、虛擬顯卡等,由虛擬機監視器(Virtual?Machine?Monitor,VMM)將客戶操作系統(Guest?OS,GOS)對虛擬設備平臺中的虛擬設備的訪問通過服務操作系統(Service?OS,SOS)或者主機操作系統(Host?OS)訪問到真實的硬件上。
上述的架構無法解決多個GOS對真實硬件的共享問題,因此,在上述通用的虛擬化平臺中,不論真實硬件平臺是什么,虛擬化出來的設備都一致,雖然這樣對于各個客戶操作系統都適用,但會出現如下問題:
虛擬機系統顯示的硬件設備與真實的硬件設備不一致,用戶無法看到真實的硬件;
真實硬件的某些特性無法使用,如顯卡硬件加速特性、聲卡的高級特性等。
為解決上述問題的存在,現有技術中提供了一種虛擬機系統及其硬件設備訪問方法,其公開了下述的虛擬機系統。
為了解決系統內存與硬件作DMA(Direct?Memory?Access,直接存儲器訪問)操作的問題,將原來運行在低端內存的虛擬機監視器的地址從低端內存移到高端內存,使GOS的物理內存地址與系統的物理內存地址(及機器地址)保持一一對應,以實現GOS的DMA傳輸。
然而,上述的虛擬機系統及其硬件設備訪問方法僅能解決一個GOS的DMA傳輸問題,在虛擬機系統中存在多個GOS時,無法實現所有的GOS的DMA傳輸問題。
發明內容
本發明實施例的目的是提供一種虛擬機監視器、虛擬機系統及其內存處理方法,在虛擬機系統存在多個GOS,使所有的GOS都能實現DMA傳輸。
為了實現上述目的,本發明實施例提供了一種虛擬機監視器,其中,包括:
分配模塊,用于分別為多個客戶操作系統中的每個客戶操作系統分配物理內存;
第一設置模塊,用于設置所述每個客戶操作系統對應的所述物理內存中的可用物理內存,所述每個客戶操作系統對應的所述可用物理內存的地址沒有交叉;
第一映射模塊,用于在所述每個客戶操作系統對應的可用物理內存與第一機器內存之間建立一一對應的第一映射關系,所述第一機器內存的地址與所述每個客戶操作系統對應的可用物理內存的地址相同。
優選地,上述的虛擬機監視器還包括:
第二設置模塊,用于設置所述客戶操作系統對應的E820表,將所述客戶操作系統的所述物理內存中所述可用物理內存之外的物理內存配置為不可用物理內存。
優選地,上述的虛擬機監視器還包括:
第二映射模塊,用于在所述每個客戶操作系統的不可用物理內存與第二機器內存之間建立第二映射關系。
優選地,上述的虛擬機監視器還包括:
第三映射模塊,用于在第二客戶操作系統的用于啟動的物理內存與第三機器內存之間建立第三映射關系,其中,所述第二客戶操作系統的可用物理內存地址的起始值大于零。
為了更好的實現上述目的,本發明實施例還提供了一種虛擬機系統,包括多個客戶操作系統和虛擬機監視器,其中,所述虛擬機監視器包括:
分配模塊,用于分別為多個客戶操作系統中的每個客戶操作系統分配物理內存;
第一設置模塊,用于設置所述每個客戶操作系統對應的所述物理內存中的可用物理內存,所述每個客戶操作系統對應的所述可用物理內存的地址沒有交叉;
第一映射模塊,用于在所述每個客戶操作系統對應的可用物理內存與第一機器內存之間建立一一對應的第一映射關系,所述第一機器內存的地址與所述每個客戶操作系統對應的可用物理內存的地址相同。
優選地,上述的虛擬機系統中還包括:
第二設置模塊,用于設置所述客戶操作系統對應的E820表,將所述客戶操作系統的所述物理內存中所述可用物理內存之外的物理內存配置為不可用物理內存。
優選地,上述的虛擬機系統中還包括:
第二映射模塊,用于在所述每個客戶操作系統的不可用物理內存與第二機器內存之間建立第二映射關系。
優選地,上述的虛擬機系統中還包括:
第三映射模塊,用于建立第二客戶操作系統的用于啟動的物理內存與第三機器內存之間的第三映射關系;
所述第二客戶操作系統的可用物理內存地址的起始值大于零。
為了更好的實現上述目的,本發明實施例還提供了一種虛擬機系統的內存處理方法,其中,包括:
分別為多個客戶操作系統中的每個客戶操作系統分配物理內存;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于聯想(北京)有限公司,未經聯想(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710304035.4/2.html,轉載請聲明來源鉆瓜專利網。





