[发明专利]操作系统的任务调度方法、装置及计算机有效
申请号: | 201110003864.5 | 申请日: | 2011-01-10 |
公开(公告)号: | CN102591703A | 公开(公告)日: | 2012-07-18 |
发明(设计)人: | 熊赟 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 深圳市爱派知识产权事务所 44292 | 代理人: | 梁培峰 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 操作系统 任务 调度 方法 装置 计算机 | ||
技术领域
本发明涉及嵌入式实时操作系统,具体而言,尤其涉及一种操作系统的任务调度方法、装置及计算机。
背景技术
嵌入式实时操作系统是一种能在确定时间内完成系统功能,并且对内部,外部事件能做出及时响应的系统。
任务调度是操作系统的核心功能之一,其主要功能是依据某一准则选择某个已就绪的任务,并跳入这个任务中执行。调度器就是完成任务调度功能的模块。大多嵌入式实时操作系统基于优先级进行调度,具体为操作系统为每个任务分配一个优先级,调度器从已经就绪的各个任务中,选择优先级最高的任务执行。
目前,嵌入式实时操作系统调度器的实现方法较多的借鉴或改进μC/OS-II提出的分组映射表的方法来实现在稳定时间内找到待执行的任务,其实现上,先采用分组映射表来找到就绪态任务的最高优先级;再对于每个优先级维护了各自任务链表,同一优先级的任务按照先进先出(First-in,First-out)原则从链表中插入/删除。这样实现了对多个任务可以使用同一优先级这个特性的支持。但是,通过分组映射表的查找方法需要消耗额外的数据空间,并且优先级的数目也受到限制。
因此,目前现有技术的操作系统中的任务调度方法需要消耗额外的数据存储空间,并且优先级与任务一一对应,不够灵活。
发明内容
本发明的主要目的在于提供一种操作系统的任务调度方法、装置及计算机,以解决现有技术的操作系统中的任务调度方法需要消耗额外的数据存储空间,以及同一优先级下支持多个任务的问题。
为了实现上述目的,根据本发明的一方面,提供了一种操作系统的任务调度方法。
根据本发明的操作系统的任务调度方法包括:通过任务状态的转换来触发调度操作系统的任务;根据任务的优先级在任务索引表中获取该任务对应的链接索引;根据链接索引更新任务在就绪任务链表中的位置。
进一步地,在根据任务的优先级在任务索引表中获取该任务对应的链接索引的步骤之前,方法还包括:创建任务索引表,任务索引表包括一个或多个索引记录,每个索引记录用于记录一个优先级所对应的第一个和最后一个任务节点在就绪任务链表中的链接索引,其中,任意一个优先级对应一个或多个任务节点,每个任务节点分别对应唯一一个优先级。
进一步地,根据链接索引更新任务在就绪任务链表中的位置的步骤包括:获取链接索引表征的任务在就绪任务链表中的节点位置,就绪任务链表用于记录各个优先级任务的节点位置;将任务插入或移除节点位置。
进一步地,在根据链接索引更新任务在就绪任务链表中的位置的步骤之后,方法还包括:根据任务在就绪任务链表中的新位置,获取任务索引表中该优先级任务的新链接索引,将原来的链接索引更换为新连接索引。
进一步地,在通过任务状态的转换来触发调度操作系统的任务的步骤之后,方法还包括:判断任务状态的转换是否切换成功,其中,当任务状态切换失败,同时切换为延时状态,则将任务插入延时任务链表中,否则触发调度操作系统的任务的步骤成功。
进一步地,在延时状态的时刻到达或超时的情况下,任务切换成功。
为了实现上述目的,根据本发明的另一个方面,提供了一种操作系统的任务调度装置。
根据本发明的操作系统的任务调度装置包括:触发模块,用于通过任务状态的转换来触发调度操作系统的任务;调度模块,用于根据任务的优先级在任务索引表中获取该任务对应的链接索引;第一更新模块,用于根据链接索引更新任务在就绪任务链表中的位置。
进一步地,装置还包括:创建模块,用于创建任务索引表,任务索引表包括一个或多个索引记录,每个索引记录用于记录一个优先级所对应的第一个和最后一个任务节点在就绪任务链表中的链接索引,其中,任意一个优先级对应一个或多个任务节点,每个任务节点分别对应唯一一个优先级。
进一步地,第一更新模块包括:获取模块,用于获取链接索引表征的任务在就绪任务链表中的节点位置,就绪任务链表用于记录各个优先级任务的节点位置;变更模块,用于将任务插入或移除节点位置。
进一步地,装置还包括:第二更新模块,用于根据任务在就绪任务链表中的新位置,获取任务索引表中该优先级任务的新链接索引,将原来的链接索引更换为新连接索引。
进一步地,装置还包括:判断模块,用于判断任务状态的转换是否切换成功,其中,当任务状态切换失败,同时切换为延时状态,则将任务插入延时任务链表中,否则触发调度操作系统的任务的步骤成功,其中,在延时状态的时刻到达或超时的情况下,任务切换成功。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110003864.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种Turbo编码交织处理的方法及装置
- 下一篇:无缝黄铜管的生产方法