- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式操作系统课程报告
华北水利水电学院
课程报告
课程名称: 嵌入式操作系统
姓 名:
学 号:
班 级:
专 业: 电子信息工程
日 期: 2012/12/27
摘要:嵌入式计算机系统出现于20世纪60年代。多年来随着计算机技术、电子信息技术等的发展,嵌入式计算机的各项技术也蓬勃发展,市场迅猛扩大,嵌入式计算机已深入到生产和生活的每个角落。本文是在学习完嵌入式实时操作系统及应用开发后,从诸多知名嵌入式操作系统选择uC/OS?II ,并就其中的任务的管理与调度进行的资料综述。主要介绍了任务的定义、任务的管理、任务的调度和优先级反转的内容uC/OS?II是一个可以基于ROM 运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS)。为了提供最好的移植性能,uC/OS II 最大程度上是使用ANSI的 C语言进行开发,并且已经移植到近40 多种处理器体系上,涵盖了从8 位到64 位各种CPU。世界上已经有数千人在各个领域中使用uC/OS-II,这些领域包括:照相机行业、航空业、医疗器械、网络设备、自动提款机以及工业机器人等。任务是uC/OS?II实时内核的最基本的调度单位,所以研究uC/OS?II的任务管理与调度对于理解整个uC/OS?II系统以及后续的开发有很大的帮助。
一、μC/OS-II的概述
μC/OS-II 的前身是μC/OS,最早出自于1992年美国嵌入式系统专家Jean J.Labrosse 在《嵌入式系统编程》杂志的5月和6月刊上刊登的文章连载,并把μC/OS的源码发布在该杂志的BBS上。uC/OS-II 是一个抢占式实时多任务内核。uC/OS-II 是用ANSI的C语言编写的,包含一小部分汇编语言代码,使之可以提供给不同架构的微处理器使用。μC/OS-II 具有移植方便,构思巧妙,结构简洁精练,执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB。所以至今从8 位到64 位,uC/OS-II 已经在40 多种不同架构的微处理器上使用。uC/OS-II 全部以源代码的方式提供给读者,大约有5500行。CPU 相关的部分使用的是针对Intel80x86 微处理器的代码。虽然uC/OS-II 可以在PC机上开发和测试,但是可以很容易地移植到不同架构的嵌入式微处理器上。严格一点地说uC/OS-II 只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II 良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。
uC/OS-II 目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。二、任务的管理与调度任务是一个具有独立功能的无限循环的程序段的一次运行活动,是实时内核调度的单位,具有以下特性:动态性、并行性、异步独立性。一个任务主要包括代码、数据、堆栈以及程序执行的上下文环境。
任务所包含的程序通常为一个具有无限循环的程序,但任务和程序是两个不同的概念,他们的区别主要是第一,任务能真实地描述工作内容的并发性,而程序不能;第二,程序是任务的组成部分;第三,程序是静态的,任务是动态的;第四,任务有生命周期,有诞生、有消亡,是短暂的,而程序是相对长久的;第五,一个程序可对应多个任务,反之亦然;第六,任务具有创建其他任务的功能,而程序没有。
任务上下文环境(context)包括了实时内核管理任务、以及处理器执行任务所需要的所有信息,如任务优先级、任务的状态以及处理器的各种寄存器的内容。任务的上下文环境通过任务控制块(Task Control Block,TCB)来体现按照到达情况的可预测性,任务可以划分为:周期任务和非周期任务;按照重要程度,可分为:关键任务和非关键任务uC/OS‐II 中最多可以支持64个任务,分别对应优先级0~63,其中0为最高优先级。63为最低级,系统保留了4个最高优先级的任务和4个最低优先级的任务,所有用户可以使用的任务数有56个。在多任务系统中,任务要参与资源的竞争,只有在所需要的资源都得到满足的情况下才能得到执行。因此,任务拥有的资源的情况是不断变化的,导致任务状态也表现出不断变化的特性。不同的实时内核实现方式对任务状态的定义不尽相同,但是都可以概括为三种基本的状态:等待(waiting)、就绪(ready)、执行(running)。任务在不同的状态之间进行转换
原创力文档


文档评论(0)