嵌入式操作系统讲解课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《嵌入式操作系统讲解课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 操作系统 讲解 课件
- 资源描述:
-
1、第7章 嵌入式操作系统操作系统基本概念操作系统基本概念n计算机硬件和软件两个组成部分。软件包括应用软件和系统软件,操作系统是现代通用计算机中最重要的系统软件 n操作系统是一组管理程序,管理计算机的硬件资源和软件资源,为应用软件的提供运行“平台”,使用户更方便、有效地使用计算机。n主要功能包括:接口管理、处理器管理、存储管理、设备管理、文件管理等 嵌入式嵌入式OS与通用与通用OS相同点相同点n嵌入式OS同样具有通用OS的几个基本功能n能够有效管理越来越复杂的系统资源n把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来n提供库函数、驱动程序、工具集以及应用程序 嵌入式嵌入式OS及软件的
2、固化及软件的固化8Mx16位位 flash嵌入式系统不一定需要操作系统嵌入式系统不一定需要操作系统n在PC机中,操作系统是必不可少的系统软件 n嵌入式系统中不一定有操作系统n功能简单系统中,即没有支持操作系统运行的硬件资源,也没有使用操作系统的必要 n高性能嵌入式系统完成复杂的功能,如果仍延续基于裸机的开发方式,软件工作量过于庞大,甚至是不可能完成的任务,这时需要使用操作系统 两类嵌入式系统两类嵌入式系统n基于裸机的系统裸机的系统设计中,用户软件不仅要实现应用功能,还需要完成硬件初始化、设备管理、中断管理、内存分配等所有的软件任务,工作繁琐,但灵活性强n基于操作系统操作系统,在设计嵌入式系统应
3、用软件时可专注于应用功能的设计,而不需在系统管理上耗费过多的精力。但资源占用大,带来额外的成本。嵌入式操作系统特点嵌入式操作系统特点 n模块化,可定制 n实时性强 n稳定性要求高 n代码有固化的要求 n具有良好的硬件适应性,便于移植 嵌入式系统的组成嵌入式系统的组成嵌入式系统硬件抽象层嵌入式系统硬件抽象层n硬件抽象层硬件抽象层是一组系统软件,通过统一的编程接口为操作系统和应用软件提供一个抽象化的运行平台 n硬件抽象层位于操作系统和硬件之间,实现对硬件的操作,并通过标准化的接口为操作系统提供服务,向操作系统提供硬件平台的信息,并根据操作系统的要求完成对硬件的操作 n只要在硬件平台上实现硬件抽象层
4、,那么操作系统就可以移植到该平台上 n板级支持包板级支持包BSP(Board Support Package)是硬件抽象层的一种实现,很多情况下,二者表达的是同一个含义 嵌入式系统硬件抽象层结构嵌入式系统硬件抽象层结构 实时计算机系统概述实时计算机系统概述 n实时系统是能及时响应外部发生的随机事件,并以足够快的速度完成对事件处理的计算机系统n实时系统的正确性不仅依赖系统计算的逻辑结果,还依赖于产生这个结果的时间n计算机系统是一个激励-响应系统,激励-响应周期T,代表着计算机的响应能力。应用对象所规定的响应时间Ta,若TTa,这个系统便是实时系统。实时系统特点实时系统特点 n实时系统具有复杂的约
5、束性约束性:时间约束、资源约束、执行顺序约束和性能约束 n实时任务的执行具有可预测性可预测性:系统能够对实时任务的执行时间进行预测,判断是否能够满足任务的时限要求。是实时系统最基本的性能指标 n实时系统具有高可靠性高可靠性的要求n实时系统需要与外部环境进行交互与外部环境进行交互n实时系统需要满足一定的峰值负荷要求满足一定的峰值负荷要求硬实时系统与软实时系统硬实时系统与软实时系统n在硬实时系统硬实时系统中,系统要确保在最坏情况下的服务时间,即对事件响应时间的截止期限必须得到满足。在这样的系统里,如果一个事件在规定期限内不能得到及时处理则会导致致命的系统错误。n在软实时系统软实时系统中,从统计的角
6、度看,任务能够得到足够的处理时间,到达系统的事件也能够在截止期限前得到处理,但系统不能保证时刻都能满足这样的条件,截止期限条件偶尔没得到满足时并不会带来致命的系统错误。n满足硬实时的系统一定满足软实时的要求,反之未必嵌入式系统实时性嵌入式系统实时性 n嵌入式系统是一种计算机,基于硬件平台,用软件实现事件的检测、数据的收发、信息的处理、控制信号的产生n嵌入式系统与应用对象之间的交互往往有时间限制,这就是嵌入式系统的实时性特点n嵌入式系统激励-响应时间T包括硬件响应时间Th和软件响应时间Ts n软件响应时间是主要因素,这增加了系统实时设计的复杂性 系统性能与实时性的关系系统性能与实时性的关系n系统
7、运行速度高不代表实时性好 n同样的硬件、软件设计,速度快的系统实时性会更强 n当系统不能满足实时性要求时,可以通过提高系统的运行速度来弥补,但会带来负面影响:功耗加大、电磁兼容性能下降、可靠性降低 裸机中的实时软件设计裸机中的实时软件设计 前前/后台的程序结构后台的程序结构:实时性要求高的任务放在中断服务程序(前台)中,实时性要求高的任务放在中断服务程序(前台)中,而其它实时性要求低的任务放在主程序(后台)中而其它实时性要求低的任务放在主程序(后台)中 嵌入式操作系统实时性嵌入式操作系统实时性 n实时性反映了设备“及时”处理事件的能力n嵌入式操作系统管理着嵌入式计算机的硬件、软件资源,必须支持
8、实时任务调度,才能确保整个系统对事件响应的实时性n运行在嵌入式实时系统中,支持系统实现实时任务调度的操作系统,称为嵌入式实时操作系统嵌入式实时操作系统 n按系统对事件响应的时间约束,嵌入式操作系统有硬实时和软实时两种类型 实时实时OS与通用与通用OS设计目标设计目标n通用操作系统中,强调的是系统的平均表现系统的平均表现 n嵌入式实时操作系统首要目标不是提高系统的平均表现,而是通过资源管理、任务调度,确保每通过资源管理、任务调度,确保每个实时任务在最坏情况下也能满足其实时性要求个实时任务在最坏情况下也能满足其实时性要求 n通用操作系统注重的是整体表现整体表现,实时操作系统注重的是每个任务的表现每
9、个任务的表现,更准确地讲是任务在最坏情况下的表现 嵌入式嵌入式RTOS与通用与通用OS设计上的差别设计上的差别n任务调度策略任务调度策略不同:通用OS为动态优先级+时间片轮转;实时OS为静态表驱动方式和静态优先级抢占式调度方式 n内存管理方式内存管理方式不同:通用OS采用硬盘虚拟内存,实时OS不采用虚拟内存或对虚拟内存进行特殊设计n中断处理方式中断处理方式不同:通用OS中断处理程序的优先级被设定为高于任何用户进程;实时OS不合适采用这样的中断处理机制 n共享资源的互斥访问机制共享资源的互斥访问机制不同:通用OS采用信号量机制来解决共享资源的互斥访问问题;实时OS中,往往对传统的信号量机制进行了
10、一些扩展,避免普通信号量机制引起的优先级倒置问题:优先级继承协议和优先级顶置协议。嵌入式嵌入式RTOS与通用与通用OS设计上的差别设计上的差别(续续)n系统调用以及系统内部操作的时间开销系统调用以及系统内部操作的时间开销有差别:实时OS中所有系统调用以及系统内部操作的时间开销都应是有界的;通用操作系统中对这些时间开销则未做如此限制n系统的可重入性系统的可重入性:通用OS核心态系统调用往往是不可重入的;实时OS中核心态系统调用往往设计为可重入的,确保系统的可预测性 n辅助工具辅助工具:实时操作系统额外提供了一些辅助工具,如实时任务在最坏情况下的执行时间估算工具、系统的实时性验证工具等 n实时操作
11、系统对系统硬件设计系统硬件设计也提出了一些要求:DMA、Cache评价一个实时操作系统评价一个实时操作系统n任务调度机制 n内存管理:实模式和保护模式 n最小内存开销 n中断禁止时间与中断延迟时间 n任务切换时间 当实时操作系统运行在核心态或执行某些系统调用的时候,不会因为外部中断的到来而中断执行,只有当操作系统重新回到用户态时才响应外部中断清求,这一过程所需的最大时间就是中断禁止时间中断禁止时间。中断延时时间中断延时时间是指系统确认中断开始直到执行中断服务程序的第一条指令为止的整个过程所需要的时间。嵌入式操作系统选型嵌入式操作系统选型 n实时性 n系统定制能力 n可移植性 n可用的软件、硬件
12、技术资源 n对网络的支持能力 n对图形界面的支持能力n语言支持 n系统的稳定性 n对硬件资源的要求 n研发团队已有技术条件 n系统的使用授权费用常用嵌入式操作系统常用嵌入式操作系统n桌面操作系统种类有限:Windows系列、Linux、UNIX等n嵌入式操作系统有几十种:Windows CE、Nucleus、VxWorks、uC/OS、嵌入式Linux、QNX、pSOS等等n桌面操作系统因为其通用性,容易形成垄断,而嵌入式操作系统因具有应用针对性,种类繁多,百花齐放嵌入式嵌入式Linux Linux简介简介 nLinux最初由芬兰赫尔辛基大学的学生(Linus Torvalds)于1991年开
13、始开发 n1994年按完全自由扩散版权形式发布了Linux的第一个正式版本1.0n为鼓励商业公司参与Linux的开发应用,Linux后来转向GPL General Public License 社会公众享有运行、复制软件的自由自由,发行传播软件的自由,获得软件源码源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由。只要这种修改文本在整体上或者其某个部分来源于遵循GPL的程序,该修改文本的整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己作出的限制 GNU/Linux Linux只是一个操作系统内核,提供系统服务,如任务管理、
14、虚拟内存、设备管理等。通常所说的Linux,指的是GNU/Linux,即采用Linux内核的GNU操作系统,在该操作系统中,以Linux为内核,使用了大量的GNU软件,包括了shell程序、工具、程序库、编译器及工具,还有许多其他程序 GNUs Not Unix Richard StallmanGNU/Linux操作系统体系结构操作系统体系结构Linux内核结构内核结构 嵌入式嵌入式Linux n嵌入式Linux内核由标准Linux内核裁剪而来 n系统模块化,支持用户定制n经过裁剪、压缩后的系统内核一般只有几百KB n已有多种版本的嵌入式Linux操作系统 n嵌入式Linux支持从FLASH或
15、ROM的启动嵌入式嵌入式Linux的特点的特点n支持多种硬件平台支持多种硬件平台:x86、ARM、MIPS、ALPHA、PowerPC n高效稳定的系统内核高效稳定的系统内核 n开放源码,软件丰富开放源码,软件丰富 n完善的开发工具完善的开发工具:完整的工具链(Tool Chain),实现从操作系统定制及应用软件的设计、调试 n完善的网络通信完善的网络通信 n支持多种文件系统支持多种文件系统:EXT2、FAT32、ROMFS n支持多种图形用户界面支持多种图形用户界面:Microwindows、MiniGUI、Tiny X、Qt/Embedded Linux操作系统类型操作系统类型nRTLin
16、ux nuClinuxnEOSnux、Midinux nRTLinux nLinux原本是个通用操作系统,没有实时任务调度能力 n1996年,第一个Linux实时系统发布,这就是RTLinux。RTLinux的实时内核处于Linux内核和硬件平台之间,为Linux内核提供一个“虚拟机”环境 nRTLinux是一个硬实时的嵌入式Linux操作系统 nRTLinux实现方法:另外设计一个实时内核实时内核,把标准的Linux内核作为该实时内核的一个进程,同用户的实时进程一起调度。避免对Linux内核的大规模改动,也有利于充分利用Linux现有的丰富软件资源 RTLinux操作系统原理操作系统原理 u
17、Clinux nMMU实现虚拟地址到物理地址的转换以及任务内存空间的保护 n标准Linux在硬件上需要MMU支持n为了能在没有集成MMU的低成本嵌入式微处理器上运行,改造Linux内核uCLinuxuCLinux与标准与标准LinuxnuCLinux是精巧的Linux版本,适合低成本、小型化嵌入式系统 n具有标准Linux的大多数优点:稳定、可移植性好、对网络的支持好、支持多种文件系统、支持丰富的标准化用户应用编程接口 n支持多种不同体系结构的硬件平台 nuClinux同标准Linux的最大区别就在于内存管理最大区别就在于内存管理。不能使用标准Linux的虚拟地址管理技术,而是采用实地址进行内
18、存管理。所有程序都直接使用真实的物理地址。操作系统不提供对内存空间保护 nuClinux并不是为了解决Linux实时性而设计的,在这方面与标准Linux并无实质的差别 uCLinux内核结构内核结构 uC/OS-II uC/OS-IIn1992年是美国工程师Jean J.Labrosse设计成功uC/OS,1998年推出uC/OS升级版,即uC/OS-II n是支持可抢占式任务调度的嵌入式实时多任务操作系统实时操作系统n广泛应用在消费类电子产品、医疗器械、网络设备、工业控制等领域 作者:作者:(美)(美)Jean J.Labrosse著,著,邵贝贝邵贝贝 等译等译出出 版版 社:社:北京航天航
19、空大学出版社北京航天航空大学出版社出版时间:出版时间:2003-5-1 uC/OS-II特点特点n开放源代码n良好的可移植性 n支持软件固化 n可按应用需要进行系统裁减 n支持抢占式任务调度 n支持多任务n任务运行时间具有确定性 n采用独立的任务栈 n提供基本的系统服务 n支持中断管理 n良好的稳定性和可靠性 uC/OS的抢占式任务调度的抢占式任务调度 uC/OS-II操作系统任务状态操作系统任务状态uC/OS-II移植的条件移植的条件n处理器的C编译器能产生可重入代码 nC语言可以打开和关闭中断 n处理器支持中断,并且能产生定时中断 n处理器支持能够容纳一定量数据的硬件堆栈 n处理器有将堆栈
展开阅读全文