[發(fā)明專利]一種程序執(zhí)行方法、程序管理器和虛擬機在審
| 申請?zhí)枺?/td> | 201110445266.3 | 申請日: | 2011-12-27 |
| 公開(公告)號: | CN103186414A | 公開(公告)日: | 2013-07-03 |
| 發(fā)明(設計)人: | 郭琦;陸見微;李佳;路遙;寧曉魁;管慧娟;王竹強 | 申請(專利權)人: | 聯(lián)想(北京)有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46;G06F9/455 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 逯長明 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 程序 執(zhí)行 方法 管理器 虛擬機 | ||
技術領域
本發(fā)明涉及計算機技術領域,更具體的說是涉及一種程序執(zhí)行方法、程序管理器和虛擬機。
背景技術
X86架構和ARM架構是現(xiàn)有的兩種基于不同類型的處理器而形成的計算機硬件架構,由于計算機硬件架構不同,在軟件執(zhí)行過程中其可調用的指令集也不同,因此通常情況下在一個硬件架構上并不能運行另一個硬件架構的程序。
但是隨著計算機技術的發(fā)展,由于基于不同硬件架構的指令集而編譯的程序各有自己的優(yōu)勢,因此在一個硬件架構中常常有運行基于另一個硬件架構的程序的需求,例如基于ARM架構編譯的游戲程序,需要在X86架構上進行調試運行等。
現(xiàn)有的程序執(zhí)行方法通常是通過計算機模擬器來執(zhí)行,以X86架構上運行基于ARM架構的ARM程序為例,當需要執(zhí)行ARM程序時啟動模擬器,模擬器執(zhí)行所述ARM程序,但是由于ARM程序實際還是運行在X86架構上,其需要通過物理的寄存器以及處理器進行數(shù)據(jù)傳輸和指令處理,因此執(zhí)行所述ARM程序時,需要將ARM程序中的ARM指令翻譯成基于X86架構的X86指令后才能執(zhí)行。
由以上過程可以看出,在X86架構中執(zhí)行ARM程序時,需要進行指令的翻譯,而通常情況下為了滿足程序的通用性,一個ARM指令會被翻譯成多個X86指令,使得指令增多,因而就會降低程序的執(zhí)行速率。
發(fā)明內容
有鑒于此,本發(fā)明提供了一種程序執(zhí)行方法、程序管理器和虛擬機,用以解決現(xiàn)有的程序執(zhí)行速率較低的技術問題。
為實現(xiàn)上述目的,本發(fā)明提供如下技術方案:
一種程序執(zhí)行方法,應用于運行在第一硬件架構中的程序管理器,所述程序管理器是基于第二硬件架構所創(chuàng)建的,所述方法包括:
所述程序管理器接收到程序執(zhí)行請求時,獲取需要執(zhí)行的基于第二硬件架構的第二程序;
判斷所述第二程序調用的函數(shù)是否為第一硬件架構庫文件中的預定函數(shù);
如果是,則觸發(fā)所述第一硬件架構按照所述預定函數(shù)執(zhí)行所述第二程序中的指令。
優(yōu)選地,當所述第二程序調用的函數(shù)不是第一硬件架構庫文件中的預定函數(shù)時,所述方法還包括:
將所述第二程序中的第二指令以及所述調用函數(shù)翻譯為所述基于第一硬件架構的第一指令和第一函數(shù),并觸發(fā)所述第一硬件架構在庫文件中調用該第一函數(shù),執(zhí)行所述第一指令。
優(yōu)選地,所述獲取需要執(zhí)行的基于第二硬件架構的第二程序具體為:
獲取需要執(zhí)行的基于第二硬件架構的第二程序,并確定所述第二程序中的指令及其調用的函數(shù)。
優(yōu)選地于,所述第一硬件架構為X86平臺,所述第二硬件架構為ARM平臺。
一種程序執(zhí)行方法,應用于運行在第一硬件架構中,且具有第二操作系統(tǒng)的虛擬機中,所述虛擬機是基于第二硬件架構所創(chuàng)建的,所述方法包括:
所述虛擬機接收到程序執(zhí)行請求時,獲取需要執(zhí)行的基于第二硬件架構的第二程序;
判斷所述第二程序調用的函數(shù)是否為第一硬件架構庫文件中的預定函數(shù);
如果是,則觸發(fā)所述第一硬件架構按照所述預定函數(shù)執(zhí)行所述第二程序中的指令。
一種程序管理器,運行在第一硬件架構中,且基于第二硬件架構所創(chuàng)建的,包括:
第一獲取模塊,用于接收到程序執(zhí)行請求時,獲取需要執(zhí)行的基于第二硬件架構的第二程序。
第一判斷模塊,用于判斷所述第二程序調用的函數(shù)是否為第一硬件架構庫文件中的預定函數(shù)。
第一觸發(fā)模塊,用于當所述判斷模塊判斷結果為是時,觸發(fā)所述第一硬件架構按照所述預定函數(shù)執(zhí)行所述第二程序中的指令。
優(yōu)選地,所述裝置還包括:
第一翻譯模塊,用于當所述判斷模塊為否時,將所述第二程序中的第二指令以及所述調用函數(shù)翻譯為所述基于第一硬件架構的第一指令和第一函數(shù),并觸發(fā)所述第一硬件架構按照所述第一函數(shù)執(zhí)行所述第一指令。
優(yōu)選地,所述第一獲取模塊具體用于獲取需要執(zhí)行的基于第二硬件架構的第二程序,并確定所述第二程序中的第二指令及其調用的函數(shù)。
優(yōu)選地,所述第一硬件架構為X86平臺,所述第二硬件架構為ARM平臺。
一種虛擬機,運行在第一硬件架構中,具有第二操作系統(tǒng),且基于第二硬件架構所創(chuàng)建的,包括:
第二獲取模塊,用于接收到程序執(zhí)行請求時,獲取需要執(zhí)行的基于第二硬件架構的第二程序;
第二判斷模塊,用于判斷所述第二程序調用的函數(shù)是否為第一硬件架構庫文件中的預定函數(shù);
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于聯(lián)想(北京)有限公司,未經(jīng)聯(lián)想(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110445266.3/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 以注射方式執(zhí)行死刑的自動執(zhí)行車的執(zhí)行床
- 過程執(zhí)行裝置、過程執(zhí)行方法以及過程執(zhí)行程序
- 用以執(zhí)行跳舞電子游戲的執(zhí)行系統(tǒng)及其執(zhí)行方法
- 策略執(zhí)行系統(tǒng)及其執(zhí)行方法
- 腳本執(zhí)行系統(tǒng)和腳本執(zhí)行方法
- 命令執(zhí)行設備、命令執(zhí)行系統(tǒng)、命令執(zhí)行方法以及命令執(zhí)行程序
- 程序執(zhí)行裝置、程序執(zhí)行系統(tǒng)以及程序執(zhí)行方法
- 處理執(zhí)行設備和由該處理執(zhí)行設備執(zhí)行的方法
- 有序任務的執(zhí)行方法、執(zhí)行裝置和執(zhí)行系統(tǒng)
- 執(zhí)行器(閥門執(zhí)行器)





