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