CN115543461A - 一种强实时中断唤醒任务方法及相关设备 - Google Patents

一种强实时中断唤醒任务方法及相关设备 Download PDF

Info

Publication number
CN115543461A
CN115543461A CN202211296885.5A CN202211296885A CN115543461A CN 115543461 A CN115543461 A CN 115543461A CN 202211296885 A CN202211296885 A CN 202211296885A CN 115543461 A CN115543461 A CN 115543461A
Authority
CN
China
Prior art keywords
task
interrupt
awakening
interruption
wakeup
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211296885.5A
Other languages
English (en)
Inventor
吴立军
黄景辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Huicai Technology Co ltd
Original Assignee
Shenzhen Huicai Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Huicai Technology Co ltd filed Critical Shenzhen Huicai Technology Co ltd
Priority to CN202211296885.5A priority Critical patent/CN115543461A/zh
Publication of CN115543461A publication Critical patent/CN115543461A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供一种强实时中断唤醒任务方法,包括:检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中;将所述运行队列中的任务按任务优先级进行运行;实现了实时发布唤醒任务,并且解决任务唤醒不即时,中断丢失,中断溢出的问题,从而提高了通讯的吞吐率,提高用户体验;提高了任务的响应速度,事件可以得到更加实时的处理,从而提高了用户体验,在一些多任务的保护***和强实时的通讯设备上可以得到更好的体现价值。

Description

一种强实时中断唤醒任务方法及相关设备
技术领域
本发明涉及实时任务管理技术领域,具体涉及一种强实时中断唤醒任务方法、装置、电子设备及存储介质。
背景技术
传统的多任务***,在进行中断唤醒任务一般采用直接进行任务调度、开关总中断、关闭任务调度器后激活任务、延迟发布唤醒任务。
进行任务调度:针对低频的中断唤醒函数使用的方式,直接在中断中切换任务,在高频中断中不被适用;开关总中断:频繁的开关总中断会导致高频中断丢失;关闭任务调度器后激活任务:执行时间较长,容易导致中断溢出,或者***调整后出现异常情况;延迟发布唤醒任务:任务无法得到实时的响应。
发明内容
本发明实施例提供一种强实时中断唤醒任务方法,旨在解决现有任务唤醒不及时,中断丢失和中断溢出的问题。
本发明实施例提供一种强实时中断唤醒任务方法,能够降低了开关总中断次数,和减少了中断执行时间从而来保证高频,高响应中断不会出现丢失,并且减少了中断唤醒任务的时间,从而提高了任务的响应速度.
第一方面,本发明实施例提供一种强实时中断唤醒任务方法,包括:
检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中;
将所述运行队列中的任务按任务优先级进行运行。
优选地,在所述检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中之前,所述方法还包括:
当所述运行队列中存在等待中断唤醒状态的目标任务时,通过所述中断唤醒标志对所述等待中断唤醒状态的目标任务进行标记;
将标记好的所述目标任务添加到挂起队列中挂起;
在每次任务调度时,检测所述挂起队列中挂起的任务是否存在中断唤醒标志。
优选地,所述目标任务的初始化状态默认为运行状态,当所述运行队列中存在等待中断唤醒状态的目标任务时,通过所述中断唤醒标志对所述目标任务进行标记,包括:
若所述目标任务调用等待中断唤醒,则将所述目标任务由运行状态更改为等待中断唤醒状态;
在中断调用唤醒接口时,更改所述中断唤醒标志,并根据所述中断唤醒标志对所述等待中断唤醒状态的目标任务进行标记。
优选地,所述中断唤醒标志包括中断唤醒次数,所述在中断调用唤醒接口时,更改所述中断唤醒标志,并根据所述中断唤醒标志对所述等待中断唤醒状态的目标任务进行标记,包括:
在中断调用唤醒接口时,更改所述中断唤醒次数为加1;
根据加1后的所述中断唤醒次数对所述等待中断唤醒状态的目标任务进行标记。
优选地,所述中断唤醒标志还包括中断唤醒响应次数,所述在每次任务调度时,检测所述挂起队列中挂起的任务是否存在中断唤醒标志,包括:
在每次任务调度时,检测所述挂起队列中每个挂起的任务对应的中断唤醒次数和中断唤醒响应次数是否相等。
优选地,所述检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中,包括:
若检测到挂起的任务对应的中断唤醒次数和中断唤醒响应次数不相等,则将包含所述中断唤醒次数和中断唤醒响应次数不相等的任务加入到运行队列中,并更改对应的所述中断唤醒响应次数为加1。
优选地,所述将包含所述中断唤醒次数和中断唤醒响应次数不相等的任务加入到运行队列中,包括:
将包含所述中断唤醒次数和中断唤醒响应次数不相等的任务按照任务的优先级***到所述运行队列,并将所述运行队列中的优先级最高的任务块获取出来切换到所述中断唤醒次数和中断唤醒响应次数不相等的任务。
优选地,本发明实施例提供一种强实时中断唤醒任务装置,所述装置包括:
检测模块,用于检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中;
运行模块,用于将所述运行队列中的任务按任务优先级进行运行。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的通讯设备程序,所述处理器执行所述通讯设备程序时实现如强实时中断唤醒任务方法中的步骤。
第四方面,本实施例提供一种通讯设备可读存储介质,所述通讯设备可读存储介质上存储有通讯设备程序,所述通讯设备程序被处理器执行时实现如强实时中断唤醒任务方法中的步骤。
本发明的上述方案至少包括以下有益效果:
实现了实时发布唤醒任务,并且解决任务唤醒不即时,中断丢失,中断溢出的问题,从而提高了通讯的吞吐率,提高用户体验;提高了任务的响应速度,事件可以得到更加实时的处理,从而提高了用户体验,在一些多任务的保护***和强实时的通讯设备上可以得到更好的体现价值。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种强实时中断唤醒任务方法流程图;
图2是本发明实施例提供的主任务流程图;
图3是本发明实施例提供的中断流程图;
图4是本发明实施例提供的任务调度流程图;
图5是本发明实施例提供的一种强实时中断唤醒任务装置的结构示意图;
图6是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,图1是本发明实施例提供的一种强实时中断唤醒任务方法的流程图,如图1所示,该强实时中断唤醒任务方法包括以下步骤:
101、检测到挂起的任务存在中断唤醒标志时,将包含中断唤醒标志的任务加入到运行队列中。
在本发明实施例中,可以将任务队列划分为两个队列,一个是挂起队列,一个运行队列,其中,挂起队列用于添加等待中断唤醒任务,当一个任务中断后,可以将该中断的任务添加到挂起队列中等待再次唤醒。运行队列用于添加需要运行的任务,每个任务的初始状态为运行状态。
在每次进行任务调度时,会检测挂起的任务中是否存在中断唤醒标志,当检测到挂起的任务存在中断唤醒标志时,将包含中断唤醒标志的任务加入到运行队列中进行执行,当没有检测到挂起的任务存在中断唤醒标志时,则直接跳转到运行队列。其中,挂起的任务为挂起列队中的任务。
上述中断唤醒标志用于描述挂起的任务是否准备唤醒,上述中断唤醒标志可以是一个状态标识,也可以是数值标识。比如,上述中断唤醒标志可以是待唤醒状态或已唤醒状态,当上述中断唤醒标志为待唤醒状态,则将包含中断唤醒标志的任务加入到运行队列中,并从挂起队列中将对应的任务去除;当上述中断唤醒标志为已唤醒状态,则将对应的任务从挂起队列中去除。又比如,上述中断唤醒标志可以是待唤醒次数和已唤醒次数,当待唤醒次数不等于已唤醒次数时,则将包含中断唤醒标志的任务加入到运行队列中,并将已唤醒次数更新为与待唤醒次数相等,且则将对应的任务从挂起队列中去除。当待唤醒次数等于已唤醒次数时,则将对应的任务从挂起队列中去除。
需要说明的是,上述待唤醒次数也可以称为中断唤醒次数,上述已唤醒次数也可以称为中断唤醒响应次数。
102、将运行队列中的任务按任务优先级进行运行。
具体的,将标记有中断唤醒任务标识的任务加入到运行队列中,并对运行队列中的任务优先级运行。上述挂起的任务可按通讯设备的运行队列中优先级进行运行,任务优先级是指任务抢占CPU的优先顺序,任务优化级的值越小则任务越优先,运行队列是指为了让任务一次执行,需要定义一个运行队列,以及一个正在执行的标志,任务来了之后,首先是判断当前运行队列是否为空,如果运行队列为空,或者正在执行,则加入队列中。
本发明实施例实现了实时发布唤醒任务,并且解决任务唤醒不即时,中断丢失,中断溢出的问题,从而提高了通讯的吞吐率,提高用户体验;提高了任务的响应速度,事件可以得到更加实时的处理,从而提高了用户体验,在一些多任务的保护***和强实时的通讯设备上可以得到更好的体现价值。
具体的,在检测到挂起的任务存在中断唤醒标志时,将包含中断唤醒标志的任务加入到运行队列中的步骤之前,还包括:当运行队列中存在等待中断唤醒状态的目标任务时,通过中断唤醒标志对等待中断唤醒状态的目标任务进行标记;将标记好的目标任务添加到挂起队列中挂起;在每次任务调度时,先检测挂起队列中挂起的任务是否存在中断唤醒标志。
103、在本发明实施例中,上述运行队列中的任务被中断时,可以认为该被中断的任务为待中断唤醒状态的目标任务,进而可以确定运行队列中存在等待中断唤醒状态的目标任务,此时,可以通过中断唤醒标志对等待中断唤醒状态的目标任务进行标记;将标记好的目标任务添加到挂起队列中挂起,并从运行任务中去除。上述的中断唤醒标志可以通过调用中断专用接口来进行标记,比如,上述的中断唤醒标志可以是单片机的一种软中断,配置中断优先级最低,并且可以实现不同任务之间的任务切换,主要依赖***的pendsv中断进行,当标记有中断唤醒标志的任务即可将任务移动至运行队列当中,然后按照优先级进行运行。
具体的,所述目标任务的初始化状态默认为运行状态,当所述运行队列中存在等待中断唤醒状态的目标任务时,通过所述中断唤醒标志对所述目标任务进行标记,包括:若所述目标任务调用等待中断唤醒,则将所述目标任务由运行状态更改为等待中断唤醒状态;在中断调用唤醒接口时,更改所述中断唤醒标志,并根据所述中断唤醒标志对所述等待中断唤醒状态的目标任务进行标记;
任务可分为三种状态分别为:运行状态、休眠状态、等待中断唤醒状态,在调用等待获取同步信息的时候任务会从运行态切换到休眠状态,等待时间片耗尽或者被其他任务唤醒,如果任务调用等待中断唤醒这时候任务就会进入到等待中断唤醒状态,从而等待中断唤醒,时间片是指相同优先级的任务占用MCU的指定时间后就要切换到其他同优先级的任务。
具体的,所述中断唤醒标志包括中断唤醒次数,所述在中断调用唤醒接口时,更改所述中断唤醒标志,并根据所述中断唤醒标志对所述等待中断唤醒状态的目标任务进行标记,包括:在中断调用唤醒接口时,更改所述中断唤醒次数为加1;根据加1后的所述中断唤醒次数对所述等待中断唤醒状态的目标任务进行标记;上述的中断唤醒次数是用于记载挂起的任务中的唤醒次数,并且中断唤醒次数加1后则优先级最高的任务运行。
具体的,所述中断唤醒标志还包括中断唤醒响应次数,所述在每次任务调度时,检测所述挂起队列中挂起的任务是否存在中断唤醒标志,包括:在每次任务调度时,检测所述挂起队列中每个挂起的任务对应的中断唤醒次数和中断唤醒响应次数是否相等;在任务信息中包含中断唤醒次数和中断唤醒响应次数两个变量,当挂起的任务对应的中断唤醒次数和中断唤醒响应次数是不相等,则上述的中断唤醒次数和中断唤醒响应次则会产生变化,使得产生一次任务调度中断。
具体的,所述检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中,包括:若检测到挂起的任务对应的中断唤醒次数和中断唤醒响应次数不相等,则将包含所述中断唤醒次数和中断唤醒响应次数不相等的任务加入到运行队列中,并更改对应的所述中断唤醒响应次数为加1;当中断唤醒次数和中断唤醒响应次数不相等的任务加入到运行队列后,运行列表则按照优先级最高的任务块获取出来切换至当前任务
具体的,所述将包含所述中断唤醒次数和中断唤醒响应次数不相等的任务加入到运行队列中,包括:将包含所述中断唤醒次数和中断唤醒响应次数不相等的任务按照任务的优先级***到所述运行队列,并将所述运行队列中的优先级最高的任务块获取出来切换到所述中断唤醒次数和中断唤醒响应次数不相等的任务,当中断唤醒队列中的任务中断唤醒次数和中断唤醒响应次数相等时,则中断唤醒相应次数无需增加和改变当前的运行,并可处理其他任务。
本发明实施例中,挂起队列是指将没有中断唤醒标志的任务加入挂起队列中,运行队列是指在每次任务调度时,检测挂起队列中挂起的任务是否有中断唤醒标志,如果有就将任务移动到运行的队列中,然后运行当前最高优先级的任务。
可选的,本发明实施例中,首先将任务分为3中状态分别是运行状态、休眠状态、等待中断唤醒状态。挂起队列可以通过一链表进行维护,该列表可以称为等待中断唤醒链表。运行队列可以通过另一个链表进行维护,该列表可以称为就绪表。
所有任务初始化默认是运行状态,在调用等待获取同步信息的时候任务会从运行态切换到休眠状态,等待时间片耗尽或者被其他任务唤醒,如果任务调用等待中断唤醒,这时候任务就会进入到等待中断唤醒状态,从而等待中断唤醒。
在任务信息中包含中断唤醒次数和中断唤醒响应次数两个变量,当在中断调用唤醒接口时中断唤醒次数会进行加一,并且触发一次任务调度器。而每一次的任务调度都会检测中断唤醒链表中的所有等待中断唤醒任务中的这两个变量,当两个变量不相等时会就将中断唤醒响应次数次数加一,并且将对应的任务块从等待中断唤醒链表中去除,然后按照任务的优先级***到就绪表,随后将就绪表中的优先级最高的任务块获取出来切换到这个任务。
具体的,请参考图2,图2是本发明实施例提供的一种主任务流程的示意图,如图2所示,主任务流程包括以下步骤:
S1、用户任务开始;
S2、等待中断唤醒接口;
S3、任务切换到等待中断唤醒状态,释放MCU,切换到其他任务;
S4、确定任务是否被唤醒;
S5、任务被唤醒后开始处理事务,并连接等待中断唤醒接口。
具体的,请参考图3,图3是本发明实施例提供的一种中断流程的示意图,如图3所示,中断流程包括以下步骤:
S11、外部中断;
S12、简单对中断信息加工;
S13、调用唤醒任务接口,任务唤醒次数+1;
S14、产生一次任务调用中断;
S15、中断结束。
具体的,请参考图4,图4是本发明实施例提供的一种任务调度流程的示意图,如图4所示,任务调度流程包括以下步骤:
S21、任务调度器;
S31、中断唤醒队列中的任务唤醒次数和响应次数不等;
S41、若任务唤醒次数和响应次数不等,则响应次数+1,任务切换到运行状态,并进行下一步操作;
若任务唤醒次数和响应次数相等,可直接进行下一步操作;
S51、确认若任务唤醒次数和响应次数是否相等,随后处理其他事物;
S61、任务调度器结束。
具体的,本发明实施例中强实时中断唤醒任务方法的伪代码如下:
Figure BDA0003901635470000081
Figure BDA0003901635470000091
可选的,请参见图5,图5是本发明实施例提供的一种强实时中断唤醒任务装置的结构示意图,如图5所示,所述装置包括:检测模块201,用于检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中;
运行模块202,用于将所述运行队列中的任务按任务优先级进行运行。
需要说明的是,本发明实施例提供的强实时中断唤醒任务装置可以应用于可以进行强实时中断唤醒任务的智能手机、电脑、服务器等设备。
可选的,检测模块201包括:
任务表模块,将任务挂起到任务模块中;
标记模块,将中断唤醒标志对所述等待中断唤醒状态的目标任务进行标记;并将其添加到挂起队列中。
可选的,运行模块202包括:
调度模块,将目标任务由运行状态更改为等待中断唤醒状态;
中断唤醒次数模块,中断调用唤醒接口时,更改所述中断唤醒次数为加1。
可选的,中断唤醒次数模块包括:
响应模块,检测所述挂起队列中每个挂起的任务对应的中断唤醒次数和中断唤醒响应次数是否相等,若中断唤醒次数和中断唤醒响应次数不相等,则中断唤醒响应次数为加1。
优先级模块,在每次的任务调度时会检测挂起的任务是否有中断唤醒标志,如果有就将任务移动到运行的队列中,然后运行当前最高优先级的任务。
本发明实施例提供的强实时中断唤醒任务装置能够实现上述方法实施例中强实时中断唤醒任务方法实现的各个过程,且可以达到相同的有益效果。为避免重复,这里不再赘述。
可选的,请参见图6,图6是本发明实施例提供的一种电子设备的结构示意图,如图6所示,包括:存储器302、处理器301及存储在所述存储器302上并可在所述处理器上运行的通讯设备程序,所述处理器301执行所述通讯设备程序时实现如强实时中断唤醒任务方法中的步骤。
可选的,所述通讯设备可读存储介质上存储有通讯设备程序,所述通讯设备程序被处理器执行时实现如强实时中断唤醒任务方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存取存储器(RandomAccessMemory,简称RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (10)

1.一种强实时中断唤醒任务方法,其特征在于,包括:
检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中;
将所述运行队列中的任务按任务优先级进行运行。
2.如权利要求1所述的强实时中断唤醒任务方法,其特征在于,在所述检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中之前,所述方法还包括:
当所述运行队列中存在等待中断唤醒状态的目标任务时,通过所述中断唤醒标志对所述等待中断唤醒状态的目标任务进行标记;
将标记好的所述目标任务添加到挂起队列中挂起;
在每次任务调度时,检测所述挂起队列中挂起的任务是否存在中断唤醒标志。
3.如权利要求2所述的强实时中断唤醒任务方法,其特征在于,所述目标任务的初始化状态默认为运行状态,当所述运行队列中存在等待中断唤醒状态的目标任务时,通过所述中断唤醒标志对所述目标任务进行标记,包括:
若所述目标任务调用等待中断唤醒,则将所述目标任务由运行状态更改为等待中断唤醒状态;
在中断调用唤醒接口时,更改所述中断唤醒标志,并根据所述中断唤醒标志对所述等待中断唤醒状态的目标任务进行标记。
4.如权利要求3所述的强实时中断唤醒任务方法,其特征在于,所述中断唤醒标志包括中断唤醒次数,所述在中断调用唤醒接口时,更改所述中断唤醒标志,并根据所述中断唤醒标志对所述等待中断唤醒状态的目标任务进行标记,包括:
在中断调用唤醒接口时,更改所述中断唤醒次数为加1;
根据加1后的所述中断唤醒次数对所述等待中断唤醒状态的目标任务进行标记。
5.如权利要求4所述的强实时中断唤醒任务方法,其特征在于,所述中断唤醒标志还包括中断唤醒响应次数,所述在每次任务调度时,检测所述挂起队列中挂起的任务是否存在中断唤醒标志,包括:
在每次任务调度时,检测所述挂起队列中每个挂起的任务对应的中断唤醒次数和中断唤醒响应次数是否相等。
6.如权利要求5所述的强实时中断唤醒任务方法,其特征在于,所述检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中,包括:
若检测到挂起的任务对应的中断唤醒次数和中断唤醒响应次数不相等,则将包含所述中断唤醒次数和中断唤醒响应次数不相等的任务加入到运行队列中,并更改对应的所述中断唤醒响应次数为加1。
7.如权利要求6所述的强实时中断唤醒任务方法,其特征在于,所述将包含所述中断唤醒次数和中断唤醒响应次数不相等的任务加入到运行队列中,包括:
将包含所述中断唤醒次数和中断唤醒响应次数不相等的任务按照任务的优先级***到所述运行队列,并将所述运行队列中的优先级最高的任务块获取出来切换到所述中断唤醒次数和中断唤醒响应次数不相等的任务。
8.一种强实时中断唤醒任务装置,其特征在于,所述装置包括:
检测模块,用于检测到挂起的任务存在中断唤醒标志时,将包含所述中断唤醒标志的任务加入到运行队列中;
运行模块,用于将所述运行队列中的任务按任务优先级进行运行。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的通讯设备程序,所述处理器执行所述通讯设备程序时实现如权利要求1至7中任一项所述的强实时中断唤醒任务方法中的步骤。
10.一种通讯设备可读存储介质,其特征在于,所述通讯设备可读存储介质上存储有通讯设备程序,所述通讯设备程序被处理器执行时实现如权利要求1至7中任一项所述的强实时中断唤醒任务方法中的步骤。
CN202211296885.5A 2022-10-21 2022-10-21 一种强实时中断唤醒任务方法及相关设备 Pending CN115543461A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211296885.5A CN115543461A (zh) 2022-10-21 2022-10-21 一种强实时中断唤醒任务方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211296885.5A CN115543461A (zh) 2022-10-21 2022-10-21 一种强实时中断唤醒任务方法及相关设备

Publications (1)

Publication Number Publication Date
CN115543461A true CN115543461A (zh) 2022-12-30

Family

ID=84734680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211296885.5A Pending CN115543461A (zh) 2022-10-21 2022-10-21 一种强实时中断唤醒任务方法及相关设备

Country Status (1)

Country Link
CN (1) CN115543461A (zh)

Similar Documents

Publication Publication Date Title
CN109918141B (zh) 线程执行方法、装置、终端及存储介质
US8612986B2 (en) Computer program product for scheduling ready threads in a multiprocessor computer based on an interrupt mask flag value associated with a thread and a current processor priority register value
US6006247A (en) Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system
CN107273141B (zh) 嵌入式实时操作***
CN107491346B (zh) 一种应用的任务处理方法、装置及***
US20060010446A1 (en) Method and system for concurrent execution of multiple kernels
CN107851050B (zh) 具有看门狗定时器的装置及用于操作看门狗定时器的方法
US7953906B2 (en) Multiple interrupt handling method, devices and software
US8132171B2 (en) Method of controlling thread access to a synchronization object
KR100959548B1 (ko) 인터럽트 스케줄링 방법
US7043729B2 (en) Reducing interrupt latency while polling
EP3376381A1 (en) Resource management method and system, and computer storage medium
CN111782295B (zh) 一种应用程序的运行方法、装置、电子设备及存储介质
CN113010275A (zh) 一种中断处理方法和装置
KR20000060827A (ko) 실시간 운영체계 커널(Real-time operating systemKernel)의 이벤트 전달 체계 구현방법
EP4242842A1 (en) Thread priority adjusting method, terminal, and computer readable storage medium
JPH02300939A (ja) セマフォオペレーション方式
CN117573355A (zh) 任务处理方法、装置、电子设备以及存储介质
CN101349975B (zh) 一种在嵌入式操作***上实现中断底半部机制的方法及装置
CA2767782C (en) Suspendable interrupts for processor idle management
CN115543461A (zh) 一种强实时中断唤醒任务方法及相关设备
WO2008157455A2 (en) Notifying user mode scheduler of blocking events
CN111813531B (zh) 一种操作***时钟调度方法及***
CN107239417B (zh) 基于异步事件框架机制处理低速外设访问的***及方法
CN110489089B (zh) 基于中断管理框架的嵌入式***低功耗控制方法及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination