【技术实现步骤摘要】
本专利技术涉及实时操作系统,尤其涉及一种实时操作系统中的任务调度方 法及系统。
技术介绍
实时操作系统是一种能够在指定或者确定时间内完成系统功能,并且对 外部和内部事件在同步或者异步时间内能做出及时响应的系统。在实时操作系统中,操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作运 行的时间有关,也就是说,实时系统对逻辑和时序的要求非常严格,如果逻 辑和时序控制出现偏差,则将会产生严重后果。为了提供对于实时性的支持,实时操作系统必须对CPU和其他资源进行有效的调度和管理,即实时调度。实时操作系统中各任务(该任务可以是 线程)的状态主要有就绪状态、运行状态、等待状态、中断状态和休眠状态。 其中,由于休眠状态比较少有,因此不再详述,图l示出了其它各状态之间 的转换关系,如图l所示,就绪状态会向运行状态转换、运行状态中会出现 中断状态,中断状态结束后会返回运行状态,运行状态结束后进行等待状态, 等待状态再向就绪状态进行转换。具体进行任务调度时,可基于抢占点进行任务的调度,即在抢占点上进行任务的切换调度。其中,抢占点主要有(l)按照规定的时间间隔设置抢占 点,即一般情况下根据操作系统的定时器(Tick)的时钟节拍,也即操作系 统的心脏进行设置,每隔一定的时间(一般为几毫秒)中断一次,则操作系 统内核会将当前运行的任务延时整数个时钟节拍,此时即出现任务调度的抢 占点;(2)某个任务主动放弃CPU (通常为任务运行完所要处理的事情时,主动放弃CPU,进入延时队列)时,出现任务调度的抢占点;(3)某个任务 因需要资源而资源没有得到时被迫挂起,出现任务调度的抢占点; ...
【技术保护点】
一种实时操作系统中的任务调度方法,其特征在于,该方法包括:为N个优先级中的每个优先级设置优先级链表,将每个优先级链表的首地址存放于对应该优先级的数组元素中;基于先进先出的原则将每个优先级的任务通过对应该优先级的优先先级链表进行连接;从N个优先级中确定存在就绪状态任务的最高优先级;通过所述最高优先级对应的数组元素中存放的所述首地址,调用所述最高优先级对应的优先级链表中的第一个任务;其中,N为大于1的整数。
【技术特征摘要】
1、一种实时操作系统中的任务调度方法,其特征在于,该方法包括为N个优先级中的每个优先级设置优先级链表,将每个优先级链表的首地址存放于对应该优先级的数组元素中;基于先进先出的原则将每个优先级的任务通过对应该优先级的优先级链表进行连接;从N个优先级中确定存在就绪状态任务的最高优先级;通过所述最高优先级对应的数组元素中存放的所述首地址,调用所述最高优先级对应的优先级链表中的第一个任务;其中,N为大于1的整数。2、 如权利要求1所述的方法,其特征在于,从N个优先级中确定存在就 绪状态任务的最高优先级之前,进一步包括按照优先级的高低顺序将N个优先级划分为n个级别互不相同的组,每个 组中至多包括m个优先级,且高优先级对应高级别的组;其中,N<mxn;为每个组设置包括m个比特的组员信息,所述每个组员信息中的各比特与 该组中的各优先级相对应,用于指示对应优先级是否存在就绪状态任务;设置包括n个比特的组信息,所述组信息中的每个比特与各个组相对应, 用于指示对应组中是否包含有就绪状态任务的优先级;根据任务的优先级及当前状态设置所述组信息和组员信息;所述从N个优先级中确定存在就绪状态任务的最高优先级包括根据所述 组信息的取值,确定包含有就绪状态任务的优先级的最高级别组;根据所述最 高级别组对应的组员信息的取值,确定N个优先级中存在就绪状态任务的最高 优先级。3、 如权利要求2所述的方法,其特征在于,所述组信息和组员信息分别用 整数个字节表示,且表示所述组信息的字节中低位比特对应高级别组,表示所 述组员信息的字节中低位比特对应高优先级; 所述根据任务的优先级及当前状态设置所述组信息和组员信息为在任务 的当前状态为就绪状态时,将组员信息中所述任务的优先级对应的比特置位, 在组员信息中存在置位的比特时,将组信息中所述组员信息的组对应的比特置位;该方法进一步包括设置通过字节的取值查找字节中被置位的最低位比特 的序号的查找表函数;所述根据组信息的取值,确定包含有就绪状态任务的优先级的最高级别组为以所述组信息的取值为索引,调用所述查找表函数,得到包含有就绪状态 任务的优先级的最高级别组对应的比特序号,根据所述比特序号确定所述最高 级别组;所述根据所述最高级别组对应的组员信息的取值,确定N个优先级中存在 就绪状态任务的最高优先级为以所述最高级别组对应的组员信息的取值为索 引,调用所述查找表函数,得到该最高级别组中存在就绪状态任务的最高优先 级对应的比特序号,根据得到的所述最高级别组中的所述最高优先级对应的比 特序号及所述最高级别组对应的比特序号,确定N个优先级中存在就绪状态任 务的最高优先级。4、 如权利要求3所述的方法,其特征在于,n个组的组员信息通过一个数 组表示。5、 如权利要求1至4中任一项所述的方法,其特征在于,所述优先级链表 为单向链表或双向链表。6...
【专利技术属性】
技术研发人员:艾国,游明琦,
申请(专利权)人:北京中星微电子有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。