[發(fā)明專利]一種虛擬機文件運行方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201110311258.X | 申請日: | 2011-10-14 |
| 公開(公告)號: | CN102508694A | 公開(公告)日: | 2012-06-20 |
| 發(fā)明(設(shè)計)人: | 鐘衍徽;李志雄 | 申請(專利權(quán))人: | 深圳市江波龍電子有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 518057 廣東省深圳市南山區(qū)科*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 虛擬機 文件 運行 方法 系統(tǒng) | ||
【技術(shù)領(lǐng)域】
本發(fā)明涉及計算機技術(shù),特別是涉及一種虛擬機文件運行方法及系統(tǒng)。
【背景技術(shù)】
虛擬機(Virtual?Machine)是運行在物理計算機上的一個應(yīng)用程序,是通過相關(guān)的虛擬機軟件在物理計算機上所模擬出的計算機系統(tǒng),并像真正的計算機那樣工作。
現(xiàn)有技術(shù)中,虛擬機讀入一條指令,解釋,執(zhí)行,然后再重復(fù)讀取下一條指令,解釋,執(zhí)行,如此循環(huán)。該方案下,虛擬機運行程序速度較慢,若將虛擬機指令本地實現(xiàn)則可提高其運行速度。在實際使用過程中,有以下幾種方法來實現(xiàn)虛擬機的本地實現(xiàn):方法一、虛擬機借助本地調(diào)用指令,即“本地接口特定指令”集中實現(xiàn)內(nèi)部運行的代碼與其它語言編寫的應(yīng)用程序和庫進(jìn)行交互,使得任意一個本地應(yīng)用程序均能嵌入虛擬機中。但“本地接口特定指令”是指令集中專門定義的“本地編程接口”特定指令,必須事先在指令集中專門定義。此方法能夠提高虛擬機的運行速度,但須要限制本地編程接口和本地調(diào)用特定指令,且須要在一套實用的指令集中設(shè)計一套復(fù)雜的編譯器,該方法成本較大。例如Java指令集歸屬于Sun?Microsystems公司,使用Java指令集涉及了著作權(quán)的問題。方法二、將輸入虛擬機中的二進(jìn)制文件,經(jīng)過分析后全部轉(zhuǎn)化為本地代碼文件,最后由宿主機直接執(zhí)行本地代碼。此方法比較高效,但將二進(jìn)制文件全部轉(zhuǎn)本地代碼的過程很復(fù)雜,實施難度較高。
【發(fā)明內(nèi)容】
基于此,有必要提供一種能提高虛擬機運行速度的虛擬機文件運行方法,此外,還有必要提供一種能提高虛擬機運行速度的虛擬機系統(tǒng)。
一種虛擬機文件運行方法,包括以下步驟:
在宿主機中預(yù)設(shè)優(yōu)化函數(shù)庫,優(yōu)化函數(shù)庫由虛擬機中常用的庫函數(shù)組成;
建立可執(zhí)行文件中位于優(yōu)化函數(shù)庫中的庫函數(shù)與接口地址的對應(yīng)關(guān)系,并輸入至虛擬機;
虛擬機裝載、解釋、運行所述可執(zhí)行文件的指令;
虛擬機根據(jù)所述指令中包含的接口地址判斷所運行的指令是否在優(yōu)化函數(shù)庫中,如果是,則宿主機調(diào)用宿主機中優(yōu)化函數(shù)庫,本地代碼實現(xiàn)所述優(yōu)化函數(shù)庫中與所述接口地址對應(yīng)的庫函數(shù)的功能;
宿主機執(zhí)行完所述庫函數(shù)的功能后,返回虛擬機中運行。
優(yōu)選地,所述虛擬機文件運行方法還包括步驟:當(dāng)虛擬機運行的指令不在優(yōu)化函數(shù)庫中時,由虛擬機運行所述指令。
優(yōu)選地,所述建立可執(zhí)行文件中位于優(yōu)化函數(shù)庫中的庫函數(shù)與接口地址的對應(yīng)關(guān)系是根據(jù)所述可執(zhí)行文件的程序鏈接時產(chǎn)生的符號鏈接映射文件建立。
優(yōu)選地,所述建立可執(zhí)行文件中位于優(yōu)化函數(shù)庫中的庫函數(shù)與接口地址的對應(yīng)關(guān)系是在虛擬機裝載所述可執(zhí)行文件的程序時掃描所述程序建立。
優(yōu)選地,所述宿主機調(diào)用宿主機中優(yōu)化函數(shù)庫,本地代碼實現(xiàn)所述優(yōu)化函數(shù)庫中與所述接口地址對應(yīng)的庫函數(shù)的功能時,宿主機需從虛擬機存儲器中獲取所述庫函數(shù)輸入和輸出的數(shù)據(jù),并將所述本地代碼實現(xiàn)的結(jié)果回存到虛擬機。
本發(fā)明還提供一種能提高虛擬機運行速度的虛擬機系統(tǒng)。
一種虛擬機系統(tǒng),包括虛擬機和宿主機,至少還包括:
優(yōu)化函數(shù)庫預(yù)設(shè)模塊,用于在宿主機中預(yù)設(shè)優(yōu)化函數(shù)庫,優(yōu)化函數(shù)庫由虛擬機中常用的庫函數(shù)組成;
預(yù)處理模塊,用于建立可執(zhí)行文件中位于優(yōu)化函數(shù)庫中的庫函數(shù)與接口地址的對應(yīng)關(guān)系,并輸入至虛擬機;
處理模塊,用于虛擬機裝載、解釋、運行所述可執(zhí)行文件的指令;
判斷模塊,用于虛擬機根據(jù)所述指令中包含的接口地址判斷所運行的指令是否在優(yōu)化函數(shù)庫中;
本地實現(xiàn)模塊,用于當(dāng)虛擬機根據(jù)所述指令中包含的接口地址判斷所運行的指令在優(yōu)化函數(shù)庫中時,宿主機調(diào)用宿主機中優(yōu)化函數(shù)庫,本地代碼實現(xiàn)所述優(yōu)化函數(shù)庫中與所述接口地址對應(yīng)的庫函數(shù)的功能。
本地實現(xiàn)結(jié)果返回模塊,用于宿主機執(zhí)行完所述庫函數(shù)的功能后,返回虛擬機中運行。
優(yōu)選地,所述虛擬機系統(tǒng)還包括:虛擬機運行模塊,用于當(dāng)虛擬機運行的指令不在優(yōu)化函數(shù)庫中時,由虛擬機運行所述指令。
優(yōu)選地,所述預(yù)處理模塊根據(jù)所述可執(zhí)行文件的程序鏈接時產(chǎn)生的符號鏈接映射文件建立可執(zhí)行文件中位于優(yōu)化函數(shù)庫中的庫函數(shù)與接口地址的對應(yīng)關(guān)系。
優(yōu)選地,所述預(yù)處理模塊在虛擬機裝載可執(zhí)行文件的程序時掃描所述程序,建立所述可執(zhí)行文件中位于優(yōu)化函數(shù)庫中的庫函數(shù)與接口地址的對應(yīng)關(guān)系。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳市江波龍電子有限公司,未經(jīng)深圳市江波龍電子有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110311258.X/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種多用途床
- 下一篇:旋轉(zhuǎn)浮閥塔





