[發明專利]用于預鏈接軟件以改善虛擬系統中的存儲器去重的技術有效
| 申請號: | 201180075337.3 | 申請日: | 2011-12-07 |
| 公開(公告)號: | CN103975303B | 公開(公告)日: | 2017-08-08 |
| 發明(設計)人: | A·范德芬 | 申請(專利權)人: | 英特爾公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44;G06F9/445;G06F9/455 |
| 代理公司: | 永新專利商標代理有限公司72002 | 代理人: | 劉瑜,王英 |
| 地址: | 美國加*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 鏈接 軟件 改善 虛擬 系統 中的 存儲器 技術 | ||
1.一種用于存儲器管理的裝置,包括:
處理器電路;
存儲器單元,其耦合到所述處理器電路,用于存儲用于多個虛擬機的專用存儲器頁;
動態鏈接器應用,其在所述處理器電路上運行,用于當軟件程序的二進制版本在虛擬機上運行時,對所述二進制版本和相關的程序模塊進行鏈接,所述動態鏈接器應用包括:
主預鏈接部件,其在所述處理器電路上運行,用于使用被分配給第一虛擬機的第一專用存儲器頁中的第一組虛擬存儲器地址,針對所述第一虛擬機對用于所述軟件程序的第一二進制版本的第一組程序模塊進行重定位,并且在全局預鏈接布局映射中存儲所述第一組程序模塊的重定位信息,以供第二虛擬機使用,所述主預鏈接部件還用于通過將在所述第一組程序模塊中的程序模塊中引用的每個模塊地址改變成所述第一專用存儲器頁的第一組虛擬存儲器地址中的虛擬存儲器地址,對該程序模塊進行重定位,所述重定位信息包括所述第一組程序模塊中的程序模塊的模塊地址和所述第一專用存儲器頁的第一組虛擬存儲器地址中的虛擬存儲器地址之間的映射。
2.根據權利要求1所述的裝置,所述動態鏈接器應用包括在所述處理器電路上運行的客戶機預鏈接部件,其用于接收所述全局預鏈接布局映射,從所述全局預鏈接布局映射中取回所述重定位信息,并且利用所述重定位信息,使用被分配給所述第二虛擬機的第二專用存儲器頁中的第二組虛擬存儲器地址,針對所述第二虛擬機對用于所述軟件程序的第二二進制版本的第二組程序模塊進行重定位,其中,所述第一專用存儲器頁的第一組虛擬存儲器地址中的至少一個被重定位的虛擬存儲器地址與所述第二專用存儲器頁的第二組虛擬存儲器地址中的至少一個被重定位的虛擬存儲器地址相匹配。
3.根據權利要求2所述的裝置,所述客戶機預鏈接部件用于通過將在所述第二組程序模塊中的程序模塊中引用的每個模塊地址改變成所述第二專用存儲器頁的第二組虛擬存儲器地址中的虛擬存儲器地址,對該程序模塊進行重定位。
4.根據權利要求1所述的裝置,所述主預鏈接部件用于在對所述第一組程序模塊進行重定位之前接收預鏈接信息,并且基于所述預鏈接信息對所述第一組程序模塊進行重定位。
5.根據權利要求4所述的裝置,所述預鏈接信息包括將被同時加載到所述第一虛擬機上的所述第一組程序模塊中的程序模塊的圖。
6.根據權利要求5所述的裝置,所述主預鏈接部件用于向所述圖中的程序模塊指派所述第一組虛擬存儲器地址中的不同子組的虛擬存儲器地址,以避免使用同一組地址加載多個程序模塊。
7.根據權利要求4所述的裝置,所述預鏈接信息包括將被同時加載到所述第一虛擬機上的所述第一組程序模塊中的程序模塊的第一圖和將被同時加載到所述第二虛擬機上的第二組程序模塊中的程序模塊的第二圖。
8.根據權利要求7所述的裝置,所述主預鏈接部件用于向所述第一圖中的第一組程序模塊指派所述第一組虛擬存儲器地址中的不同子組的虛擬存儲器地址,并且向所述第二圖中的第二組程序模塊指派第二組虛擬存儲器地址中的不同子組的虛擬存儲器地址。
9.根據權利要求1所述的裝置,包括在所述處理器電路上運行的存儲器管理應用,其用于對在所述存儲器單元中存儲的一組專用存儲器頁執行存儲器去重操作,以形成共享存儲器頁,所述一組專用存儲器頁包括被分配給所述第一虛擬機的所述第一專用存儲器頁和被分配給所述第二虛擬機的第二專用存儲器頁,所述第一專用存儲器頁和所述第二專用存儲器頁每個都在相同的虛擬地址上存儲用于所述軟件程序的至少一個程序模塊。
10.根據權利要求1所述的裝置,包括在所述處理器電路上運行的虛擬化應用,其用于管理所述多個虛擬機。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于英特爾公司,未經英特爾公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201180075337.3/1.html,轉載請聲明來源鉆瓜專利網。





