[發明專利]一種虛擬機載入器在審
| 申請號: | 201310025410.7 | 申請日: | 2013-01-23 |
| 公開(公告)號: | CN103064718A | 公開(公告)日: | 2013-04-24 |
| 發明(設計)人: | 李瑞平 | 申請(專利權)人: | 北京伸得緯科技有限公司;國際伸得緯有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;G06F9/455 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100028 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 虛擬機 載入器 | ||
技術領域
本發明涉及虛擬計算機技術領域,具體地說,涉及一種虛擬機載入器。
背景技術
現有技術中,隨著計算機技術的不斷發展,計算機的功能越來越強大,雖然移動存儲設備或存儲服務器給用戶帶來了很多方便,使用戶能夠在不同的計算機上工作,但是,由于不同計算機的工作環境以及安裝的應用軟件大相徑庭,因此給用戶帶來極大的困擾。為了解決上述問題,虛擬操作系統(VOS,VirtualOperating?System)技術孕育而生。VOS可以讓使用者在本機的操作系統上使用其他的操作系統,每個虛擬操作系統都可以有自己的系統配置、文檔、應用程序。虛擬操作系統之間彼此獨立,不會互相干擾。使用者可以在一個操作系統上同時準備多個虛擬操作系統,每個虛擬操作系統可以具有不同的用途,例如,游戲、辦公、藝術創作等。
現有技術中創建虛擬操作系統的一種方式是通過重量級的虛擬機器(HWVM,HeavyWeight?VirtualMachine)建立多個隔離式虛擬操作系統。如果要在虛擬機(VM,Virtual?Machine)上安裝并運行應用程序,必須先在VM上重新安裝一套操作系統(即子操作系統,Guest?OS),然后才能正常的安裝并運行應用程序。由于VM是需要模擬一個空的機器,因此,在VM里中運行的應用程序在需要調用硬件資源時(例如,讀寫文件、顯示窗體等),下達的每一個指令都必須透過層層轉換與傳達才能正確運行。
在一種虛擬機系統中,可構建多個相互獨立的虛擬機,供若干用戶同時使用,各虛擬機中的操作系統、應用程序、用戶數據等都是各自獨立進行處理的,操作數據和文件分別存放在各自的單元中,這樣的架構,可以很好地實現虛擬機的備份/恢復功能,但如何協調好各虛擬機的資源分配、各自的邏輯模塊運行是需要解決的一個問題!
發明內容
本發明提供一種虛擬機載入器,可使得虛擬機系統順暢地啟動和運行。
本發明提供的一種虛擬機載入器,包括:
內存分配模塊,用于分配內存空間給相應進程;
連接模塊,用于處理動態庫之間的相互關聯;
重定位模塊,調整與內存空間大小、位置,使得基于所分配內存可執行相關進程;
載入模塊,用于載入虛擬機自身的邏輯模塊。
其中,內存分配模塊分配內存空間給相應進程,具體包括:
為初始進程及其后續子進程預先分配內存空間。
更適宜地,其中連接模塊處理動態庫之間的相互關聯,具體為:
基于所分配的內存建立子進程并暫停新建立的子進程;
取代子進程的環境控制表與函數入口點;
激活子進程。
其中虛擬機自身的邏輯模塊包括虛擬機運行時模塊和/或虛擬機邏輯模塊。
本發明提供一種虛擬機載入器,通過設置用于分配內存空間給相應進程的內存分配模塊,用于處理動態庫之間的相互關聯的連接模塊,調整與內存空間大小、位置,使得基于所分配內存可執行相關進程的重定位模塊,以及用于載入虛擬機自身的邏輯模塊的載入模塊,可使得該虛擬機系統順暢地啟動和運行。
附圖說明
圖1為本發明實施例中提供的虛擬機系統架構示意圖;
圖2是本發明提供的虛擬及載入器的軟件模塊構成示意圖;
圖3為本發明實施例中提供的在虛擬環境下接管應用程序的詳細處理的流程圖;
圖4為本發明提供的一種虛擬機操作系統運行子進程的流程;
圖5為本發明實施例中提供的VOS主模塊的運行步驟。
具體實施方式
鑒于虛擬機系統啟動和運行所面臨的問題,本發明提供的一種虛擬機載入器,可接受目的程序,并將這些目的程序連接成一個可以讓虛擬機執行的程序。
本發明所提供的載入器和一般廣義上的載入器功能、用法相近,但是針對性不同,本發明的載入器基于一種虛擬機系統,參照圖2,該系統中可構建兩個以上相互獨立的虛擬機,供若干用戶同時使用,各虛擬機中的操作系統、應用程序、用戶數據等都是各自獨立進行處理的,操作數據和文件分別存放在各自的單元中的架構。針對此種虛擬機而設計的。具體實現方案中,每個載入器有各自的邏輯,但是大體流程相通,所以同傳統的載入器工作模式大致相同,本發明提供的載入器具有分配、連接、重定位、載入四大功能。
參照圖2,本發明提供的一種虛擬機載入器200,包括:
內存分配模塊21,用于分配內存空間給相應進程;
連接模塊22,用于處理動態庫之間的相互關聯;
重定位模塊23,調整與內存空間大小、位置,使得基于所分配內存可執行相關進程;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京伸得緯科技有限公司;國際伸得緯有限公司,未經北京伸得緯科技有限公司;國際伸得緯有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310025410.7/2.html,轉載請聲明來源鉆瓜專利網。





