国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種內(nèi)存管理方法、虛擬機(jī)監(jiān)視器及計(jì)算機(jī)的制作方法

      文檔序號:6585319閱讀:266來源:國知局
      專利名稱:一種內(nèi)存管理方法、虛擬機(jī)監(jiān)視器及計(jì)算機(jī)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及虛擬化技術(shù),特別是一種內(nèi)存管理方法、虛擬機(jī)監(jiān)視器及計(jì)算機(jī)。
      背景技術(shù)
      在現(xiàn)有的虛擬化過程中,都有一個(gè)通用的虛擬設(shè)備平臺,包括虛擬聲卡、虛擬顯 卡、虛擬內(nèi)存等,由虛擬機(jī)監(jiān)視器(Virtual Machine Monitor,VMM)將客戶操作系統(tǒng)(Guest OS, G0S)對虛擬設(shè)備平臺中的虛擬設(shè)備的訪問通過服務(wù)操作系統(tǒng)(Service OS, SOS)或者 主機(jī)操作系統(tǒng)(Host OS)訪問到真實(shí)的硬件上。發(fā)明人在實(shí)現(xiàn)本發(fā)明實(shí)施例的過程中發(fā)現(xiàn),現(xiàn)有的虛擬機(jī)技術(shù)至少存在如下缺點(diǎn)。現(xiàn)有的虛擬機(jī)技術(shù)中,在存在多個(gè)客戶操作系統(tǒng)時(shí),每個(gè)操作系統(tǒng),或者不同操作 系統(tǒng)中的相同的應(yīng)用程序都需要占用各自獨(dú)立的物理內(nèi)存,在運(yùn)行的客戶操作系統(tǒng)較多, 或者運(yùn)行的應(yīng)用程序較多時(shí),導(dǎo)致內(nèi)存需求極大。

      發(fā)明內(nèi)容
      本發(fā)明的目的是提供一種內(nèi)存管理方法、虛擬機(jī)監(jiān)視器及計(jì)算機(jī),降低虛擬化技 術(shù)所需求的內(nèi)存。為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供了一種內(nèi)存管理方法,包括虛擬機(jī)監(jiān)視器接收第一客戶操作系統(tǒng)在將待加載數(shù)據(jù)加載到第一物理內(nèi)存后下 發(fā)的數(shù)據(jù)加載通知消息;虛擬機(jī)監(jiān)視器根據(jù)所述數(shù)據(jù)加載通知消息判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中 的任意一個(gè)相同,獲取一第一判斷結(jié)果;在第一判斷結(jié)果指示待加載數(shù)據(jù)與第二已加載數(shù)據(jù)相同時(shí),虛擬機(jī)監(jiān)視器釋放第 一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi)存中的其中一個(gè)的數(shù)據(jù),使用另外一個(gè)物 理內(nèi)存中的數(shù)據(jù)提供訪問服務(wù)。上述的內(nèi)存管理方法,其中,所述數(shù)據(jù)加載通知消息包括待加載數(shù)據(jù)的第一標(biāo)識 信息和第一虛擬內(nèi)存的內(nèi)存地址,所述虛擬機(jī)監(jiān)視器根據(jù)所述第一標(biāo)識信息和待加載數(shù)據(jù) 之中的至少一個(gè)判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中的任意一個(gè)相同,獲取所述第一判斷結(jié)果。上述的內(nèi)存管理方法,其中,還包括虛擬機(jī)監(jiān)視器為每個(gè)客戶操作系統(tǒng)維護(hù)一第一對應(yīng)關(guān)系表和第二對應(yīng)關(guān)系表,所 述第一對應(yīng)關(guān)系表用于記錄客戶操作系統(tǒng)的虛擬內(nèi)存的內(nèi)存地址和物理內(nèi)存的內(nèi)存地址 之間的對應(yīng)關(guān)系,所述第二對應(yīng)關(guān)系表用于記錄客戶操作系統(tǒng)的已加載數(shù)據(jù)所在的物理內(nèi) 存的內(nèi)存地址;所述虛擬機(jī)監(jiān)視器在第一客戶操作系統(tǒng)的第一對應(yīng)關(guān)系表中記錄第一虛擬內(nèi)存 的內(nèi)存地址和第一物理內(nèi)存的內(nèi)存地址的對應(yīng)關(guān)系;
      所述虛擬機(jī)監(jiān)視器釋放第一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi)存中 的其中一個(gè)的數(shù)據(jù)后,將所有第一對應(yīng)關(guān)系表和第二對應(yīng)關(guān)系表中的被釋放的物理內(nèi)存的 地址修改為第一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi)存中的沒有被釋放的物理 內(nèi)存的地址。上述的內(nèi)存管理方法,其中,還包括虛擬機(jī)監(jiān)視器在第二客戶操作系統(tǒng)下發(fā)對第二數(shù)據(jù)進(jìn)行寫操作的寫請求時(shí),判斷 所述第二數(shù)據(jù)所在的第三物理內(nèi)存是否被多個(gè)客戶操作系統(tǒng)所使用,獲取一第二判斷結(jié) 果;在第二判斷結(jié)果指示第三物理內(nèi)存被多個(gè)客戶操作系統(tǒng)所使用時(shí),虛擬機(jī)監(jiān)視器 為所述第三物理內(nèi)存中的第二數(shù)據(jù)分配第四物理內(nèi)存,并將所述第三物理內(nèi)存中的第二數(shù) 據(jù)復(fù)制到所述第四物理內(nèi)存;虛擬機(jī)監(jiān)視器將所述第二客戶操作系統(tǒng)對應(yīng)的第一對應(yīng)關(guān)系表和第二對應(yīng)關(guān)系 表中的第三物理內(nèi)存修改為第四物理內(nèi)存。上述的內(nèi)存管理方法,其中,所述虛擬機(jī)監(jiān)視器根據(jù)所述第一標(biāo)識信息和待加載 數(shù)據(jù)判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中的任意一個(gè)相同,獲取所述第一判斷結(jié)果。上述的內(nèi)存管理方法,其中,所述虛擬機(jī)監(jiān)視器根據(jù)所述第一標(biāo)識信息和待加載 數(shù)據(jù)判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中的任意一個(gè)相同,獲取所述第一判斷結(jié)果具體包 括 虛擬機(jī)監(jiān)視器獲取所述第一標(biāo)識信息;虛擬機(jī)監(jiān)視器一一對比所述第一標(biāo)識信息和所有已加載數(shù)據(jù)的標(biāo)識信息;虛擬機(jī)監(jiān)視器獲取已加載數(shù)據(jù)的標(biāo)識信息中與所述第一標(biāo)識信息相同的第二標(biāo) 識信息對應(yīng)的實(shí)際物理內(nèi)存中的第二已加載數(shù)據(jù)后,判斷第二已加載數(shù)據(jù)與所述待加載數(shù) 據(jù)是否相同,如果相同,則指示待加載數(shù)據(jù)與第二已加載數(shù)據(jù)相同,否則指示待加載數(shù)據(jù)與 第二已加載數(shù)據(jù)不相同。為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例還提供了一種虛擬機(jī)監(jiān)視器,包括接收模塊,用于接收第一客戶操作系統(tǒng)在將待加載數(shù)據(jù)加載到第一物理內(nèi)存后下 發(fā)的數(shù)據(jù)加載通知消息;第一判斷模塊,用于根據(jù)所述數(shù)據(jù)加載通知消息判斷待加載數(shù)據(jù)是否與已加載數(shù) 據(jù)中的任意一個(gè)相同,獲取一第一判斷結(jié)果;第一處理模塊,用于在第一判斷結(jié)果指示待加載數(shù)據(jù)與第二已加載數(shù)據(jù)相同時(shí), 釋放第一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi)存中的其中一個(gè)的數(shù)據(jù),使用另外 一個(gè)物理內(nèi)存中的數(shù)據(jù)提供訪問服務(wù)。上述的虛擬機(jī)監(jiān)視器,其中,所述數(shù)據(jù)加載通知消息包括待加載數(shù)據(jù)的第一標(biāo)識 信息和第一虛擬內(nèi)存的內(nèi)存地址,所述第一判斷模塊具體用于根據(jù)所述第一標(biāo)識信息和待 加載數(shù)據(jù)之中的至少一個(gè)判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中的任意一個(gè)相同,獲取所述 第一判斷結(jié)果。上述的虛擬機(jī)監(jiān)視器,其中,還包括維護(hù)模塊,用于為每個(gè)客戶操作系統(tǒng)維護(hù)一第一對應(yīng)關(guān)系表和第二對應(yīng)關(guān)系表, 所述第一對應(yīng)關(guān)系表用于記錄客戶操作系統(tǒng)的虛擬內(nèi)存的內(nèi)存地址和物理內(nèi)存的內(nèi)存地址之間的對應(yīng)關(guān)系,所述第二對應(yīng)關(guān)系表用于記錄客戶操作系統(tǒng)的已加載數(shù)據(jù)所在的物理 內(nèi)存的內(nèi)存地址;所述第一處理模塊還用于在釋放第一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物 理內(nèi)存中的其中一個(gè)的數(shù)據(jù)后,將所有第一對應(yīng)關(guān)系表和第二對應(yīng)關(guān)系表中的被釋放的物 理內(nèi)存的地址修改為沒有被釋放的物理內(nèi)存的地址。上述的虛擬機(jī)監(jiān)視器,其中,還包括第二判斷模塊,用于在第二客戶操作系統(tǒng)下發(fā)對第二數(shù)據(jù)進(jìn)行寫操作的寫請求 時(shí),判斷所述第二數(shù)據(jù)所在的第三物理內(nèi)存是否被多個(gè)客戶操作系統(tǒng)所使用,獲取一第二 判斷結(jié)果;第二處理模塊,用于在第二判斷結(jié)果指示第三物理內(nèi)存被多個(gè)客戶操作系統(tǒng)所使 用時(shí),為所述第三物理內(nèi)存中的第二數(shù)據(jù)分配第四物理內(nèi)存,并將所述第三物理內(nèi)存中的 第二數(shù)據(jù)復(fù)制到所述第四物理內(nèi)存;第三處理模塊,用于將所述第二客戶操作系統(tǒng)對應(yīng)的第一對應(yīng)關(guān)系表和第二對應(yīng) 關(guān)系表中的第三物理內(nèi)存修改為第四物理內(nèi)存。上述的虛擬機(jī)監(jiān)視器,其中,所述虛擬機(jī)監(jiān)視器根據(jù)所述第一標(biāo)識信息和待加載 數(shù)據(jù)判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中的任意一個(gè)相同,獲取所述第一判斷結(jié)果。上述的虛擬機(jī)監(jiān)視器,其中,所述第一判斷模塊具體包括獲取單元,用于獲取所述第一標(biāo)識信息;第一比較單元,用于一一對比所述第一標(biāo)識信息和所有已加載數(shù)據(jù)的標(biāo)識信息;第二比較單元,用于判斷第二已加載數(shù)據(jù)與所述待加載數(shù)據(jù)是否相同,如果相同, 則指示待加載數(shù)據(jù)與第二已加載數(shù)據(jù)相同,否則指示待加載數(shù)據(jù)與第二已加載數(shù)據(jù)不相 同;所述第二已加載數(shù)據(jù)為已加載數(shù)據(jù)的標(biāo)識信息中與所述第一標(biāo)識信息相同的第 二標(biāo)識信息對應(yīng)的實(shí)際物理內(nèi)存中的已加載數(shù)據(jù)。為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī),包括硬件設(shè)備、運(yùn)行在所 述硬件設(shè)備的虛擬機(jī)監(jiān)視器、以及運(yùn)行在所述虛擬機(jī)監(jiān)視器上的客戶操作系統(tǒng),所述硬件 設(shè)備中包括內(nèi)存,所述虛擬機(jī)監(jiān)視器包括接收模塊,用于接收所述客戶操作系統(tǒng)中的第一客戶操作系統(tǒng)在將待加載數(shù)據(jù)加 載到第一物理內(nèi)存后下發(fā)的數(shù)據(jù)加載通知消息;第一判斷模塊,用于根據(jù)所述數(shù)據(jù)加載通知消息判斷待加載數(shù)據(jù)是否與已加載數(shù) 據(jù)中的任意一個(gè)相同,獲取一第一判斷結(jié)果;第一處理模塊,用于在第一判斷結(jié)果指示待加載數(shù)據(jù)與第二已加載數(shù)據(jù)相同時(shí), 釋放第一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi)存中的其中一個(gè)的數(shù)據(jù),使用另外 一個(gè)物理內(nèi)存中的數(shù)據(jù)提供訪問服務(wù)。本發(fā)明實(shí)施例具有以下的有益效果本發(fā)明實(shí)施例中,虛擬機(jī)監(jiān)視器接收第一客戶操作系統(tǒng)在將待加載數(shù)據(jù)加載到第 一物理內(nèi)存后下發(fā)的數(shù)據(jù)加載通知消息后,根據(jù)所述數(shù)據(jù)加載通知消息判斷待加載數(shù)據(jù)是 否與已加載數(shù)據(jù)中的任意一個(gè)相同,并在待加載數(shù)據(jù)與第二已加載數(shù)據(jù)相同時(shí),虛擬機(jī)監(jiān) 視器釋放第一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi)存中的其中一個(gè)的數(shù)據(jù),使用另外一個(gè)物理內(nèi)存中的數(shù)據(jù)提供訪問服務(wù),因此,相同的數(shù)據(jù)不再占據(jù)多份物理內(nèi)存,降低 虛擬化技術(shù)所需求的內(nèi)存。


      圖1為本發(fā)明實(shí)施例的內(nèi)存管理方法的流程示意圖。圖2為本發(fā)明實(shí)施例的虛擬機(jī)監(jiān)視器的結(jié)構(gòu)示意圖。
      具體實(shí)施例方式本發(fā)明實(shí)施例中,虛擬機(jī)監(jiān)視器根據(jù)客戶操作系統(tǒng)下發(fā)的數(shù)據(jù)加載通知消息后, 合并加載數(shù)據(jù)相同的內(nèi)存,降低內(nèi)存需求。本發(fā)明實(shí)施例的內(nèi)存管理方法,包括虛擬機(jī)監(jiān)視器在接收到第一客戶操作系統(tǒng)在將待加載數(shù)據(jù)加載到第一物理內(nèi)存 后下發(fā)的數(shù)據(jù)加載通知消息;虛擬機(jī)監(jiān)視器根據(jù)所述數(shù)據(jù)加載通知消息判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中 的任意一個(gè)相同,獲取一第一判斷結(jié)果;在第一判斷結(jié)果指示待加載數(shù)據(jù)與第二已加載數(shù)據(jù)相同時(shí),虛擬機(jī)監(jiān)視器釋放第 一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi)存中的其中一個(gè)的數(shù)據(jù),使用另外一個(gè)物 理內(nèi)存中的數(shù)據(jù)提供訪問服務(wù)。所述數(shù)據(jù)加載通知消息包括待加載數(shù)據(jù)的第一標(biāo)識信息和第一虛擬內(nèi)存的內(nèi)存 地址,所述虛擬機(jī)監(jiān)視器根據(jù)所述第一標(biāo)識信息和待加載數(shù)據(jù)之中的至少一個(gè)判斷待加載 數(shù)據(jù)是否與已加載數(shù)據(jù)中的任意一個(gè)相同,獲取所述第一判斷結(jié)果。同時(shí),虛擬機(jī)監(jiān)視器還可以為每個(gè)客戶操作系統(tǒng)維護(hù)一第一對應(yīng)關(guān)系表和第二對 應(yīng)關(guān)系表,所述第一對應(yīng)關(guān)系表用于記錄客戶操作系統(tǒng)的虛擬內(nèi)存的內(nèi)存地址和物理內(nèi)存 的內(nèi)存地址之間的對應(yīng)關(guān)系,所述第二對應(yīng)關(guān)系表用于記錄客戶操作系統(tǒng)的已加載數(shù)據(jù)所 在的物理內(nèi)存的內(nèi)存地址;而所述虛擬機(jī)監(jiān)視器根據(jù)該數(shù)據(jù)加載通知消息在第一客戶操作系統(tǒng)的第一對應(yīng) 關(guān)系表中記錄第一虛擬內(nèi)存的內(nèi)存地址和第一物理內(nèi)存的內(nèi)存地址的對應(yīng)關(guān)系;并在釋放 第一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi)存中的其中一個(gè)的數(shù)據(jù)后,將所有第一 對應(yīng)關(guān)系表和第二對應(yīng)關(guān)系表中的被釋放的物理內(nèi)存的地址修改為第一物理內(nèi)存和第二 已加載數(shù)據(jù)所在的第二物理內(nèi)存中的沒有被釋放的物理內(nèi)存的地址。如圖1所示,為本發(fā)明實(shí)施例的內(nèi)存管理方法的流程示意圖,包括步驟11,虛擬機(jī)監(jiān)視器為每個(gè)客戶操作系統(tǒng)維護(hù)一第一對應(yīng)關(guān)系表和第二對應(yīng)關(guān) 系表,所述第一對應(yīng)關(guān)系表用于記錄客戶操作系統(tǒng)的虛擬內(nèi)存的內(nèi)存地址和分配到的物理 內(nèi)存的內(nèi)存地址之間的對應(yīng)關(guān)系,所述第二對應(yīng)關(guān)系表用于記錄客戶操作系統(tǒng)的已加載數(shù) 據(jù)所在的物理內(nèi)存的內(nèi)存地址;步驟12,虛擬機(jī)監(jiān)視器接收第一客戶操作系統(tǒng)在將待加載數(shù)據(jù)加載到第一物理內(nèi) 存后下發(fā)的包括待加載數(shù)據(jù)的第一標(biāo)識信息和第一虛擬內(nèi)存的內(nèi)存地址的數(shù)據(jù)加載通知 消息;步驟13,虛擬機(jī)監(jiān)視器根據(jù)所述第一標(biāo)識信息和待加載數(shù)據(jù)之中的至少一個(gè)判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中的任意一個(gè)相同,獲取一第一判斷結(jié)果;步驟14,在判斷結(jié)果指示待加載數(shù)據(jù)與第二已加載數(shù)據(jù)相同時(shí),虛擬機(jī)監(jiān)視器執(zhí) 行合并操作,釋放第一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi)存中的其中一個(gè)的數(shù) 據(jù),并將第一對應(yīng)關(guān)系表和第二對應(yīng)關(guān)系表中的被釋放的物理內(nèi)存的地址修改為沒有被釋 放的物理內(nèi)存的地址。本發(fā)明實(shí)施例的虛擬機(jī)監(jiān)視器如圖2所示,包括維護(hù)模塊,用于為每個(gè)客戶操作系統(tǒng)維護(hù)第一對應(yīng)關(guān)系表和第二對應(yīng)關(guān)系表,所 述第一對應(yīng)關(guān)系表用于記錄客戶操作系統(tǒng)的虛擬內(nèi)存的內(nèi)存地址和分配到的物理內(nèi)存的 內(nèi)存地址之間的對應(yīng)關(guān)系,所述第二對應(yīng)關(guān)系表用于記錄客戶操作系統(tǒng)的已加載數(shù)據(jù)所在 的物理內(nèi)存的內(nèi)存地址;接收模塊,用于在接收到第一客戶操作系統(tǒng)下發(fā)的包括待加載數(shù)據(jù)的第一標(biāo)識信 息和第一虛擬內(nèi)存的內(nèi)存地址的數(shù)據(jù)加載通知消息后,分配第一物理內(nèi)存,并在第一客戶 操作系統(tǒng)的第一對應(yīng)關(guān)系表中記錄第一虛擬內(nèi)存的內(nèi)存地址和第一物理內(nèi)存的內(nèi)存地址 的對應(yīng)關(guān)系,并將待加載數(shù)據(jù)加載到所述第一物理內(nèi)存;第一判斷模塊,用于根據(jù)所述第一標(biāo)識信息和待加載數(shù)據(jù)之中的至少一個(gè)判斷待 加載數(shù)據(jù)是否與已加載數(shù)據(jù)中的任意一個(gè)相同,獲取一第一判斷結(jié)果;第一處理模塊,用于在第一判斷結(jié)果指示待加載數(shù)據(jù)與第二已加載數(shù)據(jù)相同時(shí), 虛擬機(jī)監(jiān)視器執(zhí)行合并操作,釋放第一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi)存中 的其中一個(gè)的數(shù)據(jù),并將第一對應(yīng)關(guān)系表和第二對應(yīng)關(guān)系表中的被釋放的物理內(nèi)存的地址 修改為沒有被釋放的物理內(nèi)存的地址。在本發(fā)明的具體實(shí)施例中,該待加載數(shù)據(jù)可以是客戶操作系統(tǒng)自身的數(shù)據(jù),也可 以是客戶操作系統(tǒng)中運(yùn)行的應(yīng)用程序的數(shù)據(jù)。在本發(fā)明的具體實(shí)施例中,需要根據(jù)所述第一標(biāo)識信息和待加載數(shù)據(jù)之中的至少 一個(gè)判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中的任意一個(gè)相同,獲取一第一判斷結(jié)果,下面對 各種判斷方式進(jìn)行詳細(xì)說明。<判斷方式一 >通過待加載數(shù)據(jù)的標(biāo)識信息來判斷。數(shù)據(jù)的標(biāo)識信息能夠表明數(shù)據(jù)的身份以及特征,因此通過數(shù)據(jù)的標(biāo)識信息即可判 斷該待加載數(shù)據(jù)是不是已經(jīng)被加載過,詳細(xì)說明如下。假定在虛擬機(jī)系統(tǒng)中已經(jīng)運(yùn)行了 1個(gè)G0S,其操作系統(tǒng)的類型為A,且對于該G0S, 虛擬機(jī)已經(jīng)記錄了如下兩個(gè)表格的對應(yīng)關(guān)系
      權(quán)利要求
      1.一種內(nèi)存管理方法,其特征在于,包括虛擬機(jī)監(jiān)視器接收第一客戶操作系統(tǒng)在將待加載數(shù)據(jù)加載到第一物理內(nèi)存后下發(fā)的 數(shù)據(jù)加載通知消息;虛擬機(jī)監(jiān)視器根據(jù)所述數(shù)據(jù)加載通知消息判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中的任 意一個(gè)相同,獲取一第一判斷結(jié)果;在第一判斷結(jié)果指示待加載數(shù)據(jù)與第二已加載數(shù)據(jù)相同時(shí),虛擬機(jī)監(jiān)視器釋放第一物 理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi)存中的其中一個(gè)的數(shù)據(jù),使用另外一個(gè)物理內(nèi) 存中的數(shù)據(jù)提供訪問服務(wù)。
      2.根據(jù)權(quán)利要求1所述的內(nèi)存管理方法,其特征在于,所述數(shù)據(jù)加載通知消息包括待 加載數(shù)據(jù)的第一標(biāo)識信息和第一虛擬內(nèi)存的內(nèi)存地址,所述虛擬機(jī)監(jiān)視器根據(jù)所述第一標(biāo) 識信息和待加載數(shù)據(jù)之中的至少一個(gè)判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中的任意一個(gè)相 同,獲取所述第一判斷結(jié)果。
      3.根據(jù)權(quán)利要求1或2所述的內(nèi)存管理方法,其特征在于,還包括虛擬機(jī)監(jiān)視器為每個(gè)客戶操作系統(tǒng)維護(hù)一第一對應(yīng)關(guān)系表和第二對應(yīng)關(guān)系表,所述第 一對應(yīng)關(guān)系表用于記錄客戶操作系統(tǒng)的虛擬內(nèi)存的內(nèi)存地址和物理內(nèi)存的內(nèi)存地址之間 的對應(yīng)關(guān)系,所述第二對應(yīng)關(guān)系表用于記錄客戶操作系統(tǒng)的已加載數(shù)據(jù)所在的物理內(nèi)存的 內(nèi)存地址;所述虛擬機(jī)監(jiān)視器在第一客戶操作系統(tǒng)的第一對應(yīng)關(guān)系表中記錄第一虛擬內(nèi)存的內(nèi) 存地址和第一物理內(nèi)存的內(nèi)存地址的對應(yīng)關(guān)系;所述虛擬機(jī)監(jiān)視器釋放第一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi)存中的其 中一個(gè)的數(shù)據(jù)后,將所有第一對應(yīng)關(guān)系表和第二對應(yīng)關(guān)系表中的被釋放的物理內(nèi)存的地址 修改為第一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi)存中的沒有被釋放的物理內(nèi)存 的地址。
      4.根據(jù)權(quán)利要求3所述的內(nèi)存管理方法,其特征在于,還包括虛擬機(jī)監(jiān)視器在第二客戶操作系統(tǒng)下發(fā)對第二數(shù)據(jù)進(jìn)行寫操作的寫請求時(shí),判斷所述 第二數(shù)據(jù)所在的第三物理內(nèi)存是否被多個(gè)客戶操作系統(tǒng)所使用,獲取一第二判斷結(jié)果;在第二判斷結(jié)果指示第三物理內(nèi)存被多個(gè)客戶操作系統(tǒng)所使用時(shí),虛擬機(jī)監(jiān)視器為所 述第三物理內(nèi)存中的第二數(shù)據(jù)分配第四物理內(nèi)存,并將所述第三物理內(nèi)存中的第二數(shù)據(jù)復(fù) 制到所述第四物理內(nèi)存;虛擬機(jī)監(jiān)視器將所述第二客戶操作系統(tǒng)對應(yīng)的第一對應(yīng)關(guān)系表和第二對應(yīng)關(guān)系表中 的第三物理內(nèi)存修改為第四物理內(nèi)存。
      5.根據(jù)權(quán)利要求2所述的內(nèi)存管理方法,其特征在于,所述虛擬機(jī)監(jiān)視器根據(jù)所述第 一標(biāo)識信息和待加載數(shù)據(jù)判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中的任意一個(gè)相同,獲取所述 第一判斷結(jié)果。
      6.根據(jù)權(quán)利要求5所述的內(nèi)存管理方法,其特征在于,所述虛擬機(jī)監(jiān)視器根據(jù)所述第 一標(biāo)識信息和待加載數(shù)據(jù)判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中的任意一個(gè)相同,獲取所述 第一判斷結(jié)果具體包括虛擬機(jī)監(jiān)視器獲取所述第一標(biāo)識信息;虛擬機(jī)監(jiān)視器一一對比所述第一標(biāo)識信息和所有已加載數(shù)據(jù)的標(biāo)識信息;虛擬機(jī)監(jiān)視器獲取已加載數(shù)據(jù)的標(biāo)識信息中與所述第一標(biāo)識信息相同的第二標(biāo)識信 息對應(yīng)的實(shí)際物理內(nèi)存中的第二已加載數(shù)據(jù)后,判斷第二已加載數(shù)據(jù)與所述待加載數(shù)據(jù)是 否相同,如果相同,則指示待加載數(shù)據(jù)與第二已加載數(shù)據(jù)相同,否則指示待加載數(shù)據(jù)與第二 已加載數(shù)據(jù)不相同。
      7.—種虛擬機(jī)監(jiān)視器,其特征在于,包括接收模塊,用于接收第一客戶操作系統(tǒng)在將待加載數(shù)據(jù)加載到第一物理內(nèi)存后下發(fā)的 數(shù)據(jù)加載通知消息;第一判斷模塊,用于根據(jù)所述數(shù)據(jù)加載通知消息判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中 的任意一個(gè)相同,獲取一第一判斷結(jié)果;第一處理模塊,用于在第一判斷結(jié)果指示待加載數(shù)據(jù)與第二已加載數(shù)據(jù)相同時(shí),釋放 第一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi)存中的其中一個(gè)的數(shù)據(jù),使用另外一個(gè) 物理內(nèi)存中的數(shù)據(jù)提供訪問服務(wù)。
      8.根據(jù)權(quán)利要求7所述的虛擬機(jī)監(jiān)視器,其特征在于,所述數(shù)據(jù)加載通知消息包括待 加載數(shù)據(jù)的第一標(biāo)識信息和第一虛擬內(nèi)存的內(nèi)存地址,所述第一判斷模 塊具體用于根據(jù)所 述第一標(biāo)識信息和待加載數(shù)據(jù)之中的至少一個(gè)判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中的任 意一個(gè)相同,獲取所述第一判斷結(jié)果。
      9.根據(jù)權(quán)利要求7或8所述的虛擬機(jī)監(jiān)視器,其特征在于,還包括維護(hù)模塊,用于為每個(gè)客戶操作系統(tǒng)維護(hù)一第一對應(yīng)關(guān)系表和第二對應(yīng)關(guān)系表,所述 第一對應(yīng)關(guān)系表用于記錄客戶操作系統(tǒng)的虛擬內(nèi)存的內(nèi)存地址和物理內(nèi)存的內(nèi)存地址之 間的對應(yīng)關(guān)系,所述第二對應(yīng)關(guān)系表用于記錄客戶操作系統(tǒng)的已加載數(shù)據(jù)所在的物理內(nèi)存 的內(nèi)存地址;所述第一處理模塊還用于在釋放第一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi) 存中的其中一個(gè)的數(shù)據(jù)后,將所有第一對應(yīng)關(guān)系表和第二對應(yīng)關(guān)系表中的被釋放的物理內(nèi) 存的地址修改為沒有被釋放的物理內(nèi)存的地址。
      10.根據(jù)權(quán)利要求9所述的虛擬機(jī)監(jiān)視器,其特征在于,還包括第二判斷模塊,用于在第二客戶操作系統(tǒng)下發(fā)對第二數(shù)據(jù)進(jìn)行寫操作的寫請求時(shí),判 斷所述第二數(shù)據(jù)所在的第三物理內(nèi)存是否被多個(gè)客戶操作系統(tǒng)所使用,獲取一第二判斷結(jié) 果;第二處理模塊,用于在第二判斷結(jié)果指示第三物理內(nèi)存被多個(gè)客戶操作系統(tǒng)所使用 時(shí),為所述第三物理內(nèi)存中的第二數(shù)據(jù)分配第四物理內(nèi)存,并將所述第三物理內(nèi)存中的第 二數(shù)據(jù)復(fù)制到所述第四物理內(nèi)存;第三處理模塊,用于將所述第二客戶操作系統(tǒng)對應(yīng)的第一對應(yīng)關(guān)系表和第二對應(yīng)關(guān)系 表中的第三物理內(nèi)存修改為第四物理內(nèi)存。
      11.根據(jù)權(quán)利要求8所述的虛擬機(jī)監(jiān)視器,其特征在于,所述虛擬機(jī)監(jiān)視器根據(jù)所述第 一標(biāo)識信息和待加載數(shù)據(jù)判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中的任意一個(gè)相同,獲取所述 第一判斷結(jié)果。
      12.根據(jù)權(quán)利要求11所述的虛擬機(jī)監(jiān)視器,其特征在于,所述第一判斷模塊具體包括獲取單元,用于獲取所述第一標(biāo)識信息;第一比較單元,用于一一對比所述第一標(biāo)識信息和所有已加載數(shù)據(jù)的標(biāo)識信息;第二比較單元,用于判斷第二已加載數(shù)據(jù)與所述待加載數(shù)據(jù)是否相同,如果相同,則指 示待加載數(shù)據(jù)與第二已加載數(shù)據(jù)相同,否則指示待加載數(shù)據(jù)與第二已加載數(shù)據(jù)不相同;所述第二已加載數(shù)據(jù)為已加載數(shù)據(jù)的標(biāo)識信息中與所述第一標(biāo)識信息相同的第二標(biāo) 識信息對應(yīng)的實(shí)際物理內(nèi)存中的已加載數(shù)據(jù)。
      13. 一種計(jì)算機(jī),包括硬件設(shè)備、運(yùn)行在所述硬件設(shè)備的虛擬機(jī)監(jiān)視器、以及運(yùn)行在所 述虛擬機(jī)監(jiān)視器上的客戶操作系統(tǒng),所述硬件設(shè)備中包括內(nèi)存,其特征在于,所述虛擬機(jī)監(jiān) 視器包括接收模塊,用于接收所述客戶操作系統(tǒng)中的第一客戶操作系統(tǒng)在將待加載數(shù)據(jù)加載到 第一物理內(nèi)存后下發(fā)的數(shù)據(jù)加載通知消息;第一判斷模塊,用于根據(jù)所述數(shù)據(jù)加載通知消息判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中 的任意一個(gè)相同,獲取一第一判斷結(jié)果;第一處理模塊,用于在第一判斷結(jié)果指示待加載數(shù)據(jù)與第二已加載數(shù)據(jù)相同時(shí),釋放 第一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi)存中的其中一個(gè)的數(shù)據(jù),使用另外一個(gè) 物理內(nèi)存中的數(shù)據(jù)提供訪問服務(wù)。
      全文摘要
      本發(fā)明提供一種內(nèi)存管理方法、虛擬機(jī)監(jiān)視器及計(jì)算機(jī),該內(nèi)存管理方法包括虛擬機(jī)監(jiān)視器接收第一客戶操作系統(tǒng)在將待加載數(shù)據(jù)加載到第一物理內(nèi)存后下發(fā)的數(shù)據(jù)加載通知消息;虛擬機(jī)監(jiān)視器根據(jù)所述數(shù)據(jù)加載通知消息判斷待加載數(shù)據(jù)是否與已加載數(shù)據(jù)中的任意一個(gè)相同,獲取一第一判斷結(jié)果;在第一判斷結(jié)果指示待加載數(shù)據(jù)與第二已加載數(shù)據(jù)相同時(shí),虛擬機(jī)監(jiān)視器釋放第一物理內(nèi)存和第二已加載數(shù)據(jù)所在的第二物理內(nèi)存中的其中一個(gè)的數(shù)據(jù),使用另外一個(gè)物理內(nèi)存中的數(shù)據(jù)提供訪問服務(wù)。本發(fā)明降低了虛擬化技術(shù)的內(nèi)存需求。
      文檔編號G06F9/455GK102103515SQ20091024345
      公開日2011年6月22日 申請日期2009年12月22日 優(yōu)先權(quán)日2009年12月22日
      發(fā)明者湯良 申請人:聯(lián)想(北京)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1