嵌入式系统基础教程第18讲第9章嵌入式操作系统概论.ppt
《嵌入式系统基础教程第18讲第9章嵌入式操作系统概论.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统基础教程第18讲第9章嵌入式操作系统概论.ppt(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式系统基础教程第18讲第9章嵌入式操作系统概论 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第第9章章 嵌入式操作系统概论嵌入式操作系统概论l本章主要介绍以下内容:l实时系统l嵌入式操作系统的特点与分类lRTOS常用调度算法l启动代码Bootloaderl嵌入式操作系统uCOS-II2008年6月24日2南京大学计算机系9.1 实时系统实时系统l什么是实时系统l一般而言具有实时性能的控制系统是实时系统。l实时表示一个非常短的时间间隔“time gap”(也可
2、以认为表示时间框架“time frame”或者时间窗口“time window”),具有“立即”之含义。l当计算机进行实时处理时,要求在接收到数据的同时执行操作并输出计算结果,不能超出计算机系统所能容忍的时限。2008年6月24日3南京大学计算机系实时系统的定义实时系统的定义lIEEE(美国电气电子工程师协会)给出的实时系统定义是“那些正确性不仅取决于计算的逻辑结果,也取决于产生结果所花费的时间的系统”。这就是说,实时系统运算能力具有及时与正确的双重特征。l本教程给出的实时系统(Real-Time System)定义是:对外来事件能在限定的响应时间内做出预定质量处理的计算机系统。2008年6月
3、24日4南京大学计算机系实时系统的主要特点实时系统的主要特点l及时响应外部发生的随机任务请求l在规定的时间内完成任务l任务执行的时间限制类型和类型间关系l截止时间(finish time)l任务执行预设时间(budget time)l一个任务的截止时间通常大于任务执行预设时间2008年6月24日5南京大学计算机系实时系统的关键因素实时系统的关键因素l计算机系统的实时性能主要由操作系统和运行在操作系统上的应用软件决定,对于无操作系统的计算机则由控制程序决定。l具有实时性能的操作系统称为实时操作系统(Real-Time Operating System,RTOS)2008年6月24日6南京大学计算
4、机系实时系统与非实时系统的例子实时系统与非实时系统的例子l实时系统典型例子l民用飞机的导航系统l汽车的防刹车抱死系统(ABS)l非实时系统典型例子l银行数据查询处理系统l视频播放系统l图像扫描l文字识别系统2008年6月24日7南京大学计算机系提高实时性能的因素提高实时性能的因素l以下几种途径常常用来提高应用系统实时性能l尽量采用硬件处理l优化微处理器的中断机制l采用简单的单线程循环程序l采用基于实时操作系统的复杂多线程操作2008年6月24日8南京大学计算机系实时系统的属性和指标实时系统的属性和指标l实时系统的两个基本属性l可预测性和可靠性l实时系统的实时性能主要根据其RTOS的三个主要指标
5、来衡量 l响应时间(response time)l吞吐量(throughput)l生存时间(survival time)2008年6月24日9南京大学计算机系响应时间响应时间l计算机从识别一个外部事件到做出响应的时间 lRTOS响应时间的具体指标是:l中断延迟时间(Interrupt Latency)l任务切换时间(Task Switching Latency)2008年6月24日10南京大学计算机系响应时间响应时间(续续)l两个时间指标的计算公式是:l中断延迟时间=TCloseINT+TDoISR+TSaveReg+TStartServiceTCloseINT:关中断的最长时间TDoISR:
6、开始执行中断服务子程序的第一条指令的时间TSaveReg:保存CPU内部寄存器的时间TStartService:内核进入中断服务函数的执行时间l任务切换时间:T to Do B Task Time T to Pause A Task TimeT to Do B Task Time :开始执行B任务的时刻T to Pause A Task:暂停执行A任务的时刻2008年6月24日11南京大学计算机系响应时间响应时间(续续)l任务的切换时间就是CPU从停止一个任务的执行切换到另一个任务所需时间lVxWorks是实时嵌入式系统,内核为Wind。l下表给出了eCos操作系统内核实时响应时间参考数据硬件
7、测试环境中断延迟时间任务切换时间ARM7TDMI(20MHz)22.10 ms49.14 msStrongARM(221.2MHz)3.25 ms1.85 msIntel Xcale(600MHz)1.87 ms0.87 ms2008年6月24日12南京大学计算机系实时系统的分类实时系统的分类l根据响应性能分l硬实时系统系统未能在时限内就某一事件做出响应而失败,并且该失败被认为是一种全面的系统失败,则可以认为该系统是一个硬实时(hard real-time)系统。l软实时系统非硬实时的实时系统可以归类为软实时系统。在一个软实时(soft real-time)系统中,存在时限指标,但是如果输出响
8、应超过时限,一般不会造成严重后果。2008年6月24日13南京大学计算机系硬实时系统和软实时系统时限效益硬实时系统和软实时系统时限效益l下面是两种实时系统的时限效益图2008年6月24日14南京大学计算机系实时系统的分类实时系统的分类(续续)l按照响应时间的快慢分类:l强实时系统:l其响应时间在毫秒级或微秒级l普通实时系统:l其响应时间一般几秒l弱实时系统:l其响应时间一般在数十秒2008年6月24日15南京大学计算机系9.2 嵌入式操作系统的特点和分类嵌入式操作系统的特点和分类l操作系统可以最粗略地分为内核(kernel)、设备驱动与外壳(shell)三大部分。通俗地讲,内核是操作系统的核心
9、模块,管理CPU的运行;而外壳是内核的外围模块,对用户发出的命令进行解释和处理。2008年6月24日16南京大学计算机系嵌入式系统内核嵌入式系统内核l广义解释l指装入到存储器的嵌入式软件中的操作系统部分,在这种情况下,除了操作系统内核之外,嵌入式软件还包括板级支持包,驱动程序和应用软件 l狭义解释l指嵌入式操作系统中负责多任务管理及任务之间进行通信的多任务处理部分。它进行任务管理(进程管理),时钟管理,内存管理等 2008年6月24日17南京大学计算机系嵌入式操作系统的特点嵌入式操作系统的特点l可移植性l强调实时性能l内核精简,所占空间小l抢占式内核l使用可重入函数l可配置l可裁剪l高可靠性2
10、008年6月24日18南京大学计算机系可移植性可移植性l硬件平台的多样性以及提高代码可重用性的双重条件,导致嵌入式操作系统研发机构力求做到嵌入式系统具有良好的可移植性。l考虑到移植性,嵌入式系统通常分为两部分l硬件相关部分包括班级支持包(BSP)或硬件抽象层(HAL)l硬件无关部分包括内核、中间件和API2008年6月24日19南京大学计算机系强调实时性能强调实时性能l传统观点l嵌入式操作系统应该具有强实时性能 l现代l由于手机和媒体播放器之类的软实时嵌入式产品日益普及,导致一些嵌入式操作系统降低了实时性能 l实时性能仍然被认为是评价嵌入式操作系统的最重要技术指标 2008年6月24日20南京
11、大学计算机系内核精简:所占空间小内核精简:所占空间小l内核是操作系统中靠近硬件并且享有最高特权的一层。为了适应嵌入式计算机存储空间小的限制,嵌入式操作系统的内核都尽量小型化。2008年6月24日21南京大学计算机系典型的操作系统内核空间尺寸典型的操作系统内核空间尺寸VxWorks操作系统内核最小可裁减到8KBNucleus Plus内核在典型的CISC体系结构上占据大约20KB空间,而在典型的RISC体系结构上占据空间为40KB左右,其内核数据结构占据1.5KB空间QNX的内核大约占12KB国产Hopen操作系统的内核大约占10KBWinCE操作系统的内核大约占25KB2008年6月24日22
12、南京大学计算机系抢占式内核抢占式内核l从内核调度基本特点分类,嵌入式操作系统内核分为抢占式内核(preemptive kernel)和不可抢占式内核(non-preemptive kernel)l抢占式内核的最大特点是最高优先级任务能够立即得到执行,从而能够保证系统具有高度实时性能。2008年6月24日23南京大学计算机系抢占式内核(续抢占式内核(续1)l不可抢占式内核l不可抢占式内核称为合作型多任务(进程)处理,要求每个任务在程序代码执行完毕后自我放弃CPU的所有权 l不可抢占式内核的最大缺陷在于响应时间。高优先级的任务已经进入就绪态,但还不能运行,直到当前运行的任务释放CPU为止。2008
13、年6月24日24南京大学计算机系抢占式内核(续抢占式内核(续2)l抢占式内核的工作原理l最高优先级的任务就绪必然得到CPU的控制权。当一个运行着的任务使另一个比它优先级高的任务进入了就绪态,则当前任务的CPU控制权就会被抢占,那个高优先级的任务立刻获得CPU的控制权。l通常把最高优先级指派给实时要求最高的任务。且绝大多数嵌入式操作系统的内核采用抢占式调度策略2008年6月24日25南京大学计算机系使用可重入函数使用可重入函数l实时操作系统要求使用可重入函数 l什么是可重入函数?l如果一个函数的代码能够同时被多个任务并发地调用(分享),并且在调用该函数时这些任务之间不会产生数据干扰错误,那么这个
14、函数就是可重入(reentrant)函数。2008年6月24日26南京大学计算机系意义和准则意义和准则l可重入函数的重要价值在于:任意时刻被中断后再继续运行不会丢失数据 l可重入函数中使用变量有两个准则l尽量使用局部变量,即把变量保存在CPU寄存器中或者栈区中l如果使用全局变量,则要对全局变量进行保护2008年6月24日27南京大学计算机系使用可重入函数(续使用可重入函数(续1)l不可重入函数的特征有l函数体内使用了静态的数据结构l函数体内调用了malloc()或者free()函数l函数体内调用了标准I/O函数l抢占式内核的函数必须是可重入的。在抢占式内核控制之下,如果有两个以上任务需要调用同
15、一个不可可重入函数,则必须使之满足互斥条件。2008年6月24日28南京大学计算机系使用可重入函数(续使用可重入函数(续2)l为了保证编写的函数具有可重入性,其关键之处是应当做到以下几点:l使用本地数据。l不返回指向静态数据的指针,所有数据都由函数的调用者提供。l不为连续的调用持有静态数据。l通过制作全局数据的本地拷贝来保护全局数据。l不调用任何不可重入函数。2008年6月24日29南京大学计算机系可配置可配置l嵌入式操作系统必须具有良好的可配置功能,这也是嵌入式操作系统区别于通用操作系统的一个重要方面 l最典型的可配置型嵌入式操作系统是eCos,在内部设计了大量可以调节操作系统特性和性能的参
16、数,并为配置这些参数设计了专门的配置工具2008年6月24日30南京大学计算机系可裁剪可裁剪l指编译之前对嵌入式操作系统功能部件进行增加和删除,可定制是可裁减的另外一种表达方式 l可以根据产品的资源限制和功能/性能需求对嵌入式操作系统的功能部件进行增删,将所有不必要的部件去除,同时把增强功能和提高性能的部件添加进去,最终编译成一个满足特定设计要求的最小尺寸的操作系统目标程序 2008年6月24日31南京大学计算机系高可靠性高可靠性l嵌入式系统往往在无人操作和值守的环境下运行,有的嵌入式系统运行时间长甚至是常年运行,因此对可靠性的要求就成为嵌入式操作系统的一个重要特点 lVxWorks、C/OS
17、-II等,都已经经过了多年应用的考验,一般来说这些操作系统都是稳定和安全的,具有公认的高可靠性 2008年6月24日32南京大学计算机系嵌入式操作系统分类嵌入式操作系统分类l按源代码分类l商用型和开源型l按实时性能分类l强实时型和普通实时型l按内核结构分类l单内核型和微内核型2008年6月24日33南京大学计算机系单内核单内核l单内核(monolithic kernel)是传统型操作系统内核,有时也被称为宏内核(macro kernel)l单内核内部包含I/O管理和设备管理、进程管理、调度器、内存管理、文件管理和时间管理等模块l各模块之间的耦合度很紧,模块之间的通信通过直接函数调用实现,而不是
18、消息传递 2008年6月24日34南京大学计算机系单内核(续)单内核(续)l缺点l占内存空间大,缺乏可扩展性,维护困难,排除故障和增加新功能需要重编译 l优点l系统花在内核功能切换的开销非常小,对外来事件反应速度快 2008年6月24日35南京大学计算机系单内核单内核/微内核的内部结构图解微内核的内部结构图解单内核与微内核操作系统模块框架2008年6月24日36南京大学计算机系微内核微内核l基本思想是在内核模式中执行基本的核心操作系统功能,非基本的服务和应用构筑在微内核之上 l微内核用水平架构代替了传统的垂直分层架构 l设备驱动程序、文件系统、虚拟内存管理程序和窗口系统等以服务器进程方式工作。
19、它们之间的相互作用变成了对等地通过微内核传递消息 2008年6月24日37南京大学计算机系微内核(续)微内核(续)l突出特点l内核小巧,通常微内核只有任务管理、虚存管理和进程间通信3个部分l接口一致,所有进程请求使用统一接口,进程不需要区分内核模式和用户模式服务l各个功能模块之间松散耦合,只完成服务功能,系统管理功能交给一个或多个特权服务程序l基于客户/服务器体系结构,在微内核结构的操作系统中,任务间通信机制消息机制是系统的基础l微内核功能扩充方便,但是各个功能之间的切换而引起的开销非常大。2008年6月24日38南京大学计算机系9.3 RTOS常用的调度算法常用的调度算法l本节内容l基于优先
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 基础教程 18 操作系统 概论
限制150内