【技术实现步骤摘要】
一种应用程序的执行方法及处理器
[0001]本说明书实施例属于计算机
,尤其涉及一种应用程序的执行方法及处理器。
技术介绍
[0002]计算设备中的处理器通常会提供多种级别的特权级来供操作系统进行选择性使用。例如Linux操作系统通常使用处理器提供的最低特权级来运行用户态,使用处理器提供的最高特权级来运行内核态。其中对于能够被处理器直接执行的机器指令而言,可能造成较大安全风险的机器指令通常仅允许在内核态执行而不允许在用户态执行,但是仍然存在部分允许在用户态执行的机器指令被用户赋予了权限控制含义,用户可能并不期望这样的指令被滥用。
技术实现思路
[0003]本专利技术的目的在于提供一种应用程序的执行方法及处理器。
[0004]第一方面,提供了一种应用程序的执行方法,所述应用程序中包括第一指令,所述方法由处理器执行,所述处理器中包括与第一指令对应的第一寄存器。所述方法包括:获取所述应用程序中与所述第一指令对应的第一数据;从所述第一寄存器中读取第二数据;根据所述第一数据和所述第二数据确定是否执行所述第 ...
【技术保护点】
【技术特征摘要】
1.一种应用程序的执行方法,所述应用程序中包括第一指令,所述方法由处理器执行,所述处理器中包括与第一指令对应的第一寄存器,所述方法包括:获取所述应用程序中与所述第一指令对应的第一数据;从所述第一寄存器中读取第二数据;根据所述第一数据和所述第二数据确定是否执行所述第一指令。2.根据权利要求1所述的方法,其中,所述应用程序中包括第一程序段和第二程序段,所述第一指令属于所述第二程序段;所述方法还包括:根据所述第一程序段向所述第一寄存器写入所述第二数据。3.根据权利要求2所述的方法,所述方法还包括:根据所述第一程序段将所述第二数据作为所述第一数据写入所述第二程序段中的目标指令;所述获取所述应用程序中与所述第一指令对应的第一数据,具体包括:执行所述目标指令以获取所述第一数据。4.根据权利要求2所述的方法,所述方法还包括:根据所述第一程序段获取将作为所述第二数据的随机数。5.根据权利要求2所述的方法,所述方法还包括:根据所述第一程序段将所述目标指令设置为仅具有执行权限而不具有读写权限。6.根据权利要求2所述的方法,其中,所述根据所述第一程序段向所述第一寄存器写入所述第二数据,具体包括根据所述第一程序段中的第二指令向所述第一寄存器写入所述第二数据,其中所述第二指令被设置为在以下任一情况下允许执行:所述处理器在当前时刻所处的特权级大于用户态的特权级;所述第一寄存器中存储有预设数值;所述第二指令对应的第二寄存器中存储的数据与存储于所述第一寄存器中的当前数据相同,所述第二寄存器中存储的数据由位于所述第二指令之前的指令流设置。7.根据权利要求1
‑
6中任一项所述的方法,其中,所述应用程序属于部署在区块链上的智能合约。8.根据权利要求1
‑
6中任一项所述的方法,其中,所述第一指令属于具有权限管理性质的特权指令。9.一种处理器,包括运算器和第一...
【专利技术属性】
技术研发人员:刘晓建,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。