【技术实现步骤摘要】
一种强实时中断唤醒任务方法及相关设备
[0001]本专利技术涉及实时任务管理
,具体涉及一种强实时中断唤醒任务方法、装置、电子设备及存储介质。
技术介绍
[0002]传统的多任务系统,在进行中断唤醒任务一般采用直接进行任务调度、开关总中断、关闭任务调度器后激活任务、延迟发布唤醒任务。
[0003]进行任务调度:针对低频的中断唤醒函数使用的方式,直接在中断中切换任务,在高频中断中不被适用;开关总中断:频繁的开关总中断会导致高频中断丢失;关闭任务调度器后激活任务:执行时间较长,容易导致中断溢出,或者系统调整后出现异常情况;延迟发布唤醒任务:任务无法得到实时的响应。
技术实现思路
[0004]本专利技术实施例提供一种强实时中断唤醒任务方法,旨在解决现有任务唤醒不及时,中断丢失和中断溢出的问题。
[0005]本专利技术实施例提供一种强实时中断唤醒任务方法,能够降低了开关总中断次数,和减少了中断执行时间从而来保证高频,高响应中断不会出现丢失,并且减少了中断唤醒任务的时间,从而提高了任务的响应速度.
[0006]第一方面,本专利技术实施例提供一种强实时中断唤醒任务方法,包括:
[0007]检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中;
[0008]将所述运行队列中的任务按任务优先级进行运行。
[0009]优选地,在所述检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中之前,所述方法还包括: />[0010]当所述运行队列中存在等待中断唤醒状态的目标任务时,通过所述中断唤醒标志对所述等待中断唤醒状态的目标任务进行标记;
[0011]将标记好的所述目标任务添加到挂起队列中挂起;
[0012]在每次任务调度时,检测所述挂起队列中挂起的任务是否存在中断唤醒标志。
[0013]优选地,所述目标任务的初始化状态默认为运行状态,当所述运行队列中存在等待中断唤醒状态的目标任务时,通过所述中断唤醒标志对所述目标任务进行标记,包括:
[0014]若所述目标任务调用等待中断唤醒,则将所述目标任务由运行状态更改为等待中断唤醒状态;
[0015]在中断调用唤醒接口时,更改所述中断唤醒标志,并根据所述中断唤醒标志对所述等待中断唤醒状态的目标任务进行标记。
[0016]优选地,所述中断唤醒标志包括中断唤醒次数,所述在中断调用唤醒接口时,更改所述中断唤醒标志,并根据所述中断唤醒标志对所述等待中断唤醒状态的目标任务进行标
记,包括:
[0017]在中断调用唤醒接口时,更改所述中断唤醒次数为加1;
[0018]根据加1后的所述中断唤醒次数对所述等待中断唤醒状态的目标任务进行标记。
[0019]优选地,所述中断唤醒标志还包括中断唤醒响应次数,所述在每次任务调度时,检测所述挂起队列中挂起的任务是否存在中断唤醒标志,包括:
[0020]在每次任务调度时,检测所述挂起队列中每个挂起的任务对应的中断唤醒次数和中断唤醒响应次数是否相等。
[0021]优选地,所述检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中,包括:
[0022]若检测到挂起的任务对应的中断唤醒次数和中断唤醒响应次数不相等,则将包含所述中断唤醒次数和中断唤醒响应次数不相等的任务加入到运行队列中,并更改对应的所述中断唤醒响应次数为加1。
[0023]优选地,所述将包含所述中断唤醒次数和中断唤醒响应次数不相等的任务加入到运行队列中,包括:
[0024]将包含所述中断唤醒次数和中断唤醒响应次数不相等的任务按照任务的优先级插入到所述运行队列,并将所述运行队列中的优先级最高的任务块获取出来切换到所述中断唤醒次数和中断唤醒响应次数不相等的任务。
[0025]优选地,本专利技术实施例提供一种强实时中断唤醒任务装置,所述装置包括:
[0026]检测模块,用于检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中;
[0027]运行模块,用于将所述运行队列中的任务按任务优先级进行运行。
[0028]第三方面,本专利技术实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的通讯设备程序,所述处理器执行所述通讯设备程序时实现如强实时中断唤醒任务方法中的步骤。
[0029]第四方面,本实施例提供一种通讯设备可读存储介质,所述通讯设备可读存储介质上存储有通讯设备程序,所述通讯设备程序被处理器执行时实现如强实时中断唤醒任务方法中的步骤。
[0030]本专利技术的上述方案至少包括以下有益效果:
[0031]实现了实时发布唤醒任务,并且解决任务唤醒不即时,中断丢失,中断溢出的问题,从而提高了通讯的吞吐率,提高用户体验;提高了任务的响应速度,事件可以得到更加实时的处理,从而提高了用户体验,在一些多任务的保护系统和强实时的通讯设备上可以得到更好的体现价值。
附图说明
[0032]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033]图1是本专利技术实施例提供的一种强实时中断唤醒任务方法流程图;
[0034]图2是本专利技术实施例提供的主任务流程图;
[0035]图3是本专利技术实施例提供的中断流程图;
[0036]图4是本专利技术实施例提供的任务调度流程图;
[0037]图5是本专利技术实施例提供的一种强实时中断唤醒任务装置的结构示意图;
[0038]图6是本专利技术实施例提供的一种电子设备的结构示意图。
具体实施方式
[0039]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0040]请参见图1,图1是本专利技术实施例提供的一种强实时中断唤醒任务方法的流程图,如图1所示,该强实时中断唤醒任务方法包括以下步骤:
[0041]101、检测到挂起的任务存在中断唤醒标志时,将包含中断唤醒标志的任务加入到运行队列中。
[0042]在本专利技术实施例中,可以将任务队列划分为两个队列,一个是挂起队列,一个运行队列,其中,挂起队列用于添加等待中断唤醒任务,当一个任务中断后,可以将该中断的任务添加到挂起队列中等待再次唤醒。运行队列用于添加需要运行的任务,每个任务的初始状态为运行状态。
[0043]在每次进行任务调度时,会检测挂起的任务中是否存在中断唤醒标志,当检测到挂起的任务存在中断唤醒标志时,将包含中断唤醒标志的本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种强实时中断唤醒任务方法,其特征在于,包括:检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中;将所述运行队列中的任务按任务优先级进行运行。2.如权利要求1所述的强实时中断唤醒任务方法,其特征在于,在所述检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中之前,所述方法还包括:当所述运行队列中存在等待中断唤醒状态的目标任务时,通过所述中断唤醒标志对所述等待中断唤醒状态的目标任务进行标记;将标记好的所述目标任务添加到挂起队列中挂起;在每次任务调度时,检测所述挂起队列中挂起的任务是否存在中断唤醒标志。3.如权利要求2所述的强实时中断唤醒任务方法,其特征在于,所述目标任务的初始化状态默认为运行状态,当所述运行队列中存在等待中断唤醒状态的目标任务时,通过所述中断唤醒标志对所述目标任务进行标记,包括:若所述目标任务调用等待中断唤醒,则将所述目标任务由运行状态更改为等待中断唤醒状态;在中断调用唤醒接口时,更改所述中断唤醒标志,并根据所述中断唤醒标志对所述等待中断唤醒状态的目标任务进行标记。4.如权利要求3所述的强实时中断唤醒任务方法,其特征在于,所述中断唤醒标志包括中断唤醒次数,所述在中断调用唤醒接口时,更改所述中断唤醒标志,并根据所述中断唤醒标志对所述等待中断唤醒状态的目标任务进行标记,包括:在中断调用唤醒接口时,更改所述中断唤醒次数为加1;根据加1后的所述中断唤醒次数对所述等待中断唤醒状态的目标任务进行标记。5.如权利要求4所述的强实时中断唤醒任务方法,其特征在于,所述中断唤醒标志还包括中断唤醒响应次数,所述在每次任务调度时,检测所述挂起队...
【专利技术属性】
技术研发人员:吴立军,黄景辉,
申请(专利权)人:深圳市汇采技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。