发明名称 一种微内核嵌入式实时操作系统的任务级资源管理方法
摘要 本发明涉及一种微内核嵌入式实时操作系统的任务级资源管理方法,把资源分为两部分:内部资源和外部资源,内部资源是不需要通过调用系统API来获取和释放的;外部资源需要通过调用系统特定的应用程序接口来获取和释放,在功能较为复杂的任务中使用比较合适。一个任务最多只能占有一个内部资源。当任务进入运行状态的时候,资源被自动的获取;当任务自动结束或主动发生强制调度并退出运行状态时,其内部资源被自动的释放。一个任务可以占有多个外部资源,占有和释放外部资源必须按照先进后出的顺序进行。本发明的优点:使对资源的使用和管理更加方便,实现任务级资源管理的所需要的时间开销和空间开销很少,资源管理可以和具体调度策略相结合。
申请公布号 CN1327349C 申请公布日期 2007.07.18
申请号 CN200510050085.5 申请日期 2005.06.13
申请人 浙江大学 发明人 吴朝晖;赵民德;厉蒋;李红;潘杭平;孙洁
分类号 G06F9/50(2006.01) 主分类号 G06F9/50(2006.01)
代理机构 杭州九洲专利事务所有限公司 代理人 陈继亮
主权项 1、一种微内核嵌入式实时操作系统的任务级资源管理方法,其特征是:把微内核嵌入式实时操作系统中的资源分为两部分:不需要通过调用系统API来获取和释放的内部资源,通过调用应用程序接口来获取和释放的外部资源;一个任务最多只能占有一个内部资源,当任务进入运行状态的时候,资源被自动的获取,当任务自动结束或主动发生强制调度并退出运行状态时,其内部资源被自动的释放;一个任务占有多个外部资源,占有和释放外部资源必须按照先进后出的顺序进行;系统给每一个内部资源或外部资源分配一个优先级,该优先级等于需要使用该资源的所有任务的最高优先级;具体步骤如下:1)、建立优先级的就绪队列;2)、设计任务控制块,增加外部资源的指针和内部资源的优先级以及内部资源使用时所需保存的任务控制块指针;3)、建立任务控制块数组以及用其优先级索引的任务控制块指针数组;4)、设计外部资源的控制块,包括优先级、外部资源链表、所需保存的任务控制块指针;5)、设计内部资源的获取和释放功能:如果任务T1试图获取内部资源R1,则在T1运行起来前将内部资源R1的优先级放入就绪队列,接着将R1的优先级对应的任务控制块指针数组中的值保存在T1的任务控制块中,最后将R1的优先级对应的任务控制块指针数组中的值置为T1;当任务T1释放内部资源R1时,先将在T1的任务控制块中保存的任务控制块恢复,然后重新设置就绪队列;6)、设计外部资源的获取和释放功能的应用程序接口:当任务T2获取外部资源R2时,将R2的优先级放入就绪队列,接着将R2的优先级对应的任务控制块指针数组中的值保存在R2的外部资源的控制块中,然后将R2的优先级对应的任务控制块指针数组中的值置为T2,最后把其外部资源R2和T2原有的资源组成堆栈链表,并把堆栈链表头保存在T2的任务控制块中;当任务T2释放资源R2时,先将R2从其堆栈链表中删除,并重置T2的任务控制块中的资源,接着将R2的外部资源的控制块中保存的任务控制块恢复,最后设置就绪队列。
地址 310027浙江省杭州市西湖区浙大路38号浙江大学计算机学院系统工程研究所