基于μC/OS-II操作系统的任务调度机制.docxVIP

基于μC/OS-II操作系统的任务调度机制.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于μC/OS-II操作系统的任务调度机制

基于μC/OS-II操作系统的任务调度机制  论文关键词:μC/OS-II;多任务;任务调度  论文摘要:μC/OS-II操作系统之所以在10多年的时间里作为一个嵌入式实时的多任务操作系统得到了广泛的应用,原因之一是它的任务管理机制存在许多的优点。多任务运行的最大难点就在于多任务的调度。   WANG Yu-rong,ZHU Jian-bin  (Computer Science College Wuhan University of Science and Engineering,Wuhan 430073,China)  Abstract:As a multi-task embedded real time operation system, μC/OS-II Operating Systems has been widely used in more ten years.One of the reason is that the Operating Systems has many advantages.The hardest point is the schedul of tasks when we run multi-task Operating Systems.  Key words:μC/OS-II;Multi-task;task-scheduling    1 引言    嵌入式系统是一种应用范围非常广泛的系统。可以这样理解,除了桌面计算机和服务器外所有计算设备都属于嵌入式系统。在短短十多年的时间里,伴随着微电子技术、软件技术的发展,嵌入式系统被广泛的用于如生物医学仪器、智能汽车、通信设备、网络设备、仪器仪表、手持设备等诸多领域。[1] 它是以应用为中心的,而嵌入式操作系统则是嵌入式系统应用中的核心。  嵌入式系统是计算机硬件和软件的结合体,或许还加上机械等其他部分,被设计来完成专门的功能。在一些情况下,嵌入式系统是一个大的系统或产品的一部分,就象汽车上的防抱死装置,与通用计算机相对。最初的嵌入式系统是不带操作系统的,只是用来完成某一个特定的单一功能,随着软硬件技术的发展,完成单一功能的嵌入式系统已经不能适应市场的需要,因此出现了带操作系统的嵌入式系统。现在嵌入式系统的准确定义是:以嵌入式计算机为技术核心,面向用户、面向产品、面向应用,软硬件可剪裁的,适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用计算机系统。[2]  μC/OS-II操作系统是一个完整的,可移植、固化、裁剪的占先式实时多任务操作系统。它之所以这么受欢迎,其中一个很重要的方面是因为它的实时性和多任务管理机制。由此可见它对任务的管理是成功的。在μC/OS-II操作系统中,一个任务,也称作一个线程,就是一个简单的程序,这个程序在执行时可以任务CPU完全属于该程序自己。而多任务的运行实际上并不是有多个CPU让多任务使用,而是靠CPU在多个任务间的转换和调度。    2 任务状态    μC/OS-II操作系统的任务状态有五种,分别是睡眠态、就绪态、运行态、等待状态和中断服务态。  睡眠态是指程序还在存储设备中,还没有被μC/OS-II操作系统管理,此时的任务只能通过任务创建函数才能脱离此状态,调用创建任务函数后,任务才能从睡眠态变成就绪态,在这个意义上来说,睡眠态就是μC/OS-II操作系统的入口,而任务创建函数就是入口的钥匙。[3]  任务被建立后,任务就进入到了就绪态,准备运行了。如果新建立任务的优先级高于就绪态中的其他任务的优先级,则新建立的任务就会立即得到CPU的使用权,会被优先执行,从而进入到运行态;而在就绪态的任务也可以通过调用任务删除函数回到睡眠态。  由于任何时刻只有一个任务处于运行态,所以一旦运行态中的任务被剥夺了CPU的使用权,它就从运行态回到等待状态。也可以通过人为的控制邮箱、信号量、延迟时间等使正在运行的任务从运行态转到等待状态。如果正在运行的任务是允许中断的,此时若中断服务程序正好到来,正在运行的任务也会进入中断服务状态,而进入中断服务状态的任务只有中断任务把CPU的控制权还给中断前的任务时,才能从中断服务状态退出来。运行态的任务也是可以被删除的,如果此时调用了任务删除函数,运行态的任务也会直接回到睡眠态。  一旦正在运行的任务通过将自己延迟一段时间或是由于要等待某一事件的发生而进入到了等待状态,如果延迟时间满,或是等待的某一事件发生了,任务就进入到了就绪态;或者等待状态的任务被删除了,那么它也会进入到睡眠态。由此看来,睡眠态又是μC/OS-II操作系统的出口,而出口的钥匙是任务删除函数,与任务建立函数相对。    3 任务调度    μC/OS-II操作系统总是运行进入就绪态任务中优先级最高的任务。它可以管理

文档评论(0)

zsmfjh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档