您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 14.嵌入式操作系统概述
嵌入式操作系统概述陈虎tommychen74@yahoo.com.cn嵌入式操作系统的特点可移植性强调实时性能内核精简,所占空间小抢占式内核使用可重入函数可配置可裁剪高可靠性可移植性硬件平台的多样性以及提高代码可重用性的双重条件,导致嵌入式操作系统研发机构力求做到嵌入式系统具有良好的可移植性。考虑到移植性,嵌入式系统通常分为两部分•硬件相关部分包括班级支持包(BSP)或硬件抽象层(HAL)•硬件无关部分包括内核、中间件和API强调实时性能传统观点•嵌入式操作系统应该具有强实时性能现代•由于手机和媒体播放器之类的软实时嵌入式产品日益普及,导致一些嵌入式操作系统降低了实时性能•实时性能仍然被认为是评价嵌入式操作系统的最重要技术指标内核精简:所占空间小内核是操作系统中靠近硬件并且享有最高特权的一层。为了适应嵌入式计算机存储空间小的限制,嵌入式操作系统的内核都尽量小型化。典型的操作系统内核空间尺寸⑴VxWorks操作系统内核最小可裁减到8KB⑵NucleusPlus内核在典型的CISC体系结构上占据大约20KB空间,而在典型的RISC体系结构上占据空间为40KB左右,其内核数据结构占据1.5KB空间⑶QNX的内核大约占12KB⑷国产Hopen操作系统的内核大约占10KB⑸WinCE操作系统的内核大约占25KB抢占式内核从内核调度基本特点分类,嵌入式操作系统内核分为抢占式内核(preemptivekernel)和不可抢占式内核(non-preemptivekernel)•抢占式内核的最大特点是最高优先级任务能够立即得到执行,从而能够保证系统具有高度实时性能。抢占式内核(续1)不可抢占式内核•不可抢占式内核称为合作型多任务(进程)处理,要求每个任务在程序代码执行完毕后自我放弃CPU的所有权•不可抢占式内核的最大缺陷在于响应时间。高优先级的任务已经进入就绪态,但还不能运行,直到当前运行的任务释放CPU为止。抢占式内核(续2)抢占式内核的工作原理•最高优先级的任务就绪必然得到CPU的控制权。当一个运行着的任务使另一个比它优先级高的任务进入了就绪态,则当前任务的CPU控制权就会被抢占,那个高优先级的任务立刻获得CPU的控制权。•通常把最高优先级指派给实时要求最高的任务。且绝大多数嵌入式操作系统的内核采用抢占式调度策略使用可重入函数实时操作系统要求使用可重入函数什么是可重入函数?•如果一个函数的代码能够同时被多个任务并发地调用(分享),并且在调用该函数时这些任务之间不会产生数据干扰错误,那么这个函数就是可重入(reentrant)函数。意义和准则可重入函数的重要价值在于:任意时刻被中断后再继续运行不会丢失数据可重入函数中使用变量有两个准则•尽量使用局部变量,即把变量保存在CPU寄存器中或者栈区中•如果使用全局变量,则要对全局变量进行保护使用可重入函数(续1)不可重入函数的特征有•函数体内使用了静态的数据结构•函数体内调用了malloc()或者free()函数•函数体内调用了标准I/O函数抢占式内核的函数必须是可重入的。在抢占式内核控制之下,如果有两个以上任务需要调用同一个不可可重入函数,则必须使之满足互斥条件。使用可重入函数(续2)为了保证编写的函数具有可重入性,其关键之处是应当做到以下几点:•使用本地数据。•不返回指向静态数据的指针,所有数据都由函数的调用者提供。•不为连续的调用持有静态数据。•通过制作全局数据的本地拷贝来保护全局数据。•不调用任何不可重入函数。可配置嵌入式操作系统必须具有良好的可配置功能,这也是嵌入式操作系统区别于通用操作系统的一个重要方面最典型的可配置型嵌入式操作系统是eCos,在内部设计了大量可以调节操作系统特性和性能的参数,并为配置这些参数设计了专门的配置工具可裁剪指编译之前对嵌入式操作系统功能部件进行增加和删除,可定制是可裁减的另外一种表达方式可以根据产品的资源限制和功能/性能需求对嵌入式操作系统的功能部件进行增删,将所有不必要的部件去除,同时把增强功能和提高性能的部件添加进去,最终编译成一个满足特定设计要求的最小尺寸的操作系统目标程序高可靠性嵌入式系统往往在无人操作和值守的环境下运行,有的嵌入式系统运行时间长甚至是常年运行,因此对可靠性的要求就成为嵌入式操作系统的一个重要特点VxWorks、µC/OS-II等,都已经经过了多年应用的考验,一般来说这些操作系统都是稳定和安全的,具有公认的高可靠性嵌入式操作系统分类按源代码分类•商用型和开源型按实时性能分类•强实时型和普通实时型按内核结构分类•单内核型和微内核型单内核单内核(monolithickernel)是传统型操作系统内核,有时也被称为宏内核(macrokernel)单内核内部包含I/O管理和设备管理、进程管理、调度器、内存管理、文件管理和时间管理等模块各模块之间的耦合度很紧,模块之间的通信通过直接函数调用实现,而不是消息传递单内核(续)缺点•占内存空间大,缺乏可扩展性,维护困难,排除故障和增加新功能需要重编译优点•系统花在内核功能切换的开销非常小,对外来事件反应速度快用户模式内核模式应用程序……………文件管理内存管理I/O管理和设备管理调度器硬件(a)单内核操作系统的模块架构用户模式内核模式应用程序API函数库文件系统时间服务器设备驱动程序内存服务器硬件(b)微内核操作系统的模块架构进程服务器微内核(任务管理/进程通信/中断管理)进程管理API函数库……………时间管理单内核/微内核的内部结构图解微内核基本思想是在内核模式中执行基本的核心操作系统功能,非基本的服务和应用构筑在微内核之上微内核用水平架构代替了传统的垂直分层架构设备驱动程序、文件系统、虚拟内存管理程序和窗口系统等以服务器进程方式工作。它们之间的相互作用变成了对等地通过微内核传递消息微内核(续)突出特点•内核小巧,通常微内核只有任务管理、虚存管理和进程间通信3个部分•接口一致,所有进程请求使用统一接口,进程不需要区分内核模式和用户模式服务•各个功能模块之间松散耦合,只完成服务功能,系统管理功能交给一个或多个特权服务程序•基于客户/服务器体系结构,在微内核结构的操作系统中,任务间通信机制――消息机制是系统的基础•微内核功能扩充方便,但是各个功能之间的切换而引起的开销非常大。
本文标题:14.嵌入式操作系统概述
链接地址:https://www.777doc.com/doc-3711380 .html