欢迎来到天天文库
浏览记录
ID:36423059
大小:3.73 MB
页数:291页
时间:2019-05-09
《ucos2嵌入式实时操作系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、嵌入式系统原理与接口技术第六讲嵌入式实时操作系统C/OS-Ⅱ本节提要1325476嵌入式实时操作系统概念C/OS-Ⅱ简介C/OS-Ⅱ时间管理C/OS-Ⅱ内核结构C/OS-Ⅱ任务管理C/OS-Ⅱ任务通信与同步C/OS-Ⅱ移植1.1计算机操作系统定义OS是一种系统软件。OS是在计算机硬件与计算机应用程序之间,通过提供应用程序接口,屏蔽了计算机硬件工作的一些细节,大大提高了应用程序的开发效率。作用与功能OS为应用程序提供了一个界面友好,性能稳定、安全,效率高,操作方便的虚拟计算机。OS的主要功能:处理器的管理;存储的管理;设备的管理;文件的管理;网络和通信的管理;提供用
2、户接口。1.2嵌入式操作系统定义运行在嵌入式硬件平台上,对整个系统及其所操作的部件、装置等资源进行统一协调、指挥和控制的系统软件。嵌入式操作系统的主要特点:微型化可裁剪性实时性高可靠性易移植性嵌入式操作系统按应用范围分为通用型(如WinCE,VXWorks,CLinux,C/OS-Ⅱ等)和专用型(Symbian,PlamOS等)两种。1.3实时操作系统(RTOS)定义RTOS是具有实时性能且能支持实时控制系统工作的操作系统。RTOS是一个程序,它按时序方式调度执行,管理系统资源,并为开发应用代码提供一致的基础。RTOS的首要任务是调度一切可利用的资源来完成实时控制任务,其次
3、才着眼于提高计算机系统的使用效率,其重要特点是能满足对时间的限制和要求。在实时计算中,系统的正确性不仅依赖于计算的逻辑结果,而依赖于结果产生的时间。RTOS与通用计算机OS的区别实时性代码尺寸小应用程序开发较难需要专用的开发工具RTOS的组成实时操作系统需根据实际应用环境的要求,对内核进行裁减和重配置。根据其面向实际应用领域的不同,实时操作系统组成也有所不同,一般包括以下几个重要部分:实时内核网络组件文件系统图形用户界面RTOS的特点支持异步事件的响应中断和调度任务的优先级机制支持抢占式调度确定的任务切换时间和中断延迟时间支持同步1.4前/后台系统前/后台系统是嵌入式实时系统的
4、主要形式,用于不复杂的小系统设计上。前/后台行为应用程序是一个无限循环,循环中调用相应的函数完成相应的操作,这部分可看成后台行为(background)。中断服务程序处理异步事件,这部分可看成前台行为(foreground)。说明时间相关性很强的关键操作(criticaloperation)一定是靠中断服务来保证的。因为中断服务提供的信息一直要等到后台程序运行到该处理这个信息时,才能得到处理。该系统在处理信息的及时性上,比实际做的要差。处理信息的及时性称做任务级响应时间。最坏情况下,任务级响应时间取决于整个循环的的执行时间。(循环执行时间不是常数)1.5代码的临界段代码的临界段
5、也称为临界区,指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打入。为确保临界段代码的执行不被中断,在进入临界段之前要关中断,而临界段代码执行完以后要立即开中断(在任务切换时,地址、指令、数据等寄存器堆栈保护)。1.6多任务任务一个任务,也称作一个线程,是一个简单的程序。每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。存储器任务2堆栈任务n堆栈任务1堆栈任务控制块1任务控制块2任务控制块ncpucpu寄存器……每个任务都是一个无限的循环。每个任务都在以下5种状态之一:休眠态休眠态相当于该任务驻留在内存中,但并
6、不被多任务内核所调用。就绪态就绪态意味着该任务已经准备好,可以运行,但由于该任务的优先级比正在运行的任务的优先级低,还暂时不能运行。挂起态(等待某一事件发生)挂起状态也可以叫做等待事件态WAITING,指该任务在等待,等待某一事件的发生。被中断态发生中断时,CPU提供相应的中断服务,原来正在运行的任务暂不运行,进入中断处理。运行态运行态的任务是指该任务掌握了CPU的控制权,正在运行中。多任务多任务运行的实现实际上是靠CPU(中央处理单元)在许多任务之间转换、调度。CPU只有一个,轮番服务于一系列任务中的某一个。多任务运行使CPU的利用率得到最大的发挥,并使应用程序模块化。在实时
7、应用中,多任务化的最大特点是,开发人员可以将很复杂的应用程序层次化。使用多任务,应用程序将更容易设计与维护。任务切换(ContextSwitch)当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态(即CPU寄存器中的全部内容)到任务的当前状况保存区(即任务自己的栈区之中)。入栈完成后,把下一个将要运行的任务的当前状况从该任务的栈中重新装入CPU的寄存器,并开始下一个任务的运行,这个过程叫做任务切换。任务切换过程增加了应用程序的额外负荷。任务切换所需要的时间取决于CPU有多少寄存器
此文档下载收益归作者所有