基于μC/OS-II的一种子任务扩展方法陈雨佳,刘亚秋**(东北林业大学信息与计算机工程学院,哈尔滨150040)510152025303540摘要:随着嵌入式系统的日益发展,更多的任务支持是当前大多数嵌入式操作系统必须解决的问题.该文在μC/OS-II内核上,通过以任务优先级变量为基础,修改任务调度、通讯等函数的方法,使其在保持强实时的优势下,实现了同一子任务可有两个不同的优先级的并发调度,扩展了原内核的任务数。在时钟消耗增加很少的情况下,容易得到μC/OS-II任务调度算法的最大缺点是任务数较少,当项目的复杂度增大的时候,在μC/OS-II操作系统上,运行的任务数目不断增加,如果任务数目超过64个,项目实施起来变的很困难了,就必须重新选择开发平台,考虑到这种情况,我们对任务数进行了扩充,又鉴于大多数的项目是以128任务居多的,我们就可以把任务数从原来的64个任务扩展到128个,可以基本上满足大多数嵌入式开发的需求。关键词:实时操作系统;μC/OS-II;子任务;就绪表;调度中图分类号:TP316BasedonμC/OS-IIasaSub-taskExtensionMethodCHENYujia,LIUYaqiu(Schoolofinformationandcomputerengineering,NortheastForestryUniversity,Harbin150040)Abstract:Withtheincreasingdevelopmentofembeddedsystems,moretaskstosupportthecurrentmostembeddedoperatingsystemsmustbeaddressed.InthispaperμC/OS-IIcore,throughtaskprioritybasedonvariables,modifytaskscheduling,communicationsandotherfunctionswaytomakereal-timewhilemaintainingtheadvantagesofastrong,toachievethesamesub-taskscanhavetwodifferentpriorityconcurrentscheduling,extendedtheoriginalcoretasks.Increasedconsumptionoftheclockafewcases,easytogetμC/OS-IItaskschedulingalgorithmbiggestdrawbackisthenumberoftasksless,whentheproject'scomplexityincreaseswhen,intheμC/OS-IIoperatingsystem,runtheincreasingnumberoftasks,ifthenumberoftasksover64,theprojectbecomesverydifficulttoimplement,andyoumustre-selectdevelopmentplatform,takingintoaccountthissituation,weexpandonthenumberoftaskscarriedout,andgiventhatmostoftheprojectsthemajorityofthe128tasks,wecanputthenumberoftasksfromtheoriginal64missionsexpandedto128,canbasicallymeettheneedsofmostembeddeddevelopment.Keywords:Real-timeoperatingsystem;μC/OS-II;sub-task;readyList;scheduling0引言μC/OS-II是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统[1]。专门为计算机的嵌入式应用设计的,代码是用C语言和汇编语言编写的[2],其中CPU硬件相关部分是用汇编语言编写的。由于μC/OS-II的构思巧妙,结构简洁精练,可读性很强,同时又具备了实时操作系统的大部分功能,所以,其很好的被系统开发者和爱好者应用,并且通过适当的扩展后,应用到实际的系统中去。μC/OS-II提供了很多的系统服务,例如邮箱、消息队列、信号量、块大小固定的内存的申请与释放、时间相关函数等,全部的uC/OS-II的函数调度与服务的执行时间具有可确定性。也就是全部函数调用的与服务的执行时间是可知的。它完全是占先式内核,这意味着当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说是被挂起了,那个高优先级的任务立刻得到CPU的控制权,如果是中断服---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---作者简介:陈雨佳,(1989-),男,无职称,主要研究方向:计算机科学与技术。通信联系人:刘亚秋,(1971-),男,教授,信息控制与智能计算。yaqiuliu@126.com-1----本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---4550556065707580务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。μC/OS-II的这些特点使得在嵌入式产品开发难度降低了,推广也变得容易了。1改进原理及实施方案在对μC/OS-II的内核分析中发现标志μC/OS-II中任务优先级变...