[发明专利]根据简单优先级继承方案的多任务方法及其嵌入式系统有效
| 申请号: | 200710300426.9 | 申请日: | 2007-12-27 | 
| 公开(公告)号: | CN101216785A | 公开(公告)日: | 2008-07-09 | 
| 发明(设计)人: | 崔奎相;朴正根;林采石 | 申请(专利权)人: | 三星电子株式会社 | 
| 主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 | 
| 代理公司: | 北京铭硕知识产权代理有限公司 | 代理人: | 韩明星;安宇宏 | 
| 地址: | 韩国京畿道*** | 国省代码: | 韩国;KR | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 根据 简单 优先级 继承 方案 任务 方法 及其 嵌入式 系统 | ||
技术领域
本发明涉及一种根据多个任务中的每个任务的优先级执行所述多个任务的多任务方法及其嵌入式系统。
背景技术
可将在嵌入式系统中的操作系统(OS)分成实时OS(RTOS)和非RTOS。商业化的OS中代表性的RTOS是VxWorks(www.windriver.com)、pSOS(www.windriver.com)、VRTX(www.mento.com)、QNX(www.qnx.com)、Nucleus(www.atinudclus.com)、MC/OSII(www.mcos-ii.com)和OSE(www.ose.com)。这些RTOS通常支持用于停止执行特定任务并首先执行另一任务的抢占式(preempted)多任务。
为了使RTOS支持抢占式多任务,每个任务必须具有优先级。RTOS中的实时表示特定任务的执行结束时间必须在期望的调度(schedule)中。具体地讲,当必须比其他任务更严格地观测特定任务的执行结束时间时,将所述特定任务的优先级设置的比其他任务的优先级高。例如,任务的执行周期越短,必须越严格地观测该任务的执行结束时间。如果将任务的优先级反转,则任务的执行结束时间无法在期望的调度中,这导致RTOS中的实时特性破坏。
图1是描述在RTOS中的优先级反转的时序图。
参照图1,存在3个任务,并标记了通过占据中央处理单元(CPU)而被执行的每个任务的持续时间。在这3个任务中具有最低优先级的第一任务抢占CPU。在占据CPU的同时,第一任务锁定特定资源的mutex(互斥对象)。具体地讲,在图1的CPU占据持续时间内,将mutex被锁定的部分标记为暗色。mutex是用于防止多个任务在相同时间使用单个资源的对象。任务锁定预定资源的mutex的事实表示任务拥有所述预定资源的mutex,即只有该任务能使用所述预定资源。另外,只有该任务能解除所述预定资源的mutex锁定。
其后,优先级比第一任务高的第三任务抢占CPU。在占据CPU的同时,第三任务尝试锁定资源的mutex。然而,由于资源已被第一任务进行了mutex锁定,所以第三任务无法使用所述资源。结果,第三任务的执行被阻塞,第一任务的执行重新开始。其后,优先级比第一任务高并且比第三任务低的第二任务抢占CPU。第二任务不需要资源。因此,第二任务没有尝试资源的mutex锁定,并连续占据CPU,直到第二任务的执行结束为止。结果,发生了由于优先级比第三任务低的第二任务的执行而导致第三任务的执行被延迟的效果(即,优先级反转)。
为了解决优先级反转,已经提出了多种方案。代表性的方案是基本优先级反转(BPI)方案和立即继承协议(Immediate Inheritance Protocol,IIP)方案。
图2是在传统的嵌入式系统中根据BPI方案的多任务方法的流程图。具体地讲,图2中示出的多任务进程是整个多任务进程中的mutex锁定设置进程。
参照图2,在操作21,嵌入式系统从准备执行的任务中搜索具有最高优先级的任务(以下,称为“当前任务”)。
在操作22,嵌入式系统确定是否存在将被在操作21中找到的当前任务使用的资源的mutex锁定。如果在操作22中确定不存在mutex锁定,则进程进行到操作23,如果在操作22中确定存在mutex锁定,则进程进行到操作25。
在操作23,嵌入式系统关于当前任务锁定所述资源的mutex。
在操作24,嵌入式系统通过使用mutex锁定的资源来执行当前任务。
在操作25,嵌入式系统将当前任务的优先级与正在使用所述资源的任务的优先级进行比较。如果当前任务的优先级高于拥有所述资源的mutex锁定的资源的优先级,则进程进行到操作26,否则进程进行到操作28。
在操作26,嵌入式系统将拥有所述资源的mutex锁定的任务的优先级增加到当前任务的优先级。
在操作27,嵌入式系统将在拥有所述资源的mutex锁定的任务中所嵌套的任务的优先级增加到当前任务的优先级。
在操作28,嵌入式系统控制当前任务等待,直到资源的mutex锁定不存在为止,并且进程进行到操作22。在任务中嵌套的任务是处于后面的任务使用通过执行前面的任务所获得的结果的关系中的任务。具体地讲,这种优先级增加方案被称为优先级继承,现在将对其进行描述。
图3是描述BPI中的优先级继承的示图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于三星电子株式会社,未经三星电子株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710300426.9/2.html,转载请声明来源钻瓜专利网。





