应用程序运行方法、运行环境RE、电子设备、存储介质与流程

文档序号:35888015发布日期:2023-10-28 18:36阅读:36来源:国知局
应用程序运行方法、运行环境RE、电子设备、存储介质与流程

本技术涉及但不限于计算机,尤其涉及一种应用程序运行方法、re、电子设备、存储介质。


背景技术:

1、计算机技术中实现应用程序隔离的手段一般是通过处理器和操作系统实现的虚拟内存映射物理内存来实现,例如甲骨文公司的javacard虚拟机技术,在普通的单片机上也实现了应用程序的隔离,对于应用程序来说只能感知到虚拟内存的存在,在物理上各个应用程序是隔离的,从而防止恶意软件和其他威胁侵害系统的内部子系统,从而保障各个应用程序的安全运行。但是,目前通过虚拟机技术运行应用程序的方案,是使用一套虚拟机指令集来运行应用程序,而虚拟机的指令集一般需要通过软件来实现,也就是说虚拟机也是一个软件,而不是直接运行在cpu上,导致应用程序的运行效率较低。


技术实现思路

1、本技术实施例提供了一种应用程序运行方法、re、电子设备、存储介质,能够有效提升应用程序的运行效率。

2、第一方面,本技术实施例提供了一种应用程序运行方法,应用于re,所述re部署在cpu上,所述re包括指令读取模块、指令执行模块和注册表,所述注册表存储有目标应用程序对应的目标响应地址范围,所述方法包括:

3、所述指令读取模块根据所述目标应用程序对应的程序指令集地址获取目标程序指令集,所述目标程序指令集包括多个程序指令序列;

4、所述指令读取模块从所述目标程序指令集中获取所述程序指令序列,并确定所述程序指令序列的响应地址;

5、当所述响应地址归属于所述目标响应地址范围,所述指令读取模块将所述程序指令序列确定为目标程序指令序列,并将所述目标程序指令序列发送至所述指令执行模块;

6、所述指令执行模块接收到所述目标程序指令序列之后,通过切换所述re与所述目标应用程序的上下文,运行所述目标程序指令序列。

7、在一些实施例中,所述目标响应地址范围包括所述目标应用程序对应的数据空间范围和程序地址范围,所述当所述响应地址归属于所述目标响应地址范围,所述指令读取模块将所述程序指令序列确定为目标程序指令序列,包括:

8、确定所述程序指令序列的参考指令类型;

9、当所述参考指令类型表征所述程序指令序列为存储区读写指令,确定所述程序指令序列的目标读写地址,当所述目标读写地址归属于所述数据空间范围,将所述程序指令序列确定为所述目标程序指令序列;

10、当所述参考指令类型表征所述程序指令序列为跳转指令,确定所述程序指令序列的第一目标跳转地址,当所述第一目标跳转地址归属于所述程序地址范围,将所述程序指令序列确定为所述目标程序指令序列;

11、当所述参考指令类型表征所述程序指令序列为除了所述存储区读写指令和所述跳转指令之外的指令类型,将所述程序指令序列确定为所述目标程序指令序列。

12、在一些实施例中,在所述指令读取模块将所述程序指令序列确定为目标程序指令序列之后,所述方法还包括:

13、当所述参考指令类型表征所述程序指令序列为存储区读写指令,或者所述参考指令类型表征所述程序指令序列为除了所述存储区读写指令和所述跳转指令之外的指令类型,根据所述目标程序指令序列的指令长度更新当前程序执行地址;

14、当所述参考指令类型表征所述程序指令序列为跳转指令,更新所述当前程序执行地址为所述第一目标跳转地址。

15、在一些实施例中,在所述将所述程序指令序列确定为所述目标程序指令序列之后,所述方法还包括:

16、确定所述目标程序指令集的指令地址范围;

17、在所述当前程序执行地址归属于所述指令地址范围的情况下,重新从所述目标程序指令集中获取新的程序指令序列。

18、在一些实施例中,所述指令执行模块存储有第一待运行指令地址、第二待运行指令地址和第三待运行指令地址, 所述第一待运行指令地址对应的指令序号、所述第二待运行指令地址对应的指令序号和所述第三待运行指令地址对应的指令序号按照数值从小到大的顺序排序,所述第一待运行指令地址为存储第一指令序列的地址,所述第二待运行指令地址为存储第二指令序列的地址,所述第三待运行指令地址为存储第三指令序列的地址,所述第一指令序列用于将上下文从所述re切换至应用程序,所述第二指令序列为程序指令序列,所述第三指令序列用于将上下文从所述应用程序切换至所述re,所述通过切换所述re与所述目标应用程序的上下文,运行所述目标程序指令序列,包括:

19、所述指令执行模块将所述目标程序指令序列覆盖所述第二待运行指令地址对应的程序指令序列;

20、确定所述目标程序指令序列的目标指令长度,并根据所述目标指令长度和所述第二待运行指令地址修改所述第三待运行指令地址;

21、所述指令执行模块按照全部的所述指令序号从小到大的顺序,依次执行所述第一指令序列、所述第二指令序列和所述第三指令序列。

22、在一些实施例中,所述指令执行模块还包括程序上下文存储空间和re上下文存储空间,所述指令执行模块执行所述第一指令序列,包括:

23、所述指令执行模块将所述cpu的全部的寄存器保存至所述re上下文存储空间;

24、所述指令执行模块将所述程序上下文存储空间中的内容恢复到所述cpu的全部的寄存器上,其中,程序计数器为所述第二待运行指令地址。

25、在一些实施例中,所述指令执行模块执行所述第三指令序列,包括:

26、所述指令执行模块将所述cpu的全部的所述寄存器保存至所述程序上下文存储空间;

27、所述指令执行模块将所述re上下文存储空间中的内容恢复到所述cpu对应的寄存器上,其中,所述程序计数器为第二目标跳转地址,所述第二目标跳转地址为预设操作指令的地址,所述预设操作指令用于控制所述指令读取模块从所述目标程序指令集中获取新的所述程序指令序列。

28、第二方面,本技术实施例提供了一种运行环境re,包括:

29、注册表,所述注册表存储有目标应用程序对应的目标响应地址范围;

30、指令读取模块,所述指令读取模块用于根据目标应用程序对应的程序指令集地址获取目标程序指令集,所述目标程序指令集包括多个程序指令序列,并从所述目标程序指令集中获取所述程序指令序列,并确定所述程序指令序列的响应地址,当所述响应地址归属于所述目标响应地址范围,所述指令读取模块将所述程序指令序列确定为目标程序指令序列,并将所述目标程序指令序列发送至所述指令执行模块;

31、指令执行模块,所述指令执行模块用于接收到所述目标程序指令序列之后,通过切换所述re与所述目标应用程序的上下文,运行所述目标程序指令序列。

32、第三方面,本技术实施例提供了一种电子设备,包括第二方面实施例的re。

33、第四方面,本技术实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如第一方面所述的应用程序运行方法。

34、本技术实施例提供了一种应用程序运行方法、re、电子设备、存储介质,方法包括:所述指令读取模块根据所述目标应用程序对应的程序指令集地址获取目标程序指令集,所述目标程序指令集包括多个程序指令序列;所述指令读取模块从所述目标程序指令集中获取所述程序指令序列,并确定所述程序指令序列的响应地址;当所述响应地址归属于所述目标响应地址范围,所述指令读取模块将所述程序指令序列确定为目标程序指令序列,并将所述目标程序指令序列发送至所述指令执行模块;所述指令执行模块接收到所述目标程序指令序列之后,通过切换所述re与所述目标应用程序的上下文,运行所述目标程序指令序列。根据本技术实施例的方案,基于部署在cpu上的re运行目标应用程序,并限制目标程序指令序列的响应地址在注册表的目标响应地址范围内,能够实现在不使用虚拟内存和虚拟机前提下实现应用程序的隔离运行,提高应用程序运行效率的同时,保障应用程序的安全运行。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1