一种任务的实时调度实现方法及其系统的制作方法

文档序号:9200274阅读:484来源:国知局
一种任务的实时调度实现方法及其系统的制作方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及的是一种任务的实时调度实现方法及其系统。
【背景技术】
[0002]随着信息量爆发和电子设备的普及,人们对自动化和智能化的产品,需求依赖随处可见,智能手机,远程医疗,电子支付,生产控制,无人驾驶等。
[0003]总的来说,大到结构复杂的航天机器人,小到手机内置的SIM卡,所有智能化的电子设备,依然遵循冯诺依曼体系结构,可供输入输出的外围设备,信息存储空间和核心处理器。把这一切联系起来的核心就是RT0S/0S(实时操作系统/通用操作系统)。
[0004]怀旧的冰箱,洗衣机,彩电等传统家电设备,操作系统功能很弱,设备启动后,按照固定的控制流程,就能完成用户设定任务。随着智能化的需求,当前的电子产品,不仅外观精致体积纤巧,强大的处理功能和细致人性化设计更是现代工业化的典范要求。
[0005]智能化必然的要求就是多任务并发处理,实时响应,有效计算和强大的信息吞吐能力。传统简陋的任务调度模式不能满足需求,RTOS以至通用的OS成为电子设备的标准配置。
[0006]RTOS适合于多数电子设备,可以并发处理多重任务,并及时响应系统调度和用户输入,缺点是处理能力有限,一般只有有限任务,并对硬件依赖性高,很多高实时系统以来硬件专门处理,并售价高昂不易通用。
[0007]对任务处理要求非常复杂的设备比如智能手机,逐步向传统PC功能靠近,依赖于通用OS系统,当前常见的苹果和谷歌系统,都是基于UNIX系统的改进版本。同时电子设备应用的特点,决定了必然有一些任务,对实时响应有较高需求,比如语音通信,手机支付。而通用OS侧重于多任务并行处理能力,并没有考虑传统控制设备的任务实时响应能力,所以不得不采取专用芯片运行RT0S,处理特殊任务,或对一些核心任务,在通用的OS系统上采取实时补定,以满足不同业务需求。
[0008]因此,现有技术还有待于改进和发展。

【发明内容】

[0009]鉴于上述现有技术的不足,本发明的目的在于提供一种任务的实时调度实现方法及其系统,旨在解决现有技术中没有考虑传统控制设备的任务实时响应能力,需要采取专用芯片运行RTOS来处理特殊任务或者在通用的OS系统上采取实时补定,以满足不同业务需求。
[0010]本发明的技术方案如下:
一种任务的实时调度实现方法,其中,所述方法包括以下步骤:
A、当检测到系统线程创建新任务时,则执行该新任务,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级; B、当大于时,则将该新任务切换至等待调度队列,并将等待调度队列中执行优先级最高的任务调入CPU运行。
[0011]所述任务的实时调度实现方法,其中,所述步骤A具体包括:
Al、当检测到系统线程创建新任务时,则执行该新任务;
A2、根据预先设置的优先级快速定位数组获取等待调度队列中多个任务中执行优先级最高的任务的优先级,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。
[0012]所述任务的实时调度实现方法,其中,所述方法还包括:
C、当小于时,则将该新任务进行系统调用或中断切入操作系统中,并实时检测是否有任务切换指令,当有时则判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。
[0013]所述任务的实时调度实现方法,其中,所述等待调度队列中存放有0-8个待执行任务组,每一待执行任务组都设置有互不相同的执行优先级。
[0014]所述任务的实时调度实现方法,其中,所述待执行任务组可容纳0-8个待执行任务,每一待执行任务都设置有互不相同的执行优先级。
[0015]一种任务的实时调度实现系统,其中,所述系统包括:
任务检测模块,用于当检测到系统线程创建新任务时,则执行该新任务,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级;
任务切换模块、用于当大于时,则将该新任务切换至等待调度队列,并将等待调度队列中执行优先级最尚的任务调入CPU运行。
[0016]所述任务的实时调度实现系统,其中,所述任务检测模块具体包括:
新任务执行单元、用于当检测到系统线程创建新任务时,则执行该新任务;
优先级判断单元、用于根据预先设置的优先级快速定位数组获取等待调度队列中多个任务中执行优先级最高的任务的优先级,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。
[0017]所述任务的实时调度实现系统,其中,所述系统还包括:
任务切断模块、用于当小于时,则将该新任务进行系统调用或中断切入操作系统中,并实时检测是否有任务切换指令,当有时则判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。
[0018]所述任务的实时调度实现系统,其中,所述等待调度队列中存放有0-8个待执行任务组,每一待执行任务组都设置有互不相同的执行优先级。
[0019]所述任务的实时调度实现系统,其中,所述待执行任务组可容纳0-8个待执行任务,每一待执行任务都设置有互不相同的执行优先级。
[0020]有益效果:本发明提供的一种任务的实时调度实现方法及其系统。通过上述方法,可以在RTOS中作为任务调度的实时策略,在不依赖特殊硬件的情况下,提高多任务响应能力。也可以作为通用OS的实时补定,对系统中一群实时要求高的任务组,时间及时响应。
[0021]
【附图说明】
[0022]图1为本发明具体实施例的任务的实时调度实现方法的方法流程图。
[0023]图2为本发明具体实施例的任务的实时调度实现系统的结构框图。
【具体实施方式】
[0024]本发明提供一种任务的实时调度实现方法及其系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0025]请参见图1,图1是本发明具体实施例的一种任务的实时调度实现方法的方法流程图。如图1所示,所述任务的实时调度实现方法包括以下步骤:
51、当检测到系统线程创建新任务时,则执行该新任务。
[0026]S10、判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级;
52、当大于时,则将该新任务切换至等待调度队列,并将等待调度队列中执行优先级最高的任务调入CPU运行。
[0027]具体的,所述步骤A具体包括:当检测到系统线程创建新任务时,则执行该新任务。然后,根据预先设置的优先级快速定位数组获取等待调度队列中多个任务中执行优先级最高的任务的优先级,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。
[0028]更具体的,所述方法还包括:
53、当小于时,则将该新任务进行系统调用或中断切入操作系统中,并实时检测是否有任务切换指令。
[0029]当有时则判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。较佳的是,所述等待调度队列中存放有0-8个待执行任务组,每一待执行任务组都设置有互不相同的执行优先级。具体的,所述待执行任务组可容纳0-8个待执行任务,每一待执行任务都设置有互不相同的执行优先级。
[0030]下面具体陈述本发明所述任务的实时调度实现方法的具体实施算法。为陈述方便,采用以下术语:实时操作系统Real Tim
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1