[发明专利]一种程序执行方法、程序管理器和虚拟机在审
申请号: | 201110445266.3 | 申请日: | 2011-12-27 |
公开(公告)号: | CN103186414A | 公开(公告)日: | 2013-07-03 |
发明(设计)人: | 郭琦;陆见微;李佳;路遥;宁晓魁;管慧娟;王竹强 | 申请(专利权)人: | 联想(北京)有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/455 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 逯长明 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 执行 方法 管理器 虚拟机 | ||
技术领域
本发明涉及计算机技术领域,更具体的说是涉及一种程序执行方法、程序管理器和虚拟机。
背景技术
X86架构和ARM架构是现有的两种基于不同类型的处理器而形成的计算机硬件架构,由于计算机硬件架构不同,在软件执行过程中其可调用的指令集也不同,因此通常情况下在一个硬件架构上并不能运行另一个硬件架构的程序。
但是随着计算机技术的发展,由于基于不同硬件架构的指令集而编译的程序各有自己的优势,因此在一个硬件架构中常常有运行基于另一个硬件架构的程序的需求,例如基于ARM架构编译的游戏程序,需要在X86架构上进行调试运行等。
现有的程序执行方法通常是通过计算机模拟器来执行,以X86架构上运行基于ARM架构的ARM程序为例,当需要执行ARM程序时启动模拟器,模拟器执行所述ARM程序,但是由于ARM程序实际还是运行在X86架构上,其需要通过物理的寄存器以及处理器进行数据传输和指令处理,因此执行所述ARM程序时,需要将ARM程序中的ARM指令翻译成基于X86架构的X86指令后才能执行。
由以上过程可以看出,在X86架构中执行ARM程序时,需要进行指令的翻译,而通常情况下为了满足程序的通用性,一个ARM指令会被翻译成多个X86指令,使得指令增多,因而就会降低程序的执行速率。
发明内容
有鉴于此,本发明提供了一种程序执行方法、程序管理器和虚拟机,用以解决现有的程序执行速率较低的技术问题。
为实现上述目的,本发明提供如下技术方案:
一种程序执行方法,应用于运行在第一硬件架构中的程序管理器,所述程序管理器是基于第二硬件架构所创建的,所述方法包括:
所述程序管理器接收到程序执行请求时,获取需要执行的基于第二硬件架构的第二程序;
判断所述第二程序调用的函数是否为第一硬件架构库文件中的预定函数;
如果是,则触发所述第一硬件架构按照所述预定函数执行所述第二程序中的指令。
优选地,当所述第二程序调用的函数不是第一硬件架构库文件中的预定函数时,所述方法还包括:
将所述第二程序中的第二指令以及所述调用函数翻译为所述基于第一硬件架构的第一指令和第一函数,并触发所述第一硬件架构在库文件中调用该第一函数,执行所述第一指令。
优选地,所述获取需要执行的基于第二硬件架构的第二程序具体为:
获取需要执行的基于第二硬件架构的第二程序,并确定所述第二程序中的指令及其调用的函数。
优选地于,所述第一硬件架构为X86平台,所述第二硬件架构为ARM平台。
一种程序执行方法,应用于运行在第一硬件架构中,且具有第二操作系统的虚拟机中,所述虚拟机是基于第二硬件架构所创建的,所述方法包括:
所述虚拟机接收到程序执行请求时,获取需要执行的基于第二硬件架构的第二程序;
判断所述第二程序调用的函数是否为第一硬件架构库文件中的预定函数;
如果是,则触发所述第一硬件架构按照所述预定函数执行所述第二程序中的指令。
一种程序管理器,运行在第一硬件架构中,且基于第二硬件架构所创建的,包括:
第一获取模块,用于接收到程序执行请求时,获取需要执行的基于第二硬件架构的第二程序。
第一判断模块,用于判断所述第二程序调用的函数是否为第一硬件架构库文件中的预定函数。
第一触发模块,用于当所述判断模块判断结果为是时,触发所述第一硬件架构按照所述预定函数执行所述第二程序中的指令。
优选地,所述装置还包括:
第一翻译模块,用于当所述判断模块为否时,将所述第二程序中的第二指令以及所述调用函数翻译为所述基于第一硬件架构的第一指令和第一函数,并触发所述第一硬件架构按照所述第一函数执行所述第一指令。
优选地,所述第一获取模块具体用于获取需要执行的基于第二硬件架构的第二程序,并确定所述第二程序中的第二指令及其调用的函数。
优选地,所述第一硬件架构为X86平台,所述第二硬件架构为ARM平台。
一种虚拟机,运行在第一硬件架构中,具有第二操作系统,且基于第二硬件架构所创建的,包括:
第二获取模块,用于接收到程序执行请求时,获取需要执行的基于第二硬件架构的第二程序;
第二判断模块,用于判断所述第二程序调用的函数是否为第一硬件架构库文件中的预定函数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想(北京)有限公司,未经联想(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110445266.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有故障预测能力的时序属性监控方法
- 下一篇:计算机系统