一种控制中断源的运行方法、装置、终端设备及存储介质

文档序号:86361 发布日期:2021-10-08 浏览:23次 >En<

阅读说明:本技术 一种控制中断源的运行方法、装置、终端设备及存储介质 (Method and device for controlling operation of interrupt source, terminal equipment and storage medium ) 是由 肖志良 唐建生 赵雪章 于 2021-06-30 设计创作,主要内容包括:本发明涉及中断源控制领域,具体是涉及一种控制中断源的运行方法、装置、终端设备及存储介质。本发明首先根据中断源所对应的保护域序号,判断中断源是否受信任,根据判断结果再去寻求与该中断源相匹配的目标保护域,也即地址空间和时间限制来运行该中断源,以防止潜在的不受信任的中断源直接访问保存有系统核心内容的内存或进入死循环,从而能够起到保护系统信息安全的作用。本发明首先对中断源的安全性进行判断,能够很好的保护系统不被不受信任的中断源破坏,从而提高系统的安全性。(The invention relates to the field of interrupt source control, in particular to an operation method and device for controlling an interrupt source, terminal equipment and a storage medium. The invention firstly judges whether the interrupt source is trusted according to the protection domain serial number corresponding to the interrupt source, and then seeks a target protection domain matched with the interrupt source according to the judgment result, namely address space and time limitation to operate the interrupt source, so as to prevent the potential untrusted interrupt source from directly accessing the memory stored with the system core content or entering dead cycle, thereby playing the role of protecting the information security of the system. The invention firstly judges the safety of the interrupt source, and can well protect the system from being damaged by the untrusted interrupt source, thereby improving the safety of the system.)

一种控制中断源的运行方法、装置、终端设备及存储介质

技术领域

本发明涉及中断源控制领域,具体是涉及一种控制中断源的运行方法、装置、终端设备及存储介质。

背景技术

随着物联网技术的发展,越来越多的设备联网,设备一旦联网,外部程序极易进入到设备系统内部,其中外部程序通过中断源进入到设备系统是常见的一种方式。因此中断源暴露的安全漏洞的数量越多,设备系统内部的应用程序受到攻击和被感染的风险将增加。

现有技术中只将中断源与系统正在处理的任务进行比较,以判断是否处理中断源以及怎样处理中断源,导致系统的安全性难以得到保证。

综上所述,现有技术中在处理中断源安全性较低。

因此,现有技术还有待改进和提高。

发明内容

为解决上述技术问题,本发明提供了一种控制中断源的运行方法、装置、终端设备及存储介质,解决了现有技术中在处理中断源安全性较低的问题。

为实现上述目的,本发明采用了以下技术方案:

第一方面,本发明提供一种控制中断源的运行方法,其中,包括:

获取中断源所对应的保护域序号,所述保护域序号用于标识保护域;

依据所述保护域序号,得到所述保护域序号所对应的目标保护域;

依据所述目标保护域所对应的目标地址空间,控制所述中断源的运行。

在一种实现方式中,所述依据所述目标保护域所对应的目标地址空间,控制所述中断源的运行,包括:

若所述中断源的优先级高于正在运行的任务的优先级,则停止运行所述任务,并切换到所述目标保护域运行所述中断源;

若所述中断源的优先级低于正在运行的所述任务的优先级,继续运行所述任务而不运行所述中断源。

在一种实现方式中,所述若所述中断源的优先级高于正在运行的任务的优先级,则停止运行所述任务,并切换到所述目标保护域运行所述中断源,包括:

当所述目标地址空间为内核空间时,停止运行所述内核空间中的所述任务而开始运行所述中断源;

直至所述中断源被运行结束之后,继续运行所述内核空间中被停止的所述任务。

在一种实现方式中,所述若所述中断源的优先级高于正在运行的任务的优先级,则停止运行所述任务,并切换到所述目标保护域运行所述中断源,包括:

当目标地址空间为中断空间时,停止运行所述中断空间中的所述任务;

进行隔离防护,所述隔离防护用于防止所述中断源访问所述中断空间中除所述中断源所在内存以外的内存。

在一种实现方式中,所述进行隔离防护,所述隔离防护用于防止所述中断源访问所述中断空间中除所述中断源所在内存以外的内存,包括:

保存所述任务的执行上下文且将所述任务移出至中断空间的外部之后,开始运行所述中断源;

直至所述中断源运行至设定条件,结束运行所述中断源;

结束运行所述中断源之后,恢复所述任务的执行上下文;

继续将所述任务在所述中断空间的内部执行。

在一种实现方式中,所述保存所述任务的执行上下文且将所述任务移出至中断空间的外部之后,开始运行所述中断源,包括:

依据所述中断源所对应的所述保护域序号,得到与所述保护域序号所对应的虚拟地址到物理地址的地址映射表;

依据所述地址映射表,得到与所述地址映射表所对应的内存目标区域;

在所述内存目标区域中开始运行所述中断源。

在一种实现方式中,所述直至所述中断源运行至设定条件,结束运行所述中断源,包括:

当所述中断源被运行完毕,或者所述中断源的运行时间达到目标运行时限,结束运行所述中断源。

第二方面,本发明实施例还提供一种控制中断源的运行方法的装置,其中,所述装置包括如下组成部分:

地址采集模块,用于获取中断源所对应的保护域序号,所述保护域序号用于标识保护域;

目标保护域获取模块,用于依据所述保护域序号,得到所述保护域序号所对应的目标保护域;

控制模块,用于依据所述目标保护域所对应的目标地址空间,控制所述中断源的运行。

第三方面,本发明实施例还提供一种终端设备,其中,所述终端设备包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的控制中断源的运行程序,所述处理器执行所述控制中断源的运行程序时,实现上述所述的控制中断源的运行方法的步骤。

第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有控制中断源的运行程序,所述控制中断源的运行程序被处理器执行时,实现上述所述的控制中断源的运行方法的步骤。

有益效果:本发明首先根据中断源所对应的保护域序号,判断中断源是否存在攻击性(是否受信任),根据判断结果再去寻求与该中断源相匹配的目标保护域来运行该中断源,以防止未经判断而又带有攻击性的中断源直接进入到保存有系统核心内容的内存上,从而能够起到保护的作用。

综上所述,本发明首先对中断源的安全性进行判断,能够很好的保护系统不被中断源破坏,从而提高系统的安全性。

附图说明

图1为本发明的整体流程图;

图2为本发明的中断源运行在内核空间上的流程图;

图3为本发明的中断源运行在中断空间上的流程图。

具体实施方式

以下结合实施例和说明书附图,对本发明中的技术方案进行清楚、完整地描述。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

经研究发现,根据设定的逻辑关系以及任务的种类,不同的内存负责处理不同的任务,当正在处理任务时,有临时过来的中断源所对应的任务要处理,需要将任务与中断源进行比较分析,以判断是否处理中断源以及怎样处理中断源。随着物联网技术的发展,越来越多的设备联网,暴露的安全漏洞的数量越来越多,用户态应用程序受到攻击和被感染的风险大大增加。现有技术中在处理中断源安全性较低。

为解决上述技术问题,本发明提供了一种控制中断源的运行方法、装置、终端设备及存储介质,解决了现有技术中在处理中断源安全性较低的问题。具体实施时,首先根据中断源所对应的保护域序号,判断中断源是否存在攻击性,根据判断结果再去寻求与该中断源相匹配的目标保护域来运行该中断源,以防止未经判断而又带有攻击性的中断源直接进入到保存有系统核心内容的内存上,从而能够起到保护的作用。

举例说明,CPU有三个特权级别,分别为用户级(RingU)、中断级(RingI)和内核级(RingK)。CPU平时运行在用户级,当中断来临时视乎中断配置运行于中断级或内核级。其中只有内核级的空间和中断级的空间可以用于处理中断源,而用户级的空间不参与运行任何中断源。内核级的空间负责运行系统的核心程序,因此,对内核级的空间需要加以特殊保护,以防止中断源给系统的核心程序带来任何潜在的危险。中断控制器是CPU内部的一个电路部件,其主要功能是根据外部中断源协调和分发该中断源(即在哪个级别的空间上运行该中断源)。一旦接收到中断源来临的信号,中断控制器即会根据内部逻辑,选择一个中断源激活,并令CPU停止运行任务、切换到该中断源对应的中断服务程序继续运行,直到返回为止。中断控制器的性能和安全性直接影响到CPU的性能和安全性。

示例性方法

本实施例的名称方法可应用于终端设备中,所述终端设备可为具有控制功能的控制器,比如中断源控制器等。在本实施例中,如图1中所示,所述一种控制中断源的运行方法具体包括如下步骤:

一种控制中断源的运行方法,包括:

S100,中断控制器获获取中断源所对应的保护域序号,所述保护域序号用于标识保护域;

控制系统中的中断控制器包括中断向量表模块(VTBL)、中断执行模块(VEXE)、中断计时器模块(VTIM)、中断内存管理单元模块(VMMU)、中断安全信息模块(VSIT)和中断堆栈模块(VSTK)。

CPU支持32个保护域序号(SN)。控制CPU的中断控制器的中断向量表模块(VTBL)大小为256项,支持256个中断源;中断计时器模块(VTIM)具有32个32位计数器;中断内存管理单元模块(VMMU)有16个表项;中断安全信息模块(VSIT)的大小为32x16个表项并存放于剪贴板SRAM中。剪贴板SRAM的大小为2kB。中断安全信息模块(VSIT)实现为一个寄存器指针,指向内核空间中的中断栈。

控制系统中的中断控制器的中断向量表模块(VTBL)记载各个中断源对应的中断服务程序(ISR)所在的地址,以及其在中断安全信息模块(VSIT)中对应的保护域序号(SN)。该保护域序号将在中断源执行时和中断服务程序地址一并传递给中断堆栈模块。

举例说明,中断控制器中的保护域序号(SN)范围值包括为A范围、B范围、C范围,A范围对应用户级内存、B范围对应中断空间、C范围对应内核空间,本实施例运行中断源的只有中断空间和内核空间。

S200,中断控制器依据所述保护域序号,得到所述保护域序号所对应的目标保护域;

在中断安全信息模块(VSIT)记载了各个中断源对应的保护域序号,而每个保护域序号的值对应了相应级别的空间,因此可以根据中断源的保护域序号找到处理该中断源的空间,且该空间的重要性与中断源的安全等级相匹配,以防止不安全的中断源攻击重要内存中运行的当前重要程序。

举例说明,比如SN取值范围为0-31,电脑系统默认SN的值为0的中断源可以直接用内核空间来处理中断源,不是0的就由中断空间来处理该中断源,一旦SN的值为0,则说明该中断源是可以信任的、不具有攻击系统核心的风险,可以将该中断源放在内核空间。当SN的值不是0时,则说明该中断源具有一定的危险性,因此该中断源对应中断空间。这么设计是为了保留和原有中断系统的兼容性。通常而言,系统调用中断必须要由系统内核处理。

S300,依据所述目标保护域所对应的目标地址空间,控制所述中断源的运行;

通过中断源的保护域序号找到是该中断空间还是内核空间运行该中断源才能保证整个系统的安全性。在中断空间上运行该中断源能够防止中断源潜在攻击内核空间上重要的核心程序,但是CPU要跳转至中断空间执行该中断源,运行完该中断源又要返回至内核空间上,因此本实施例先判断中断源的安全性以确定是否可以直接在内核空间上运行该中断源,以避免CPU不必要的跳转,从而节省运行时间。

举例说明,电脑的CPU正在执行打字的任务,这时来了一个需要待播放的视频任务需要CPU运行,首先在电脑内部的中断控制器的中断向量表模块找到播放视频这种中断源所对应的保护域序号,查询到该保护域序号的值不是上述SN值为0,说明像这种播放视频的中断源所对应的来自于系统外部的任务对系统的核心程序是有一定的危险性的,不应该在内核空间上运行播放视频所对应于来自系统外部的播放内容,以保护系统的安全性。

S300中的中断源来临时并不是直接就运行该中断源,还要依据该中断源与任务的优先级来判断是否要运行该中断源。

当中断源来临时,首先让中断执行模块(VEXE)将中断源优先级与任务的优先级相比较。

因此S300中包括如下步骤用于判断优先级:

S301,判断所述中断源的优先级与所述目标地址空间中正在运行的所述任务的优先级,若所述中断源的优先级高于所述目标地址空间中正在运行的所述任务的优先级,则执行步骤S302,否则执行步骤S303:

S302,停止运行所述任务而运行所述中断源;

S303,继续运行所述任务而不运行所述中断源。

上述已经说明在中断空间和内核空间上运行中断源的情况不同,下面分中断空间和内核空间两种情况说明步骤S302的具体过程:

当所述目标地址空间为内核空间时,如图2所示,步骤S302包括:

S3021,停止运行所述内核空间中的所述任务;

S3022,开始运行所述中断源,直至所述中断源被运行完毕;

S3023,继续运行所述内核空间中被停止的所述任务。

举例说明,汽车的控制系统CPU正在内核空间上运行任务a1,此时有另一个中断源a2需要在内核空间上运行,由于a2的优先级高于a1,因此暂停执行a1,而执行a2所对应的程序。此时的a2之所以可以选择在内核空间上运行是依据其地保护域序号SN决定的,也说明a2是可以信任的程序,不会对内核空间造成安全性的影响,因此内核空间上正在运行的任务不需要移出至内核空间的外部。直接运行a2,运行结束之后再继续运行任务a1,这样能减少CPU因不必要的安全性考虑而在不同级别的空间之间进行切换,从而实现实时性。

当所述目标内存为中断空间时,如图3所示,步骤S302包括依次步骤S3024、步骤S3025、步骤S3026、步骤S3027、步骤S3028。

S3024,停止运行所述中断空间中的所述任务;

S3025,对所述中断空间中的所述任务进行隔离防护,所述隔离防护用于阻止所述中断源访问被停止的所述任务以及系统中其他与中断源无关的信息;步骤S3025的具体步骤包括S30251:

S30251,保存所述任务的执行上下文且将所述任务移出至中断空间的外部之后,开始运行所述中断源。

步骤S30251由硬件将中断源来临前正在运行任务所对应的所有CPU寄存器和相关信息自动压栈于中断安全信息模块(VSTK)上,并清零所有CPU寄存器值。这防止了不受信任的中断源所对应的中断服务程序(ISR)访问可能残存于CPU寄存器中的敏感信息。将中断源来临前正在运行任务所对应的所有CPU寄存器和相关信息自动压栈于中断安全信息模块(VSTK)上,这样做能够对CPU中正在运行的任务起到隔离作用,以防止中断源所对应程序攻击中断空间中的信息,对中断空间以及整个系统起到安全保护的作用。

S3026,开始运行所述中断源,步骤S3026包括S30261、S30262和S30263,

S30261,依据所述中断源所对应的所述保护域序号,得到与所述保护域序号所对应的虚拟地址到物理地址的地址映射表;

根据中断向量表(VTBL)中记载的该中断源的保护域序号(SN),去中断安全信息模块(VSIT)中查找该保护域序号的地址映射表。

S30262,依据所述地址映射表,得到与地址映射表所对应的内存目标区域;

将地址映射表装填到中断内存管理单位(VMMU)中,装填完毕后由中断内存管理单位(VMMU)负责该中断源运行环境的内存映射。中断安全信息模块(VSIT)含有各个保护域序号(SN)对应的、可由硬件自动填充入中断内存管理单元(VMMU)中的地址映射表,负责决定各个保护域序号(SN)的虚拟地址到物理地址的映射。中断堆栈模块(VSTK)是独立于内核空间的队栈和用户级内存队栈的堆栈,它位于内核地址空间,无法由用户级RingU和中断级RingI访问。到中断级RingI的中断发生后,硬件会自动压栈所有寄存器到中断堆栈模块(VSTK)中。中断内存管理单元模块(VMMU)是一个可由硬件根据保护域序号(SN)自动填充的快表,负责在中断服务程序(ISR)运行时替代常规的MMU进行虚拟地址到物理地址的转换,防止不受信任的中断服务程序(ISR)发起越界访问。

S30263,在所述内存目标区域中开始运行所述中断源;

针对中断源所对应的地址映射表找到适用于执行该中断源的中断空间中的具体地方(内存目标区域),也就是在中断空间中的特定位置运行该中断源,进一步防止该中断源攻击其他程序,从而提高整个系统的安全性。

S3027,直至所述中断源运行至设定条件,结束运行所述中断源,所述设定条件用于限定是否结束运行所述中断源;

设定条件包括中断源被运行完毕和目标运行时限,S3027的具体过程如下:当所述中断源被运行完毕或者所述中断源的运行时间达到目标运行时限,结束运行所述中断源。

中断计时器模块(VTIM)包括一组计时器,其中每一个保护域序号(SN)都对应于一个硬件上独立的计时器。当保护域序号(SN)活动时,对应的计数器即启动倒计时。该中断计时器模块(VTIM)的作用是在中断源对应的中断服务程序超过目标运行时限时即使没有执行完毕也要终止其继续执行,以防止不受信任的中断源对应的中断服务程序进入死循环而威胁整体系统的安全性,从而提高了本发明系统的安全性。中断计时器模块(VTIM)中的计时器可以由操作系统的内核空间填充,因此各个中断源的总执行时间是受内核空间控制的。

S3028,结束运行所述中断源之后,继续执行所述任务。

步骤S3028包括步骤S30281和30282。

S30281,结束运行所述中断源之后,将位于所述中断空间外部的所述任务移至所述中断空间的内部;

结束运行所述中断源之后,并将中断堆栈模块(VSTK)弹栈,弹栈即返回原先正在运行的任务。

S30282,继续将所述任务在所述中断空间的内部执行。

判断被打断的任务的特权级别。若该特权级别为中断级(RingI)或内核级(RingK),则直接退出中断执行;若该特权级别为用户级(RingU),则根据任务的保护域序号(SN),从中断安全信息模块(VSIT)中调取任务的地址映射表装入中断内存管理单元模块(VMMU),继续执行该任务。VSTK弹栈的大部分操作和重新装填VMMU的操作是可以由硬件并行完成的。本发明的CPU不需要在不同级别的内存之间进行跳转,从而减少了中断响应时间,进而实现了实时性。

下面以两个具体实施例I和实施例II说明本发明的具体过程:

实施例I

计算机系统中有一个用户级(RingU)内存应用程序A、两个中断级(RingI)内存中断源R、S,以及一个操作系统内核空间(RingK),运行在基于本发明方法的硬件架构上。R的优先级低于S的优先级。

(1)在内核空间(RingK)运行系统调用处理程序(任务)时,中断源R被触发。中断执行模块(VEXE)从中断向量表模块(VTBL)中取出中断源R的中断服务程序(ISR)。中断执行模块(VEXE)根据保护域序号(SN)从中断安全信息模块(VSIT)取出中断源R的地址映射表,并填写进中断内存管理单元模块(VMMU)中,同时压栈当前所有寄存器到中断堆栈模块(VSTK)中,即将内核空间上的所有寄存器保存到中断堆栈模块(VSTK)中。这个过程仅会消耗不到1微秒,实现了实时性的要求。

(2)判断中断源R的保护域序号(SN)是否对应于内核空间(RingK),如果不是,则CPU运行于中断级(RingI)内存,硬件跳转到中断源R的中断服务程序(ISR)开始运行。同时,中断计时器模块(VTIM)中对应于中断源R的保护域序号(SN)的计数器开始倒数。

(3)如果拥有更高优先级的中断源S被触发。中断执行模块(VEXE)判断该中断源S比中断源R具有更高优先级,因此从中断向量表模块(VTBL)中取出中断源S的中断服务程序(ISR),并判断中断源S的保护域序号(SN)不与内核空间(RingK)匹配。中断执行模块(VEXE)根据中断源S的保护域序号(SN)从中断安全信息模块(VSIT)取出中断源S的地址映射表,并填写进中断内存管理单元模块(VMMU)中,同时压栈当前所有寄存器到中断堆栈模块(VSTK),并暂停中断计时器模块(VTIM)中对应于中断源R的保护域序号(SN)的计数器的倒数。

(4)硬件跳转到中断源S的中断服务程序(ISR)开始运行。同时,中断计时器模块(VTIM)中对应于其SN的计数器开始倒数,CPU运行于中断级(RingI)内存。

(5)中断源S从中断服务程序(ISR)中返回,中断计时器模块(VTIM)中对应于中断源S的SN的计数器暂停倒数。VEXE从VSTK弹栈,并判断被打断者是中断源R的ISR。于是,中断执行模块(VEXE)在弹栈的同时从中断安全信息模块(VSIT)中取出中断源R的SN对应的映射表填充入中断内存管理单元模块(VMMU),并继续执行中断源R。此时,中断计时器模块(VTIM)中对应于中断源R的SN计数器恢复倒数。CPU运行于中断级(RingI)内存。

(6)中断源R从中断服务程序(ISR)中返回,中断计时器模块(VTIM)中对应于中断源R的SN的计数器暂停倒数。中断执行模块(VEXE)从中断堆栈模块(VSTK)弹栈,并判断被的任务是内核空间(RingK)的系统调用。于是,中断执行模块(VEXE)直接将执行权交给内核空间(RingK)继续执行系统调用,CPU运行于内核空间(RingK)。

(7)内核空间(RingK)的系统调用执行完成,并从中断中返回应用程序A继续执行。CPU运行于RingU。应用程序A根据情况,请求内核空间(RingK)向VTIM中的计数器分配更多时间资源(即增加其计数),以便响应更多中断。

从本实施例中可以看到,在切换到RingI的过程中,硬件自动处理了全部CPU寄存器的压栈弹栈和目标保护域切换功能(即保护任务不被中断源所访问),并且目标保护域切换和压栈弹栈是同时进行的,提高了带目标保护域的中断的处理效率;中断无需被传递到用户态进行处理,而是可以在一个特殊的RingI中进行带目标保护域的处理。同时,这种架构也支持中断嵌套(即本实施例中的两个中断源R和S同时存在),使得旧有软件可以很容易的移植过来。

实施例II

计算机系统中有两个用户级(RingU)内存应用程序A、B,一个中断级(RingI)内存中断源R,以及一个操作系统内核空间(RingK),中断级(RingI)内存。其中,应用程序B和其提供的中断源R的ISR都是不受信任的第三方软件。

(1)某恶意软件通过应用程序B的网络功能漏洞感染了应用程序B。

(2)被感染的应用程序B劫持了中断源R的中断服务程序(ISR),试图从系统中窃取资料和破坏系统稳定性。

(3)中断源R被触发,中断执行模块(VEXE)从中断向量表模块(VTBL)中取出中断源R的中断服务程序(ISR),并判断其SN不对应于内核空间(RingK)。中断执行模块(VEXE)根据该SN从中断安全信息模块(VSIT)取出中断源R的地址映射表,并填写进中断内存管理单元模块(VMMU)中,同时压栈当前所有寄存器到中断堆栈模块(VSTK)。

(4)硬件跳转到中断源R的中断服务程序(ISR)开始运行。同时,中断计时器模块(VTIM)中对应于其SN的计数器开始倒数。CPU运行于RingI。

(5)恶意ISR试图窃取应用程序A中的敏感数据。然而,中断内存管理单元模块(VMMU)给了它一个独立的地址空间,限制了它能够访问的内存范围。该ISR既无法访问应用程序A的内存,又无法访问系统内核K的内存,因此窃取资料失败。

(6)恶意ISR又试图进入死循环使系统失去响应。然而,中断计时器模块(VTIM)中的计数器倒数到0,中断执行模块(VEXE)强制结束了恶意ISR的运行,返回到应用程序A继续执行。

从本实施例中可以看到,恶意ISR的信息窃取和死循环均能被硬件机制拦阻,这意味着不受信任的第三方ISR可以在本发明的硬件架构下安全运行。因此,使用本发明,系统设计者不再需要像现有方案那样为了最小化中断延迟而将ISR放在内核空间(RingK),因此本发明能够限制恶意ISR的破坏能力。

综上,本发明提升了中断响应速度,使得安全、实时的第三方应用程序成为可能,这在物联网和机控制领域具有重大意义。具体原因如下:

首先,本发明安全性好,解决了现有中断控制器均给予中断服务程序(ISR)内核空间权限的问题,防止在处理器上运行延迟敏感的不受信任应用程序。所有的中断源对应的中断服务程序(ISR)在访问内存时由中断内存管理单元模块(VMMU)控制和运行,中断源的时间由中断计时器模块(VTIM)限制,使得它们无法不受控制地访问系统资源。

本发明实时性好,在保证安全性的同时,目标保护域切换和CPU寄存器压栈均由硬件进行,并且两者是同时进行的,确保了操作时间最短,相比现有方案几乎不提升硬件层面的中断延迟。此外,本发明中的中断源甚至可以打断非抢占式内核的执行而不影响内核的运作,在响应中断服务程序时不必等待内核执行完成。

本发明兼容性好,支持任意中断嵌套(两个或多个中断源),使得现有代码可以直接移植过来而无需做过多考量。那些原来需要将中断传递到用户态处理的用户态驱动程序(User-level driver)现在可以直接将代码放进中断服务程序(ISR)中执行,极大地提升了它们的实时性,扩张了用户态驱动程序的适用范围。

本发明仅增加一组中断计时器模块(VTIM)和一个中断内存管理单元模块(VMMU),而且仅有中断计时器模块(VTIM)的电路大小与支持的SN数量有关(比如,若支持16个SN,则需要16个独立计数器),占据的硅片面积小,更加经济。在实施中,若硅片面积极为紧张,亦可将VITM缩减为1个,并在切换ISR时将其值更新到各SN对应的内存中(该内存可整合入VSIT)。

示例性装置

本实施例还提供一种控制中断源的运行方法的装置,所述装置包括所述装置包括如下组成部分:

地址采集模块,用于获取中断源所对应的保护域序号,所述保护域序号用于标识保护域;

目标保护域获取模块,用于依据所述保护域序号,得到所述保护域序号所对应的目标保护域;

控制模块,用于依据所述目标保护域所对应的目标地址空间,控制所述中断源的运行。

基于上述实施例,本发明还提供了一种终端设备,所述终端设备包括所述终端设备包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的控制中断源的运行程序,所述处理器执行所述控制中断源的运行程序时,实现上述所述的控制中断源的运行方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

综上,本发明公开了一种控制中断源的运行方法、装置、终端设备及存储介质,所述方法包括:获取中断源所对应的保护域序号,所述保护域序号用于标识保护域;依据所述保护域序号,得到所述保护域序号所对应的目标保护域;依据所述目标保护域所对应的目标地址空间,控制所述中断源的运行。本发明首先对中断源的安全性进行判断,能够很好的保护系统不被中断源破坏,从而提高系统的安全性和实时性。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于静态分析和深度学习的智能合约安全检测方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类