涉及临界资源的中断处理方法和装置及实时操作系统的制作方法

文档序号:6480925阅读:388来源:国知局
专利名称:涉及临界资源的中断处理方法和装置及实时操作系统的制作方法
技术领域
本发明涉及中断处理技术,尤其涉及一种涉及临界资源的中断处理方法 和一种涉及临界资源的中断处理装置,还涉及一种实时操作系统。
背景技术
实时操作系统(Real Time Operating System)相对于通用操作系统,具 有可精确预见的实时性,因此被广泛应用在工业控制当中。
保证操作系统实时性的一种方式为采用任务抢占机制,其工作原理 如下提供具有优先级的任务调度,使优先级高的任务可以抢占优先级 低的任务,从而保证优先级高的任务可以执行。但是,任务的抢占机制 会同时导致大量共享资源的访问保护问题;特别是对一些大型的软件系 统,比如数通设备,如果使用完全可抢占的任务系统,其开发和维护的 复杂度及成本都相当可观。
对于这些大型的软件系统来说,其任务主要是由数据包来驱动的, 且对实时性的要求并非特别严格,因此通常情况下会禁止任务的抢占机 制,而是采用另外一种方式来保证操作系统实时性通过对数据包的调 度和调整任务的执行时间来保证相对的实时性;采用这种方式时,在代 码编写过程中就可以不用考虑共享资源的访问保护问题,从而大大降低 整个系统代码开发的复杂度,也使系统运行更加可靠。但是同时,对于 这种采用相对实时性机制的操作系统而言,由于其任务不可抢占,因此 任务处理的实时性存在很大偏差;这种情况下,对于一些需要立即响应 的事件,例如链路中断、单板插拔等等,需要结合采用中断处理来达到 实时性要求。
虽然中断处理能够提供很高的实时精度,但在由于中断调用任务不 能使用信号量等保护临界资源访问的技术,因此在实际应用中往往要对 其加以关闭,即在有应用程序访问临界资源时采取关中断(disableinterrupt),在访问完毕后再开中断(enable interrupt)。上述处理方式
导致了以下缺陷
(1) 应用程序必须在代码设计中考虑涉及临界资源访问时的开关中 断问题,增加了应用程序的开发和维护难度;
(2) 开关中断的处理导致系统开销的增加;
(3) 关中断处理削弱了系统实时响应能力及可预测能力,降低了系 统的实时精度;
(4) 对于时钟中断而言,执行关中断处理会导致中断丢失的可能性, 同时带来时钟失真的问题,对于一些频繁但执行较慢的访问临界资源的 应用程序而言,这种缺陷表现的尤为明显,例如I/O访问;而且开关中 断越频繁,上述问题就越严重,降低了系统的准确性和可用性。

发明内容
本发明的实施例旨在克服上述现有技术的缺陷,提供一种中断触发机制 的实现方案,以降低应用程序开发和维护的难度,减少系统开销,以及提高 多任务操作系统的实时精度。
为实现上述目的,本发明的实施例提供了一种涉及临界资源的中断处理 方法,设置用于标识一临界资源是否被中断调用任务以外的应用程序访问的 第一全局变量,以及,设置用于标识是否存在涉及所述临界资源的一待处理 中断的第二全局变量;然后,通过以下步骤实现中断调用任务和临界资源访 问的互斥处理
当中断产生时,识别所述第一全局变量是否置位,是则置位所述第二全 局变量;否则调用相应的任务函数进行处理,处理结束退出中断调用任务;
当一应用程序成功申请所述临界资源访问时,置位所述第一全局变
量;以及,当所述应用程序完成所述临界资源访问时,识别所述第二全 局变量是否置位,是则,调用相应的任务函数进行处理,处理结束后取 消所述第二全局变量置位和所述第一全局变量置位,所述应用程序的临 界资源访问结束;否则,直接取消所述第一全局变量置位,所述应用程
5序的临界资源访问结束。
较佳的,所述中断可以包括满足定时时长的时钟中断。
较佳的,还包括应用程序申请所述临界资源访问的步骤识别是否
正在执行涉及所述临界资源的中断调用任务,是则申请失败,所述应用
程序的临界资源访问结束;否则许可所述应用程序获得临界资源互斥保
护,所述应用程序申请临界资源访问成功。
较佳的,所述临界资源互斥保护为信号量保护。
较佳的,所述第一全局变量和第二全局变量以0、 l标识,l为置位, 0为取消置位。
本发明的实施例还提供了一种涉及临界资源的中断处理装置,包括 第一全局变量单元,用于保存第一全局变量,所述第一全局变量用于
标识一临界资源是否被中断调用任务以外的应用程序访问;
第二全局变量单元,用于保存第二全局变量,所述第二全局变量用于标
识是否存在涉及所述临界资源的一待处理中断;
中断处理单元,与所述第一全局变量单元和所述第二全局变量单元 连接,由中断触发,识别所述第一全局变量是否置位,是则置位所述第二全
局变量;否则调用相应的任务函数进行处理;
临界资源访问处理单元,与所述第一全局变量单元和所述第二全局 变量单元连接,由应用程序对所述临界资源访问的成功申请触发,置位 所述第一全局变量;以及,当所述应用程序完成所述临界资源访问时, 识别所述第二全局变量是否置位,是则,调用相应的任务函数进行处理, 处理结束后取消所述第二全局变量置位及所述第一全局变量置位;否则, 直接取消所述第一全局变量置位。
较佳的,所述中断包括满足定时时长的时钟中断。
较佳的,还包括临界资源申请单元,由应用程序访问临界资源的请 求触发,识别是否正在执行涉及所述临界资源的中断调用任务,是则申 请失败;否则许可所述应用程序获得临界资源互斥保护,所述应用程序 申请临界资源访问成功,触发所述临界资源访问处理单元。较佳的,所述临界资源互斥保护为信号量保护。
较佳的,所述第一全局变量单元和所述第二全局变量单元以O、 l标 识第一全局变量和第二全局变量,l为置位,0为取消置位。
本发明的实施例还提供了一种实时操作系统,设有如上所述的涉及 临界资源的中断处理装置来实现中断调用任务和临界资源访问的互斥处理。
由上述技术方案可知,本发明的实施例通过设定全局变量标识临界资源 的访问情况,能够在不关闭中断的情况下解决应用程序访问临界资源和临界 资源中断的互斥问题,具有以下有益效果
1、 无需在涉及临界资源访问的应用程序中设计开关中断的代码,降低
应用程序开发和维护的难度;
2、 无需在应用程序访问临界资源时执行开关中断的操作,减少了系统 开销;
3、 发生在应用程序访问临界资源过程中的中断能够得到尽快地调用, 从而提高了多任务操作系统的实时精度;
4、 尤其对于时钟中断而言,能够避免了中断关闭所导致的中断丢失和 时钟失真。
通过以下参照附图对优选实施例的说明,本发明的上述以及其它目的、 特征和优点将更加明显。


图1为本发明提供的涉及临界资源的中断处理方法一实施例的流程图; 图2A、 2B、 2C为图l所示实施例中实现中断调用任务和临界资源访问 的互斥处理的分解流程图3为本发明提供的涉及临界资源的中断处理装置一实施例的框图。
具体实施例方式
7下面将详细描述本发明的具体实施例。应当注意,这里描述的实施例只 用于举例说明,并不用于限制本发明。
基于规范描述和方便阅读的考虑,逐一定义本发明专利申请文件中出现 的术语如下
中断调用任务是指由满足一定条件的中断所触发的任务函数;该任务 函数可能是一应用程序,也可能是应用程序的一部分,但被中断所调用时无 法获得临界资源互斥保护;
时钟中断(Time Interrupt):包括两个方面的含义, 一是硬件时钟中断, 一是软件时钟中断;本发明是指软件时钟中断,即根据实时时钟(Real Time Clock, RTC)进行节拍Tick计数,满足定时时长时产生输出脉冲以驱动对 应的定时处理程序,是一种可编程的软件定时器;
临界资源(critical resource):是指一次仅允许一个进程使用的共享资 源;每个进程中访问临界资源的那段程序被称为临界区(critical section), 每次仅一个进程被允许进入临界区;
需要说明的是,上述各术语仅作为指称其意指的名称之一,因此凡意指 与其相同或近似的名称均应视为其等价物。
本发明的主要构思在于通过设置全局变量,分别标识临界资源是否 被中断调用任务以外的应用程序访问,以及是否存在涉及所述临界资源的待 处理中断,来解决在不关闭中断情况下应用程序临界资源访问和中断调用 任务的互斥问题。下面将详细介绍本发明所提供的涉及临界资源的中断
处理方案。
首先,对本发明提供的涉及临界资源的中断处理方法加以描述。 本发明提供的涉及临界资源的中断处理方法适用于非抢占式多任务 处理环境中,但取代传统开关中断方式,通过设置全局变量并基于设置 的全局变量执行相应处理来保证应用程序临界资源访问和中断调用任务 的互斥。如图1所示,显示了其一实施例的流程图,包括
步骤S1:设置第一全局变量g—ulNotSafeFlag,用于标识一临界资源是否被中断调用任务以外的应用程序访问;作为一个实施例,其置位为l时表示 临界资源被定时处理程序以外的应用程序访问,0表示安全,即当前没有定
时处理程序以外的应用程序访问临界资源;当然,反过来置位也可以;
歩骤S2:设置第二全局变量g—ulAgeTimerOutFlag,用于标识是否存在 涉及上述临界资源的一待处理中断的第二全局变量;作为一个实施例,其置 位为1时表示存在涉及上述临界资源的待处理中断,0表示没有涉及上述临 界资源的待处理中断;同样的,反过来置位也可以;
需要说明的是,上述中断的类型并不唯一,可以包括满足定时时长的 时钟中断,也可以是其它的软件或者硬件中断,比如温度中断或者报文 触发中断等等;当然,也可以是上述中断的任意组合;同时,即使对于 同一种类型的中断,比如时钟中断,其也可能并不唯一,而是存在多个, 每到其中某一个的定时时长即行触发;
本领域技术人员可以了解,在上述步骤S2中以为一个待处理中断为例 设置第二全局变量;事实上,当存在不同的中断时,可以分别为每一个中断 设置一个唯一的全局变量,实现对不同中断的区分标识;
本领域技术人员同时可以了解,上述设置第一、第二全局变量的步骤并 不存在时序上的先后关系,既可以先设置第一全局变量,也可以先设置第二 全局变量,不影响后续技术方案的实现和本发明的技术效果;作为一个实施 例,图1中以先设置第一全局变量为例加以描述。
在设置完上述第一、第二全局变量之后,通过以下步骤实现中断调用 任务和应用程序临界资源访问的互斥处理,包括以下两个方面的处理 (1)当中断产生时,执行以下步骤
步骤SA1:识别所述第一全局变量g一ulNotSafeFlag是否置位,也就是 识别当前临界资源是否正在被某个应用程序访问;
步骤SA2:是则,说明当前对临界资源进行定时处理并不安全,因此置 位第二全局变量g_ulAgeTimerOutFlag,退出当前中断,回到应用程序对于 临界资源的访问进程;
步骤SA3:否则,说明当前对临界资源进行中断调用任务的处理是安全 的,因此调用相应的任务函数进行处理,直至处理结束退出中断调用任务;有必要指出,步骤SA3的任务函数是由中断调用的,无法申请如信 号量等临界资源互斥保护。
从上述步骤SA1 SA3可以看出,在有应用程序进行临界资源访问时, 中断虽然会打断当前访问临界资源的应用程序,但不会触发涉及临界资 源访问的中断调用任务,而是重新回到应用程序的访问处理中;只有在 没有应用程序进行临界资源访问时,才执行中断调用任务,因此,即使 不进行关中断操作,也不会导致临界资源的保护问题;
请结合图2A,对上述涉及的中断调用任务的处理流程加以描述,以 时钟中断为例,该时钟中断对应设置的第二全局变量 g—ulAgeTimerOutFlag,且第一全局变量g—ulNotSafeFlag和第二全局变量 g一ulAgeTimerOutFlag以0、 1标识
当一时钟中断产生时,识别第一全局变量g—ulNotSafeFlag是否为0, 是则将第二全局变量g一ulAgeTimerOutFlag置位为1,退出中断,否则调用 定时处理程序进行无信号量保护的定时处理,直至定时处理结束。
(2)当一应用程序成功申请所述临界资源访问时,执行以下步骤
步骤SB1:置位第一全局变量g—ulNotSafeFlag;这样,在该第一全局 变量g—ulNotSafeFlag置位解除之前,不会发生涉及该临界资源的中断调用;
步骤SB2:当所述应用程序完成所述临界资源访问时,识别第二全局 变量g—ulAgeTimerOutFlag是否置位,也就是识别是否存在待处理的中断;
步骤SB3:是则,调用相应的任务函数进行处理,处理结束后取消 第二全局变量g—ulAgeTimerOutFlag置位;
再然后,取消所述第一全局变量g—ulNotSafeFlag置位,所述应用程 序的临界资源访问结束;
需要指出,在步骤SB3中虽然同样调用相应的任务函数,但这种调 用属于应用程序调用,而不再是中断调用;
步骤SB4:否则,直接取消所述第一全局变量g—ulNotSafeFlag置位, 所述应用程序的临界资源访问结束;
可以看出,如果在应用程序进行临界资源访问过程中发生了中断, 虽然该不能够即时调用相应的任务函数,但一旦应用程序的访问结束,该任务函数就会得到调用;特别对于时钟中断来说,不会因为任务调度
延时而导致大的定时处理误差,能够提供较高的定时精度;
请结合图2B,对上述涉及的临界资源访问处理流程加以描述,仍以 时钟中断为例,该时钟中断对应设置的第二全局变量 g—ulAgeTimerOutFlag,且第一全局变量g—ulNotSafeFlag和第二全局变量 g—ulAgeTimerOutFlag以0、 1标识
临界资源访问申请成功后,将第一全局变量g—ulNotSafeFlag置位为1;
临界资源访问完成,识别第二全局变量gjlAgeTimerOutFlag是否为1;
是则,进行定时处理,并在定时处理结束后将第二全局变量 g—ulAgeTimerOutFlag清零;
然后,将第一全局变量g—ulNotSafeFlag清零,应用程序的临界资源访 问结束;
否则,直接将第一全局变量g—ulNotSafeFlag清零,应用程序的临界 资源访问结束;
有必要指出,由于成功申请临界资源访问的应用程序都会获得临界 资源互斥保护,因此将第一全局变量g—ulNotSafeFlag清零的同时,还会执 行释放临界资源互斥保护的步骤;相应的,由中断调用的任务函数在执行过 程中并不存在临界资源互斥保护;
作为一个实施例,临界资源互斥保护可以采用信号量保护。
进一步的,本领域技术人员可以了解,上述中断调用任务和应用程序 临界资源访问的互斥处理之间并不存在先后关系,有可能在应用程序的临 界资源访问过程中出现中断,也有可能在中断调用任务执行的过程中出 现应用程序的临界资源访问;显然,上述步骤中并未涉及到如果在中断 调用任务执行的过程中进行应用程序临界资源访问如何处理,这是由于, 中断调用任务执行过程中的应用程序临界资源访问处理沿用了现有技 术,即此时是不能通过信号量之类的技术进行临界资源的访问保护的, 因此其他应用程序无法获得对临界资源的访问许可;
请结合图2C所示,在一应用程序成功申请临界资源访问之前还包括 以下步骤当应用程序申请临界资源访问时,识别是否正在执行涉及所述临界
资源的中断调用任务;
是则,申请失败,所述应用程序的临界资源访问结束; 否则,许可所述应用程序获得临界资源互斥保护(如信号量保护), 所述应用程序申请临界资源访问成功。
通过以上实施例可知,采用实施例中所提供的涉及临界资源的中断 处理方法,能够在不关闭中断的情况下,实现应用程序访问临界资源和 临界资源中断的互斥问题,能够在保证应用程序对于临界资源正常访问 的同时,提高多任务操作系统的实时精度;同时能够简化代码,降低应 用程序开发和维护的难度,以及节约系统开销;特别是对于时钟中断, 还能够避免中断关闭所导致的中断丢失和时钟失真,提高时钟中断处理 的精度。
下面通过一个具体实施例对本发明提供的涉及临界资源的中断处理 方法加以示例性描述,假设一个实时操作系统每隔1小时打开某设备的消息 上报开关执行消息上报,同时,对这个设备的访问属于对临界资源的访问
由于超过该时间点再打开消息上报开关会造成消息丢失,同时过早的打
开会造成无用信息大量上送,因此可以设置时钟中断提前2秒到来,既有利 于保证时钟的准时打开,也有利于避免时钟的过早打开; 这样,预设上报时间前2秒,时钟中断产生;
这时如果没有应用程序在访问该设备,则在时钟中断中直接打开设备消 息上报开关,显然可以准确保证在上报时间到来前打开消息上报开关;
这时如果刚好有应用程序在访问该设备,则第 一 全局变量 g—ulNotSafeFlag必然不是0,因此定时处理程序不会打开该消息上报开关, 而是将第二全局变量g—ulAgeTimerOutFlag置位为1,退出中断,返回正在 执行设备访问的应用程序;
当该应用程序访问完成后,判断第二全局变量g—ulAgeTimerOutFlag置 位,因此立即打开消息上报开关,然后才释放信号量并清零第一全局变量 g—ulNotSafeFlag;
12可见,本发明提供的涉及临界资源的中断处理方法无需开关中断,可以 保证中断相应的任务函数得到最及时的调度,延时最小。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分 步骤可以通过程序指令相关的硬件来完成,所述的程序可以存储于一计 算机可读取存储介质中,该程序在执行时,设置用于标识一临界资源是否 被中断调用任务以外的应用程序访问的第一全局变量,以及,设置用于标识 是否存在涉及所述临界资源的一待处理中断的第二全局变量;然后,通过以 下步骤实现中断调用任务和应用程序临界资源访问的互斥处理
当中断产生时,识别所述第一全局变量是否置位,是则置位所述第二全 局变量;否则调用相应的任务函数进行处理,处理结束退出中断调用任务;
当一应用程序成功申请所述临界资源访问时,置位所述第一全局变
量;以及,当所述应用程序完成所述临界资源访问时,识别所述第二全 局变量是否置位,是则,调用相应的任务函数进行处理,处理结束后取消 所述第二全局变量置位和所述第一全局变量置位,所述应用程序的临界 资源访问结束;否则,直接取消所述第一全局变量置位,所述应用程序 的临界资源访问结束。
所述的存储介质包括ROM/RAM ( Read Only Memory/ Random-Access Memory,只读存储器/随机访问内存)、磁碟或者光盘等。
继续。下面对本发明提供的涉及临界资源的中断处理装置加以描述。 请结合图3,显示了一涉及临界资源的中断处理装置300的框图,包

第一全局变量单元310,用于保存第一全局变量,所述第一全局变量 用于标识一临界资源是否被中断调用任务以外的应用程序访问;作为一个实 施例,第一全局变量单元310可以以0、 l标识第一全局变量,l为置位, 0为取消置位;
第二全局变量单元320,用于保存第二全局变量,所述第二全局变量用 于标识是否存在涉及所述临界资源的一待处理中断;作为一个实施例,第二
13全局变量单元320可以以0、 l标识第二全局变量,l为置位,O为取消置
位;
中断处理单元330,与所述第一全局变量单元310和所述第二全局 变量单元320连接,由中断触发,识别所述第一全局变量是否置位,是则 置位所述第二全局变量;否则调用相应的任务函数进行处理;
其中,该中断处理单元330调度的任务函数属于中断调用任务,是无法 申请信号量等临界资源互斥保护的;
临界资源访问处理单元340,与所述第一全局变量单元310和所述第 二全局变量单元320连接,由应用程序对所述临界资源访问的成功申请 触发,置位所述第一全局变量;以及,当所述应用程序完成所述临界资 源访问时,识别所述第二全局变量是否置位,是则,调用相应的任务函 数进行处理,处理结束后取消所述第二全局变量置位及所述第一全局变 量置位;否则,直接取消所述第一全局变量置位。
可以看出,通过上述涉及临界资源的中断处理装置300,能够在不关 闭中断的情况下,实现应用程序访问临界资源和中断调用任务的互斥问 题,从而能够在保证应用程序对于临界资源正常访问的同时,提高多任 务操作系统的实时精度;同时能够简化代码,降低应用程序开发和维护 的难度,以及节约系统开销;特别是对于时钟中断,还能够避免中断关 闭所导致的中断丢失和时钟失真,提高时钟中断处理的精度。
上述各单元的具体工作方式请参见本发明方法的相应步骤。
需要说明的是,所述中断包括满足定时时长的时钟中断,也可以是其 它的软件或者硬件中断,比如温度中断、报文触发中断等等;当包括同 一类型或者不同类型的多个中断时,第二全局变量单元320相应设置不同 的第二全局变量;
此外,作为一较佳实施例,还包括临界资源申请单元350,以保证中 断过程中不会发生应用程序的临界资源访问;该临界资源申请单元350 由应用程序访问临界资源的请求触发,识别是否正在执行涉及所述临界 资源的中断调用任务,是则申请失败;否则许可所述应用程序获得临界 资源互斥保护,所述应用程序申请临界资源访问成功,触发所述临界资源访问处理单元340。
继续。下面对本发明提供的实时操作系统加以描述。该实时操作系 统设有如上所述的涉及临界资源的中断处理装置来实现中断调用任务和 临界资源访问的互斥处理,从而在没有临界资源访问的情况下即时实现中断 调用任务的处理,在有临界资源访问的情况下,退出中断调用任务,在应用 程序访问完成后尽快进行相应任务函数的调度处理,从而提高了实时操作系 统的可靠性和准确性。
虽然已参照几个典型实施例描述了本发明,但应当理解,所用的术语是 说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而 不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细 节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利 要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
权利要求
1. 一种涉及临界资源的中断处理方法,其特征在于,设置用于标识一临界资源是否被中断调用任务以外的应用程序访问的第一全局变量,以及,设置用于标识是否存在涉及所述临界资源的一待处理中断的第二全局变量;然后,通过以下步骤实现中断调用任务和应用程序临界资源访问的互斥处理当中断产生时,识别所述第一全局变量是否置位,是则置位所述第二全局变量;否则调用相应的任务函数进行处理,处理结束退出中断调用任务;当一应用程序成功申请所述临界资源访问时,置位所述第一全局变量;以及,当所述应用程序完成所述临界资源访问时,识别所述第二全局变量是否置位,是则,调用相应的任务函数进行处理,处理结束后取消所述第二全局变量置位和所述第一全局变量置位,所述应用程序的临界资源访问结束;否则,直接取消所述第一全局变量置位,所述应用程序的临界资源访问结束。
2. 根据权利要求1所述的涉及临界资源的中断处理方法,其特征在于, 所述中断包括满足定时时长的时钟中断。
3. 根据权利要求1或2所述的涉及临界资源的中断处理方法,其特征 在于,还包括应用程序申请所述临界资源访问的步骤识别是否正在执 行涉及所述临界资源的中断调用任务,是则申请失败,所述应用程序的 临界资源访问结束;否则许可所述应用程序获得临界资源互斥保护,所述 应用程序申请临界资源访问成功。
4. 根据权利要求3所述的涉及临界资源的中断处理方法,其特征在 于,所述临界资源互斥保护为信号量保护。
5. 根据权利要求1或2所述的涉及临界资源的中断处理方法,其特征 在于,所述第一全局变量和第二全局变量以0、 1标识,1为置位,0为 取消置位。
6. —种涉及临界资源的中断处理装置,其特征在于,包括 第一全局变量单元,用于保存第一全局变量,所述第一全局变量用于标识一临界资源是否被中断调用任务以外的应用程序访问;第二全局变量单元,用于保存第二全局变量,所述第二全周变量用于标识是否存在涉及所述临界资源的一待处理中断;中断处理单元,与所述第一全局变量单元和所述第二全局变量单元 连接,由中断触发,识别所述第一全局变量是否置位,是则置位所述第二全 局变量;否则调用相应的任务函数进行处理;临界资源访问处理单元,与所述第一全局变量单元和所述第二全局 变量单元连接,由应用程序对所述临界资源访问的成功申请触发,置位 所述第一全局变量;以及,当所述应用程序完成所述临界资源访问时, 识别所述第二全局变量是否置位,是则,调用相应的任务函数进行处理, 处理结束后取消所述第二全局变量置位及所述第一全局变量置位;否则, 直接取消所述第一全局变量置位。
7. 根据权利要求6所述的涉及临界资源的中断处理装置,其特征在 于,所述中断包括满足定时时长的时钟中断。
8. 根据权利要求6或7所述的涉及临界资源的中断处理装置,其特征 在于,还包括临界资源申请单元,由应用程序访问临界资源的请求触发, 识别是否正在执行涉及所述临界资源的中断调用任务,是则申请失败; 否则许可所述应用程序获得临界资源互斥保护,所述应用程序申请临界 资源访问成功,触发所述临界资源访问处理单元。
9. 根据权利要求6或7所述的涉及临界资源的中断处理装置,其特征 在于,所述第一全局变量单元和所述第二全局变量单元以0、 l标识第一 全局变量和第二全局变量,l为置位,0为取消置位。
10. —种实时操作系统,其特征在于,设有权利要求6-9任一所述的 涉及临界资源的中断处理装置来实现中断调用任务和应用程序临界资源访 问的互斥处理。
全文摘要
本发明公开了一种涉及临界资源的中断处理方法和涉及临界资源的中断处理装置。设置用于标识一临界资源是否被中断调用任务以外的应用程序访问的第一全局变量,以及,设置用于标识是否存在涉及临界资源的一待处理中断的第二全局变量;通过识别第一全局变量和第二全局变量的置位情况实现中断调用任务和应用程序临界资源访问的互斥处理。本发明还公开了一种实时操作系统。通过本发明,能够在不关闭中断的情况下解决应用程序访问临界资源和临界资源中断的互斥问题,从而降低应用程序开发和维护的难度,减少系统开销;在保证了应用程序对于临界资源正常访问的同时,提高多任务操作系统的实时精度。
文档编号G06F9/52GK101482833SQ20091000910
公开日2009年7月15日 申请日期2009年2月18日 优先权日2009年2月18日
发明者卢胜文 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1