新四季網

虛擬機內存的共享方法與計算機系統的製作方法

2023-04-24 11:12:56


專利名稱::虛擬機內存的共享方法與計算機系統的製作方法
技術領域:
:本發明涉及一種可共享虛擬機中未使用內存的方法與一種使用該方法的計算機系統。
背景技術:
:隨著計算機硬體裝置的成本越來越降低以及大型伺服器的需求越來越高,虛擬機(VirtualMachine)也越來越被重視。虛擬機為一種接口,應用於一軟體與計算機系統之間,並可提供此計算機系統的各種資源給上述軟體使用。此軟體通常為一作業系統,因此,作業系統可以通過虛擬機來存取計算機系統上的資源。然而,在一計算機系統上可以安裝多個虛擬機,每個虛擬機上可安裝不同的作業系統。舉例來說,微軟的windows作業系統與Iinux作業系統便可同時安裝在一個計算機系統上不同的虛擬機中。另一方面,在開發新的作業系統時還可在一計算機系統上測試不同版本的作業系統,其中各個作業系統也被安裝在不同的虛擬機上,當其中一個測試的作業系統發生錯誤時便不會導致整個計算機系統當機。另外,隨著雲端計算(CloudComputing)的應用越來越廣,伺服器的機動性(mobility)也越來越重要。而由於虛擬機能讓作業系統與計算機系統之間的耦合關係被鬆綁,因此一個作業系統可以隨著虛擬機動態的被移動到另外一個計算機系統,藉此平衡伺服器的負載。然而,雖然理論上計算機系統上可以執行多個虛擬機,但是可執行的虛擬機數量還是會受到限制,其中一個限制的原因便是內存容量的問題。在一計算機系統上所配置的內存是有限的,若平均的將所有的內存分配給所執行的虛擬機,則每個虛擬機所能運用的內存便可能不足。然而,這些虛擬機中可能會使用到相同的程序代碼或是數據(例如,window作業系統的核心程序),因此每一個虛擬機上都存有這些相同的數據。若能將這些虛擬機中相同的數據共享,使各個虛擬機只使用一份程序代碼或數據於計算機系統的內存中,便能更有效的利用計算機系統的內存。其中一種共享內存的作法是,針對每個虛擬機中的每一個內存分頁(memorypage),根據一個哈希函數(hashfunction)來計算出一個哈希值,並比對各個虛擬機中的內存分頁是否有相同哈希值。若不同的虛擬機中存在相同的哈希值的內存分頁,則這些內存分頁便可能是存有相同的資料,可以進一步的共享。然而,此方法必須對每個虛擬機的每個內存分頁都計算哈希值,所以非常的耗時。因此如何有效的共享虛擬機中的內存,為此領域研究人員所關心的問題。
發明內容本發明提出一種虛擬機內存的共享方法,此共享方法用於執行至少一個虛擬機的計算機系統中。此共享方法包括以下步驟。取得虛擬機所對應的內存映像圖,此內存映像圖存有所對應的虛擬機中內存頁面的使用狀態。根據虛擬機所對應的內存映像圖,標記虛擬機上未被使用的內存頁面為第一空閒頁。以及,共享虛擬機中的第一空閒頁。以另外一個角度來說,本發明還提出一種計算機系統,用以執行至少一個虛擬機。此計算機系統包括有內存單元、處理單元、內存控制單元。其中內存單元包括有多個物理內存頁面,而處理單元耦接至該內存單元。內存控制單元則耦接至上述處理單元與內存單元,並用以取得上述虛擬機所對應的內存映像圖,此內存映像圖存有所對應的虛擬機中內存頁面的使用狀態。內存控制單元還用以根據虛擬機所對應的內存映像圖,標記虛擬機上未被使用的內存頁面為多個第一空閒頁,並共享各虛擬機中的第一空閒頁。圖1為依照本發明第一實施例所繪示的計算機系統方塊圖。圖2為依照本發明第一實施例所繪示的計算機系統與虛擬機的示意圖。圖3為依照本發明第一實施例的虛擬機內存共享方法的流程圖。圖4A為依照本發明第一實施例所繪示的第一空閒頁的示意圖。圖4B為依照本發明第一實施例所繪示的一個虛擬機的內存頁面的共享示意圖。圖5為依照本發明第二實施例的內存共享方法的流程圖。圖6為依照本發明第三實施例的內存共享方法的流程圖。圖7為依照本發明第三實施例所繪示的未使用內存分頁的示意圖。圖8為依照本發明第三實施例所繪示的共享內存方法各步驟的時間軸示意圖。主要組件符號說明100:計算機系統120:處理單元140:內存單元142、143、144、145:物理內存頁面220:虛擬機監控程序230、240:虛擬機232、234、236、242、731、740:內存頁面250,260:作業系統262、252:虛擬內存頁面254、264:內存映像圖234,244,720:第一空閒頁730:第二空閒頁S302、S303、S304、S305、S306、S602、S604、S606:虛擬機內存共享方法的各步驟S802:寫入資料S804:呼叫nominate指令S806:呼叫share指令具體實施例方式為使本發明的目的、技術方案和優點更加清楚明白,以下結合具體實施例,並參照附圖,對本發明進一步詳細說明。[第一實施例]圖1為依照本發明第一實施例所繪示的計算機系統方塊圖。請參照圖1,計算機系統100包括處理單元120、內存單元140、與內存控制單元160。處理單元120耦接至內存單元140,用以執行計算機系統100中的軟體及軔體。處理單兀120例如為中央處理器(CentralProcessUnit,CPU)。內存單元140包含了多個物理內存頁面142。內存單元140例如為動態隨機存取內存(DynamicRandomAccessMemory,DRAM)或靜態隨機存取內存(StaticRandomAccessMemory,SRAM)。內存控制單元160耦接至處理單元120與內存單元140,用以控制內存單元140中的物理內存頁面142。內存控制單兀160例如為微處理器(microprocessor),執行一非揮發性內存(未繪示)中的程序代碼。計算機系統100上執行了多個虛擬機,而每個虛擬機上可執行一作業系統。請參照圖2,圖2為依照本發明實施例所繪示的計算機系統與虛擬機的示意圖。虛擬機監控程序(VirtualMachineMonitor,VMM)220被執行在計算機系統100上,用以控制計算機系統100上所有的資源。其中計算機系統100的資源包括處理單元120、內存單元140、或是計算機系統100上的輸入輸出(inputoutput,10)裝置(未繪示)的執行與使用。在本實施例中,VMM220建置了虛擬機230與虛擬機240,虛擬機230與虛擬機240便可以通過VMM220來存取上述計算機系統100的資源。然而虛擬機監控程序220可以提供數目更多或更少的虛擬機,本發明並不限制虛擬機的數目。VMM220可將計算機系統100上的資源分配給虛擬機230與虛擬機240。以內存為例,VMM220將內存單元140中的物理內存頁面142分配給虛擬機230與虛擬機240,使虛擬機230中包含了多個內存頁面232,並使虛擬機240中包含了多個內存頁面242。值得注意的是,內存頁面232與內存頁面242為客端物理內存(guestphysicalmemory),也就是說內存頁面232與內存頁面242並不是實體的內存,僅是被對應至內存單元140中物理內存頁面142的虛擬內存。另一方面,虛擬機230上安裝了作業系統260,且虛擬機240上安裝了作業系統250。如此一來,作業系統260便可以存取虛擬機230上的資源(例如,內存頁面232),而作業系統250便可以存取虛擬機240上的資源(例如,內存頁面242)。而作業系統260中也包含了多個虛擬內存頁面262,作業系統260是用邏輯地址(logicaladdress)來存取這些虛擬內存頁面262。當作業系統260用邏輯地址存取虛擬內存頁面262時,此邏輯地址會被作業系統260轉換為內存頁面232的客端實體位置(guestphysicaladdress),而VMM220再將此客端實體位置轉換為物理內存頁面142的實體位置(physicaladdress)。作業系統260通過這樣的轉換關係來存取物理內存頁面142。作業系統250也通過類似的轉換用邏輯地址來存取物理內存頁面142,在此便不再贅述。而作業系統260中的內存映像圖(memorymap)264則存放著內存頁面232的使用狀態。在一實施例中,作業系統260為微軟windows作業系統,內存映像圖264則為頁框值資料庫(pageframenumberdatabase,PFNdatabase)。而頁框值資料庫為數組型態的數據結構,此數組的每一個元素中包括」Type」欄位,而」Type」欄位記錄著對應的一個內存頁面232的使用狀態。而內存頁面232的使用狀態例如為已配置、或未使用等。在一實施例中,作業系統250為Linux作業系統,並使用對偶式內存管理算法(BuddySystemAlgorithm)來管理空閒頁,內存映像圖254是名為mem_map的數組數據結構。然而,本發明並不限制虛擬機上作業系統的種類,也不限制內存映像圖的數據結構。圖3為依照本發明實施例的虛擬機內存共享方法的流程圖。請參照圖3,在步驟S302中,本實施例的內存控制單元160取得對應各虛擬機的內存映像圖在內存中的地址,並通過此地址得到內存映像圖。詳細的說,內存控制單元160取得對應於虛擬機230的內存映像圖264,以及對應於虛擬機240的內存映像圖254。在一實施例中,作業系統260為windows作業系統,而在windows作業系統中執行文件、動態連結資料庫(dynamicallylinkedlibraries,DLLs)或核心映像文件(kernelimage)皆符合可攜帶可執行(portableexecutable,PE)的格式。內存控制單元160可以根據有PE格式的核心映像文件找到此核心映像文件在內存中的基準地址(baseaddress),並可以找到所對應的程序資料庫(programdatabase,PDB)檔案。內存控制單元160可以從上述程序資料庫檔案找到作業系統260中內存映像圖264在內存中相對於核心映像文件的相對位置。內存控制單元160將上述的相對位置與基準位置結合,便可以得到內存映像圖264的內存位置。然而,本發明並不限制內存控制單元160取得內存映像圖的方式。在步驟S304中,內存控制單元160根據各虛擬機所對應的內存映像圖,標記各虛擬機上未被使用的內存頁面為多個第一空閒頁。請參考圖4A(a),圖4A為依照本發明實施例所繪示的第一空閒頁的示意圖。舉例來說,內存控制單元160根據內存映像表264取得內存頁面232的使用狀態,並將使用狀態為」未使用」的內存頁面標示為第一空閒頁234;並且根據內存映像表254取得內存頁面242的使用狀態,將虛擬機240中未使用的內存頁面標示為第一空閒頁244。以下稱第一空閒頁時所指的是標記為第一空閒頁的內存分頁。值得注意的是,第一空閒頁234對應至內存單元140中的物理內存頁面143,而第一空閒頁244對應至內存單元140中的物理內存頁面144,因此,第一空閒頁234與第一空閒頁244分別佔據了內存單元140不同的物理內存頁面。值得注意的是,若第一空閒頁234與第一空閒頁244內的資料並沒有被重置(即,全設為O),則即使經過哈希函數的運算,第一空閒頁234與第一空閒頁244很有可能會產生不同的哈希值,也就不能被公知的做法共享。在步驟S306中,內存控制單元160共享各虛擬機的第一空閒頁。舉例來說,內存控制單元160共享第一空閒頁234與第一空閒頁244,使得第一空閒頁234與第一空閒頁244會對應至相同的物理內存頁面143(如圖4A(b)所示)。在一實施例中,VMM220是名為Xen的開放原始碼的虛擬機監控程序,其中提供了nominate與share的指令,用以共享內存。內存控制單元160可通過呼叫上述nominate與share的指令來共享內存。另一方面,在另一實施例中,內存控制單元160所執行的功能被實作為在虛擬機230上的程序代碼,由處理單元120執行並呼叫上述的nominate與share指令來共享內存。本發明並不限制共享虛擬機上內存的方式。在其他實施例中,為了避免內存控制單元160在共享第一空閒頁234與第一空閒頁244的同時,虛擬機230(或虛擬機240)將數據寫入第一空閒頁234(或第一空閒頁244),此種情形會使得內存控制單元160共享已被使用的內存分頁,造成錯誤。因此,在本發明的一實施例中,內存控制單元160在步驟S306之前還會暫停各虛擬機對第一空閒頁的存取。並且在步驟S306之後,內存空置單元160還會恢復各虛擬機對第一空閒頁的存取。然而,本發明並不限制共享內存頁面時虛擬機的個數,本發明也可用在只有建置一個虛擬機的計算機系統上。圖4B為依照本發明一實施例所繪示的一個虛擬機的內存頁面的共孚不意圖。請參考圖4B,在一實施例中,VMM220上只建置了一個虛擬機230,虛擬機230上執行作業系統260。內存控制單元160依照圖3的流程,先取得虛擬機220上的內存映像圖264(步驟S302)。接著在步驟S304中,內存控制單元160根據虛擬機所對應的內存映像圖264,標記虛擬機230上未被使用的內存頁面232為第一空閒頁。例如,內存控制單元160標記未使用的內存頁面234與內存頁面264為第一空閒頁。接著在步驟S306中,共享虛擬機230中的第一空閒頁,使得內存頁面232中不同的內存頁面可映像至物理內存頁面142中相同的物理內存頁面。例如,內存控制單元160在共享內存頁面234與內存頁面236之後,使得內存頁面234與內存頁面236被映像至物理內存頁面145。[第二實施例]請參考圖5,圖5為依照本發明第二實施例的內存共享方法的流程圖。其中步驟S302.S304.S306已詳細說明如上,在此便不再贅述。在步驟S303中,內存控制單元160暫停各虛擬機對內存頁面的存取。也就是說,內存控制單元160暫停了虛擬機230對內存頁面232的存取,也暫停了虛擬機240對內存頁面242的存取。並且,在步驟S305中,內存控制單元恢復了各虛擬機對內存頁面的存取。也就是說,內存控制單元160恢復了虛擬機230對內存頁面232的存取,也恢復了虛擬機240對內存頁面242的存取。如此一來,就可以避免內存控制單元160在進行步驟S304的同時,各虛擬機將數據寫入內存頁面所造成的錯誤。[第三實施例]請參考圖6及圖7,圖6為依照本發明第三實施例的內存共享方法的流程圖;圖7為依照本發明第三實施例所繪示的未使用內存分頁的示意圖。其中步驟S302與步驟S304已詳細說明如上,在此便不再贅述。然而,為了避免在步驟S304之後並且在內存控制單元160共享內存頁面之前有數據寫入至要共享的內存頁面,本實施例還會根據內存映像圖再次標記未使用的內存頁面為第二空閒頁並且使用只讀(read-only)標記來確認內存頁面未被寫入過。舉例來說,在步驟S304中,內存控制單元160根據虛擬機230所對應的內存映像圖264,標記各虛擬機上未被使用的內存頁面為多個第一空閒頁720(如圖7(a)所不)。接著在步驟S602中,內存控制單元160標記虛擬機上的內存頁面為只讀狀態。具體來說,內存控制單元160是將被標記為第一空閒頁的內存頁面標記為只讀狀態。以虛擬機230為例,第一空閒頁720皆被內存控制單元160標記為只讀狀態。除此之外,在步驟S602之後,若有被標記為只讀狀態的內存頁面(例如,第一空閒頁720)被寫入時,內存控制單元160會取消被寫入的內存頁面的只讀狀態。接著在步驟S604中,內存控制單元160根據各虛擬機所對應的內存映像圖,標記各虛擬機上未被使用的內存頁面為多個第二空閒頁。例如,內存控制單元160根據對應於虛擬機230的內存映像圖264,將內存頁面232中未使用的內存頁面標示為第二空閒頁730(如圖7(b)所示)。值得注意的是,在內存控制單元執行步驟S304與步驟S604的時間之間,內存頁面731被改寫了,因此第二空閒頁730與第一空閒頁720的範圍並不相同。並且,內存頁面731的只讀狀態也會被取消。接著,在步驟S606中,內存控制單元160將共享各虛擬機中同時被標記為只讀、第一空閒頁以及第二空閒頁的內存頁面。舉例來說,內存控制單元160檢查第一空閒頁720與第二空閒頁730所包含的內存分頁,得到重複的內存頁面740(如圖7(c)所示)。並且在共享內存頁面時,內存控制單元160檢查內存頁面740是否仍是只讀狀態以判斷內存頁面740是否有遭到寫入。如果內存頁面740仍是只讀狀態則內存控制單元160保持其只讀狀態並共享內存頁面740。在本實施例中,VMM220是名為Xen的開放原始碼的虛擬機監控程序,其中提供了nominate與share的指令,用以共享內存。更詳細的說,內存控制單元160是先呼叫nominate指令,取得內存頁面的手柄(handle)。然後再根據兩個內存頁面的手柄來呼叫share指令,藉此共享此兩內存頁面(步驟S606)。也就是說步驟S606是通過呼叫share指令來實作,而nominate的指令必須在步驟S606之前完成。舉例來說,請參照圖4A,內存控制單元160先呼叫nominate指令取得被標記為第一空閒頁234的各個內存分頁的手柄,接著呼叫nominate指令取得虛擬機240裡標記為第一空閒頁244的各個內存分頁的手柄。接著內存控制單元160再跟據標記為第一空閒頁234的內存分頁的手柄,以及被標記為第一空閒頁244的內存分頁的手柄來呼叫share指令,使得第一空閒頁234與第一空閒頁244的內存分頁可以共享物理內存分頁143。由於nominate與share的指令並不是被同時執行,因此會產生在nominate與share之間有數據寫入的問題。請參考圖8,圖8為依照本發明第三實施例所繪示的共享內存方法各步驟的時間軸示意圖。請同時參考圖7與圖8。如圖8(a)所示的情況,內存控制單元160先執行步驟S304並將未使用的內存分頁標示為第一空閒頁720,接著虛擬機230寫入數據到內存頁面731(步驟S802)。然後在步驟S804中內存控制單元160執行nominate指令,但所得到的內存手柄會是標記為第一空閒頁720的內存分頁。也就是說,內存控制單元160所得到的手柄所指向的第一空閒頁720中包含有一個已被使用的內存分頁731。在這樣的情況下,內存控制單元160在執行share指令時(步驟S806),會共享已被使用的內存分頁731,造成錯誤。然而,在本實施例的共享方法中會確認兩次未使用的內存分頁並使用只讀標記。本實施例如圖8(b)所示,在內存控制單元160執行步驟S304之後,內存控制單元160會標記內存頁面232為只讀狀態(步驟S602)。並且在步驟S802與S804以後,還會進行第二次的確認(步驟S604),標示非使用的內存頁面為第二空閒頁730。如此一來,在步驟S604中便會得到第二空閒頁730,而不會包括已被寫入的內存頁面731。因此在步驟S606中內存控制單元160執行share指令以共享同時被標記為只讀、第一空閒頁以及第二空閒頁的內存頁面740時,並不會共享已被使用的內存分頁731。在其他實施例中,內存控制單元160在圖6的流程圖中也可只執行步驟S302、S304、S604與S606。也就是說,內存控制單元160並不標記內存頁面為只讀狀態(步驟S602);而在步驟S606中,內存控制單元160共享被標記為第一空閒頁且也被標記為第二空閒頁的內存頁面。綜上所述,本發明提出了一種虛擬機內存的共享方法與一種計算機系統。本發明由於所共享的內存是虛擬機中未被使用的內存分頁,因此不需要經過哈希函數的比對,能夠提升效率。另一方面,本發明在確認虛擬機中未被使用的內存分頁時,會先暫停各虛擬機對內存分頁的存取,或者是確認兩次未使用的內存分頁,使得可以解決在存取內存分頁的同時有數據被寫入的問題。以上所述的具體實施例,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,應理解的是,以上所述僅為本發明的具體實施例而已,並不用於限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。權利要求1.一種虛擬機內存的共享方法,用於一計算機系統,該計算機系統用以執行至少一虛擬機,該共享方法包括取得該至少一虛擬機所對應的一內存映像圖,該內存映像圖存有所對應的該至少一虛擬機中多個內存頁面的使用狀態;根據該至少一虛擬機所對應的該內存映像圖,標記該至少一虛擬機上未被使用的該些內存頁面為多個第一空閒頁;以及共享該至少一虛擬機中的該些第一空閒頁。2.如權利要求1所述的共享方法,該方法還包括根據該至少一虛擬機所對應的該內存映像圖,標記該至少一虛擬機上未被使用的該些內存頁面為多個第二空閒頁;共享該至少一虛擬機中被標記為該些第一空閒頁且也被標記為該些第二空閒頁的該些內存頁面。3.如權利要求2所述的共享方法,其中被標記為該些第二空閒頁的該些內存頁面的個數少於被標記為該些第一空閒頁的該些內存頁面的個數。4.如權利要求2所述的共享方法,其中根據該至少一虛擬機所對應的該內存映像圖,標記該至少一虛擬機上未被使用的該些內存頁面為該些第一空閒頁的步驟之後還包括標記被標記為該些第一空閒頁的該些內存頁面為只讀狀態。5.如權利要求4所述的共享方法,其中標記被標記為該些第一空閒頁的該些內存頁面為只讀狀態的步驟之後還包括當被標記為只讀狀態且被標記為該些第一空閒頁的該些內存頁面被寫入時,取消被寫入的該些內存頁面的只讀狀態。6.如權利要求5所述的共享方法,其中共享該至少一虛擬機中被標記為該些第一空閒頁且也被標記為該些第二空閒頁的該些內存頁面的步驟還包括共享同時被標記為只讀狀態、第一空閒頁以及第二空閒頁的該些內存頁面。7.如權利要求1所述的共享方法,其中根據該至少一虛擬機所對應的該內存映像圖,標記該至少一虛擬機上未被使用的該些內存頁面為該些第一空閒頁的步驟之前還包括暫停該至少一虛擬機對該些內存頁面的存取。8.如權利要求7所述的共享方法,其中根據該至少一虛擬機所對應的該內存映像圖,標記該至少一虛擬機上未被使用的該些內存頁面為該些第一空閒頁的步驟之後還包括恢復該至少一虛擬機對該些內存頁面的存取。9.如權利要求1所述的共享方法,其中共享方法該至少一虛擬機中的該些第一空閒頁的步驟之前還包括暫停該至少一虛擬機對該些第一空閒頁的存取。10.如權利要求9所述的共享方法,其中共享該至少一虛擬機中的該些第一空閒頁的步驟之後還包括恢復該至少一虛擬機對該些第一空閒頁的存取。11.一種計算機系統,用以執行至少一虛擬機,該計算機系統包括一內存單元,包括有多個物理內存頁面;一處理單元,耦接至該內存單元;以及一內存控制單元,耦接至該處理單元與該內存單元;其中,該內存控制單元取得該至少一虛擬機所對應的一內存映像圖,該內存映像圖存有所對應的該虛擬機中多個內存頁面的使用狀態;該內存控制單元根據該至少一虛擬機所對應的該內存映像圖,標記該至少一虛擬機上未被使用的該些內存頁面為多個第一空閒頁;以及該內存控制單元共享該至少一虛擬機中的該些第一空閒頁。12.如權利要求11所述的計算機系統,其中該內存控制單元根據該至少一虛擬機所對應的該內存映像圖,標記該至少一虛擬機上未被使用的該些內存頁面為多個第二空閒頁;以及該內存控制單元共享該至少一虛擬機中被標記為該些第一空閒頁且也被標記為該些第二空閒頁的該些內存頁面。13.如權利要求12所述的計算機系統,其中被標記為該些第二空閒頁的該些內存頁面的個數少於被標記為該些第一空閒頁的該些內存頁面的個數。14.如權利要求12所述的計算機系統,其中該內存控制單元在標記該至少一虛擬機上未被使用的該些內存頁面為該些第一空閒頁之後,該內存控制單元還將被標記為該些第一空閒頁的該些內存頁面標記為只讀狀態。15.如權利要求14所述的計算機系統,其中該內存控制單元在標記被標記為該些第一空閒頁的該些內存頁面為只讀狀態之後,當被標記為只讀狀態且被標記為該些第一空閒頁的該些內存頁面被寫入時,該內存控制單元取消被寫入的該些內存頁面的只讀狀態。16.如權利要求15所述的計算機系統,其中該內存控制單元在共享該至少一虛擬機中被標記為該些第一空閒頁且也被標記為該些第二空閒頁的該些內存頁面時,該內存控制單元是共享同時被標記為只讀狀態、該些第一空閒頁以及該些第二空閒頁的該些內存頁面。17.如權利要求11所述的計算機系統,其中在標記該至少一虛擬機上未被使用的該些內存頁面為該些第一空閒頁之前,該內存控制單元暫停該至少一虛擬機對該些內存頁面的存取。18.如權利要求17所述的計算機系統,其中在標記該至少一虛擬機上未被使用的該些內存頁面為該些第一空閒頁之後,該內存控制單元恢復該至少一虛擬機對該些內存頁面的存取。19.如權利要求11所述的計算機系統,其中在共享該至少一虛擬機中的該些第一空閒頁之前,該內存控制單元暫停該至少一虛擬機對該些第一空閒頁的存取。20.如權利要求19所述的計算機系統,其中在共享該至少一虛擬機中的該些第一空閒頁之後,該內存控制單元恢復該至少一虛擬機對該些第一空閒頁的存取。全文摘要本發明公開了一種虛擬機內存的共享方法,此共享方法用於在執行至少一個虛擬機的計算機系統上。此共享方法包括以下步驟取得虛擬機所對應的內存映像圖,此內存映像圖存有所對應的虛擬機中內存頁面的使用狀態;根據虛擬機所對應的內存映像圖,標記虛擬機上未被使用的內存頁面為空閒頁;共享虛擬機中的空閒頁。藉此,虛擬機可以共享未被使用的內存頁面。本發明還提出了一種使用上述共享方法的計算機系統。文檔編號G06F12/08GK103064796SQ201110442250公開日2013年4月24日申請日期2011年12月26日優先權日2011年10月18日發明者李翰林,姜瑞豪,闕志克,潘穎軒,曹伯瑞申請人:財團法人工業技術研究院

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀