[发明专利]跨操作系统运行应用的装置、方法、电子设备和存储器有效
申请号: | 201710459121.6 | 申请日: | 2017-06-16 |
公开(公告)号: | CN109144575B | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 朱宇新;温健;郭建新;董龙江;刘超;唐宇 | 申请(专利权)人: | 北京海誉动想科技股份有限公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401;G06F9/445 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100102 北京市朝阳区阜*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 操作系统 运行 应用 装置 方法 电子设备 存储器 | ||
本发明提供的跨操作系统运行应用的装置、方法、电子设备和存储器,包括解析模块、链接模块、绑定模块和模拟基础库。解析模块解析第一操作系统应用的格式。链接模块改变第一操作系统应用中基础库的链接路径将链接路径指向所述的模拟基础库。绑定模块包括模拟链接器,模拟链接器用于第一操作系统应用查找库函数的地址,模拟链接器绑定第一操作系统应用运行所需的模拟基础库中的库函数。模拟基础库,包括第二操作系统中模拟的第一操作系统基础库。能够比较简单的实现跨操作系统运行应用,针对第一操作系统开发的应用能够在第二操作系统上运行,不需要修改第一操作系统应用自身的代码或者第二操作系统的内核,在一些特定场景下具有重要价值。
技术领域
本发明涉及跨操作系统运行应用的装置、方法、电子设备和存储器。
背景技术
具有操作系统的电子设备,例如个人计算机、移动终端等,在日常生活中发挥着越来越重要的作用。电子设备的重要功能是运行各种应用,应用指能够在某种操作系统中运行的软件或程序。通常情况下,应用是针对特定的操作系统开发的,只能在特定的操作系统上运行,相同功能的应用会针对不同操作系统开发不同的版本。但在一些特定场景下,要求针对某种操作系统开发的应用不修改自身的代码也能够在另一种操作系统上运行。理论上修改操作系统的内核可以实现上述效果,但修改操作系统的内核非常复杂,工作量浩大。比较简单的跨操作系统运行应用的方法,尚未见报道。
在说明书“背景技术”部分公开的内容,有助于本领域技术人员理解本发明的技术方案,但不应据此认为这些内容一定属于现有技术或公知常识。
发明内容
为了克服“背景技术”部分所反映的缺陷,本发明提供跨操作系统运行应用的装置、方法、电子设备和存储器。
跨操作系统运行应用的装置,包括解析模块、链接模块、绑定模块和模拟基础库;
所述的解析模块用于解析第一操作系统应用的格式;
所述的链接模块用于改变第一操作系统应用中基础库的链接路径,将链接路径指向所述的模拟基础库;
所述的绑定模块包括模拟链接器,所述的模拟链接器用于第一操作系统应用查找库函数的地址,所述的模拟链接器绑定第一操作系统应用运行所需的模拟基础库中的库函数;
所述的模拟基础库,包括第二操作系统中模拟的第一操作系统基础库以及第一操作系统基础库中的库函数。
进一步的,所述的装置还包括加载入口,所述的加载入口用于加载第一操作系统应用并提供第一操作系统应用运行所需的环境和上下文。
进一步的,所述的基础库包括链接库。
更进一步的,所述的链接为动态链接,所述的绑定为动态绑定。
更进一步的,所述的第一操作系统为IOS系统,所述的第二操作系统为Linux系统或者衍生于Linux系统的操作系统。
跨操作系统运行应用的方法,包括:
创建第一操作系统应用运行所需的文件目录结构,获取第一操作系统应用运行所需的环境变量;
加载并解析第一操作系统应用;
加载第一操作系统应用运行所需的链接库;
以汇编方式实现函数的参数压栈,第一操作系统应用跳转到入口函数的地址处执行;
模拟基础库向第一操作系统应用提供运行所需的库函数。
进一步的,所述的方法还包括:
设置线程本地存储。
电子设备,包括处理器、存储器以及存储在所述的存储器中并能够被所述的处理器执行的指令,所述的处理器执行所述的指令能够实现所述的跨操作系统运行应用的装置或者跨操作系统运行应用的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京海誉动想科技股份有限公司,未经北京海誉动想科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710459121.6/2.html,转载请声明来源钻瓜专利网。