【技术实现步骤摘要】
一种嵌入式实时操作系统的两级优先调度方法
[0001]本专利技术涉及嵌入式实时操作系统内核
,具体涉及一种嵌入式实时操作系统μC/OS
‑
II的任务调度算法的优化方法。
技术介绍
[0002]μC/OS
‑
II是一款功能强大、可靠性高的实时操作系统(Real Time Operating System,RTOS),具有高度的可移植性、可裁剪性和可配置性,通过采用抢占式优先级调度算法满足不同任务的实时调度需求。
[0003]原μC/OS
‑
II任务优先级机制设有唯一的一级优先级,使用优先级位图来管理。μC/OS
‑
II中每个任务的优先级大小与该整数值成反比,即0为最大优先级,数值越大,优先级越小。这种设计可以确保系统中任务的优先级是有序的,使得任务可以按照优先级的高低来调度和执行。由于任务数量和优先级数目的增加,使用一般的数据结构(例如链表)来管理任务的优先级可能会导致查找和更新就绪任务的时间过长,从而影响系统的实时性能。为了解决这一问题,μC/OS
‑
II采用了优先级位图来管理任务优先级。优先级位图使用一个位数组OSRdyTbl和一个位变量OSRdyGrp来表示系统中所有任务的就绪状态。其中,OSRdyTbl由8个元素组成,每个元素有8位,共64位,每一位对应一个任务的优先级。如果该任务处于就绪状态,则相应的位为1,否则为0;OSRdyGrp是一个8位变量,每一位对应OSRdyTbl中的一组,1表示该组至少有一个就 ...
【技术保护点】
【技术特征摘要】
1.一种嵌入式实时操作系统的两级优先调度方法,在嵌入式实时系统μC/OS
‑
II中支持两级优先级实时调度,包括以下步骤:步骤S1:任务就绪,任务就绪并等待内核调度时,任务调度模块根据所有就绪任务的用户定义的一级优先级prio1更新就绪状态表,输出更新后的优先级就绪组OSRdyGrp、一级优先级就绪表OSRdyTbl和二级优先级就绪表OSRdyTbl_2;步骤S2:任务查找,查找最高优先级就绪任务,利用优先级位图OSUnMap与优先级判断表OSUnMapTbl,结合二级优先级就绪表OSRdyTbl_2,根据一级和二级优先级查找最高优先级就绪任务,输出由一级优先级prio1与二级优先级prio2构成的任务序列号;步骤S3:任务结束,一个任务结束时根据其一级优先级prio1与二级优先级prio2构成的任务序列号将其从就绪状态中移除,同时对优先位图、一级与二级优先级就绪表进行更新。2.根据权利要求1所述一种嵌入式实时操作系统的两级优先调度方法,其特征在于,所述两级优先级层级功能包括:一级优先级prio1:由用户决定,允许用户直接为多个功能或重要性一致的任务分配相同的优先级;以及二级优先级prio2:根据用户指定的优先级策略由系统自动分配,同一优先级下的任务可以按照二级优先级进行调度。3.根据权利要求1所述一种嵌入式实时操作系统的两级优先调度方法,其特征在于,所述扩展的二级优先级就绪表OSRdyTbl_2:OSRdyTbl_2被指定为一个大小为64*2
n
(n>1)的数组,通过prio2=OSRdyTbl_2[prio1]的形式实现任务一、二级优先级之间的映射。4.根据权利要求2所述一种嵌入式实时操作系统的两级优先调度方法,其特征在于,扩展后可支持的任务调度总数:二级优先级的数量可以根据需要分为2
n
(n>1)个,系统支持的任务调度总数可以扩充到2
m
(m=n+6)个。5.根据权利要求2所述一种嵌入式实时操作系统的两级优先调度方法,其特征在于,所述扩展后任务优先级表征的唯一性:扩展后每个任务的优先级仍然是唯一的,其形式为prio1/prio2。6.根据权利要求2所述一种嵌入式实时操作...
【专利技术属性】
技术研发人员:李启明,房文宇,杨霞,孙海泳,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。