第七章 嵌入式操作系统_第1页
第七章 嵌入式操作系统_第2页
第七章 嵌入式操作系统_第3页
第七章 嵌入式操作系统_第4页
第七章 嵌入式操作系统_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第七章 嵌入式操作系统计算机科学技术学院祝勇内容提要 7.1 概述概述 7.2 实时操作系统实时操作系统 7.3 嵌入式实时操作系统嵌入式实时操作系统 7.4 常用的常用的嵌入式操作系统嵌入式操作系统7.1 概述n简单的说,嵌入式操作系统就是支持嵌入简单的说,嵌入式操作系统就是支持嵌入式系统工作的操作系统。在本质上与通用式系统工作的操作系统。在本质上与通用的操作系统没有太大的区别,一般用于比的操作系统没有太大的区别,一般用于比较复杂的嵌入式系统中,例如较复杂的嵌入式系统中,例如手机、手机、PDA等电子类消费产品等电子类消费产品机顶盒、路由器等机顶盒、路由器等n对嵌入式系统的硬件有较高的要求对嵌

2、入式系统的硬件有较高的要求7.1.1 嵌入式操作系统介绍n分类分类非实时操作系统非实时操作系统实时操作系统实时操作系统软实时软实时硬实时硬实时7.1.1 嵌入式操作系统介绍n硬实时系统硬实时系统确保系统中的关键任务在确定的时间得到响应,确保系统中的关键任务在确定的时间得到响应,不能有失败的情况,否则会出现严重后果不能有失败的情况,否则会出现严重后果 n软实时系统软实时系统设计的时候是有响应时间要求的,但是偶尔某设计的时候是有响应时间要求的,但是偶尔某些任务的响应时间超过这个限制也不会有严重些任务的响应时间超过这个限制也不会有严重的后果的后果 n非实时系统非实时系统无响应时间的要求无响应时间的要

3、求2021-11-20Embedded Operating Systems5/129嵌入式操作系统一览2021-11-20Embedded Operating Systems6/129常见嵌入式实时操作系统 RTlinux及其他嵌入式实时及其他嵌入式实时Linux uC/OS II wind river systems公司的公司的Vxworks QNX software systems公司的公司的QNX。 pSOS OS/9 VRTX eCOS2021-11-20Embedded Operating Systems7/129常见嵌入式非实时操作系统 Microsoft公司公司的的Embedde

4、d windows xp Palm公司的公司的Palm OS symbian公司的公司的EPOC 一些嵌入式一些嵌入式linux系统系统2021-11-20Embedded Operating Systems8/1297.1.2嵌入式操作系统的发展历程 第一阶段:无操作系统的嵌入式算法阶段,第一阶段:无操作系统的嵌入式算法阶段,采用可编程控制器,以单片机为核心系统,采用可编程控制器,以单片机为核心系统,具有一些检测、伺服、指示设备相配合的具有一些检测、伺服、指示设备相配合的功能。功能。 第二阶段:简单监控式的实时操作系统阶第二阶段:简单监控式的实时操作系统阶段,以嵌入式处理器为基础,用来控制系

5、段,以嵌入式处理器为基础,用来控制系统负载以及监控应用程序运行等统负载以及监控应用程序运行等7.1.2嵌入式操作系统的发展历程 第三阶段:通用嵌入式实时操作系统阶段,第三阶段:通用嵌入式实时操作系统阶段,以通用型嵌入式实时操作系统(以通用型嵌入式实时操作系统(RTOS)为)为核心的嵌入式系统核心的嵌入式系统7.1.3 嵌入式操作系统特征n 尺寸尺寸满足硬件限制满足硬件限制n 实时性实时性硬实时,软实时和非实时系统硬实时,软实时和非实时系统 n 可装卸可装卸n 固化代码固化代码n 弱交互性弱交互性n 强稳定性强稳定性n 统一的接口统一的接口2021-11-20Embedded Operating

6、 Systems11/1297.1.4 嵌入式操作系统的应用前景n信息家电领域信息家电领域n医疗仪器领域医疗仪器领域n智能汽车领域智能汽车领域n智能交通领域智能交通领域7.2 实时操作系统n7.2.1 实时操作系统简介实时操作系统简介实时操作系统是指具有实时性,能支持实时控制系统工实时操作系统是指具有实时性,能支持实时控制系统工作的操作系统。作的操作系统。7.2.1 实时操作系统简介实时操作系统简介n 一个好的实时操作系统需要具备一下功能一个好的实时操作系统需要具备一下功能多任务和可抢占多任务和可抢占任务具有优先级任务具有优先级操作系统具备支持可预测的任务同步机制操作系统具备支持可预测的任务同

7、步机制支持多任务间的通信支持多任务间的通信操作系统具备消除优先级转置的机制操作系统具备消除优先级转置的机制存储器优化管理存储器优化管理操作系统的(中断延迟、任务切换、驱动程序延迟操作系统的(中断延迟、任务切换、驱动程序延迟等)行为是可知的和可预测的等)行为是可知的和可预测的实时时钟服务实时时钟服务中断管理服务中断管理服务7.2.2 实时操作系统的基本特征n任务任务n任务切换任务切换n消息和邮箱消息和邮箱n信号量信号量n中断和资源管理中断和资源管理7.2.3 实时系统的几个指标n预测反应时间预测反应时间n可调度性可调度性n强负载下的稳定性强负载下的稳定性1、预测反应时间l在工业控制系统中,实时可

8、定义为系统对在工业控制系统中,实时可定义为系统对某事件响应时间的可预测性。某事件响应时间的可预测性。l一个事件发生后,系统须在一个可准确预一个事件发生后,系统须在一个可准确预见的时间范围内作出反应。见的时间范围内作出反应。 2、可调度性l实时任务具有时限要求,调度实时任务时,实时任务具有时限要求,调度实时任务时,需要判断是否每个任务的执行都能够在其需要判断是否每个任务的执行都能够在其截止期限内完成。截止期限内完成。l如果每个任务的执行都能够在其截止期限如果每个任务的执行都能够在其截止期限内完成,则称该内完成,则称该调度是可行的调度是可行的l可调度性判定可调度性判定(或称调度可行性判定或称调度可

9、行性判定)就是判就是判定给定的定给定的n个实时任务在应用某种调度算法个实时任务在应用某种调度算法的前提下能否产生一个可行的调度。的前提下能否产生一个可行的调度。l调度算法的设计要尽可能满足任务可调度调度算法的设计要尽可能满足任务可调度性的要求性的要求 3、强负载下的稳定性l实时稳定性随着系统的负载有所不同实时稳定性随着系统的负载有所不同l当系统的负载变得很大时,如果系统不能当系统的负载变得很大时,如果系统不能保证所有任务的时间要求,应当能使其中保证所有任务的时间要求,应当能使其中一部分关键任务始终满足时限要求一部分关键任务始终满足时限要求7.3 嵌入式实时操作系统l 嵌入式系统是嵌入到某一对象

10、中的专用计算机,嵌入式系统是嵌入到某一对象中的专用计算机,它所占用的空间和所需的能源十分有限,甚至是它所占用的空间和所需的能源十分有限,甚至是苛刻的。这就要求操作系统是可剪裁的。对于不苛刻的。这就要求操作系统是可剪裁的。对于不同的应用对象,必须剪裁掉与其无关的部分。这同的应用对象,必须剪裁掉与其无关的部分。这样嵌入式系统不但是实时的,而且是可剪裁的。样嵌入式系统不但是实时的,而且是可剪裁的。这点与通用操作系统是不同的这点与通用操作系统是不同的.7.3.1 嵌入式实时操作系统简介n 实时嵌入式操作系统的种类繁多,大体上可实时嵌入式操作系统的种类繁多,大体上可分为两种,商用型和免费型。分为两种,商

11、用型和免费型。l商用型的实操作系统功能稳定、可靠,有完善的商用型的实操作系统功能稳定、可靠,有完善的技术支持和售后服务,但往往价格昂贵技术支持和售后服务,但往往价格昂贵,如如Vxworks、QNX、WinCE、Palm OS等。等。l免费型的实时操作系统在价格方面具有优势,目免费型的实时操作系统在价格方面具有优势,目前主要有前主要有Linux、eCos和和C/OS-,稳定性与服务,稳定性与服务性存在挑战。性存在挑战。lC/OS-得到了美国航空管理局的认证,可用在得到了美国航空管理局的认证,可用在飞行器上。这说明飞行器上。这说明C/OS-是稳定可靠的,可用是稳定可靠的,可用在与人性命攸关的安全紧

12、要的系统上。在与人性命攸关的安全紧要的系统上。6.3.1 嵌入式实时操作系统简介 由于嵌入式实时应用系统的软件开发受时间、空间开销限制、需要在专门的开发平台上进行软件的交叉开发,一般采用宿主机和目标机的交叉开发环境。7.3.2 嵌入式实时操作系统的特点和构成n嵌入式实时操作系统是将嵌入式和实时操嵌入式实时操作系统是将嵌入式和实时操作系统相结合的产物。作系统相结合的产物。n主要特点有主要特点有响应时间快响应时间快具有异步处理并发事件的能力具有异步处理并发事件的能力具有快速启动、出错处理和自动复位功能具有快速启动、出错处理和自动复位功能嵌入式系统的应用软件与操作系统之间的界限嵌入式系统的应用软件与

13、操作系统之间的界限模糊,往往是一体化的程序设计模糊,往往是一体化的程序设计软件开发困难软件开发困难7.3.2 嵌入式实时操作系统的特点和构成n嵌入式实时操作系统的基本模块嵌入式实时操作系统的基本模块初始化管理初始化管理任务管理任务管理时间管理时间管理定时管理定时管理中断管理中断管理任务间的通信、同步、互斥管理任务间的通信、同步、互斥管理7.3.3 使用嵌入式实时操作系统的必要性n提高系统的可靠性提高系统的可靠性n提高开发效率、缩短开发周期提高开发效率、缩短开发周期n充分发挥充分发挥32位位CPU 的多任务潜力的多任务潜力7.3.4 嵌入式实时操作系统的现状和发展方向n实时超微内核实时超微内核n

14、开发环境向开放的、集成化的方向发展开发环境向开放的、集成化的方向发展7.4 常用嵌入式操作系统常用嵌入式操作系统 VxWorks Windows CE Palm OS 嵌入式嵌入式Linux uc OS 常见嵌入式操作系统之比较常见嵌入式操作系统之比较 n Palm OS 3Com公司产品,专门为掌上电脑开发的公司产品,专门为掌上电脑开发的32位的嵌入式操作系统位的嵌入式操作系统 占有非常小的内存,基于占有非常小的内存,基于Palm OS编写的应用程序占用的空间也非编写的应用程序占用的空间也非常小(通常只有几十常小(通常只有几十KB) Palm提供了串行通信接口和红外线传输接口,利用它可以方便

15、地提供了串行通信接口和红外线传输接口,利用它可以方便地与其它外部设备通信、传输数据与其它外部设备通信、传输数据 拥有开放的拥有开放的OS应用程序接口,开发商可根据需要自行开发所需的应用程序接口,开发商可根据需要自行开发所需的应用程序应用程序 具有强开放性,现在有大约数千种专门为具有强开放性,现在有大约数千种专门为Palm OS编写的应用程序,编写的应用程序,从程序内容上看,小到个人管理、游戏,大到行业解决方案,从程序内容上看,小到个人管理、游戏,大到行业解决方案,Palm OS无所不包。在丰富的软件支持下,基于无所不包。在丰富的软件支持下,基于Palm OS的掌上电的掌上电脑功能得以不断扩展。

16、脑功能得以不断扩展。常见嵌入式操作系统之比较常见嵌入式操作系统之比较 n Palm OS 特点特点操作系统的节能功能。在操作系统的节能功能。在Palm OS的应用程序中,如果的应用程序中,如果没有事件运行,则系统设备进入半休眠(没有事件运行,则系统设备进入半休眠(doze)的状)的状态;如果应用程序停止活动一段时间,则系统自动进态;如果应用程序停止活动一段时间,则系统自动进入休眠(入休眠(sleep)状态。)状态。合理的内存管理。合理的内存管理。Palm的存储器全部是可读写的快速的存储器全部是可读写的快速RAM,动态,动态RAM(Dynamic RAM)类似于)类似于PC机上的机上的RAM,它

17、为全局变量和其它不需永久保存的数据提供,它为全局变量和其它不需永久保存的数据提供临时的存储空间;存储临时的存储空间;存储RAM(Storage RAM)类似于)类似于PC机上的硬盘,可以永久保存应用程序和数据。机上的硬盘,可以永久保存应用程序和数据。Palm OS的数据是以数据库(的数据是以数据库(database)的格式来存储)的格式来存储的。的。常见嵌入式操作系统之比较常见嵌入式操作系统之比较 Palm OS 应用应用Palm OS与同步软件(与同步软件(HotSync)结合可以使掌上电脑与)结合可以使掌上电脑与PC机上的信息实现同步,把台式机的功能扩展到了掌机上的信息实现同步,把台式机的

18、功能扩展到了掌上电脑。上电脑。Palm应用范围相当广泛,如:联络及工作表管理、电应用范围相当广泛,如:联络及工作表管理、电子邮件及互联网通信、销售人员及组别自动化等。子邮件及互联网通信、销售人员及组别自动化等。Palm外围硬件十分丰富,有数码相机、外围硬件十分丰富,有数码相机、GPS接收器、调接收器、调制解调器、制解调器、GSM无线电话、数码音频播放设备、便携无线电话、数码音频播放设备、便携键盘、语音记录器、条码扫描、无线寻呼接收器、探键盘、语音记录器、条码扫描、无线寻呼接收器、探测仪等。测仪等。常见嵌入式操作系统之比较常见嵌入式操作系统之比较n嵌入式嵌入式Linux 嵌入式嵌入式Linux

19、OS逐渐形成了可与逐渐形成了可与Windows CE等等EOS相抗衡的局面。目前正在开发的嵌入式系相抗衡的局面。目前正在开发的嵌入式系统中,统中,49%的项目选择的项目选择Linux作为嵌入式操作系作为嵌入式操作系统。统。Linux现已成为嵌入式操作系统的理想选择。现已成为嵌入式操作系统的理想选择。已有产品已有产品:如中科红旗嵌入式如中科红旗嵌入式Linux,已投入了,已投入了实际应用。实际应用。 常见嵌入式操作系统之比较常见嵌入式操作系统之比较n嵌入式嵌入式Linux特点(以中科红旗嵌入式特点(以中科红旗嵌入式Linux为例)为例)开放源码,丰富的软件资源,广泛的软件开发开放源码,丰富的软件

20、资源,广泛的软件开发者的支持,价格低廉,结构灵活,适用面广。者的支持,价格低廉,结构灵活,适用面广。精简的内核,性能高、稳定,多任务。精简的内核,性能高、稳定,多任务。适用于不同的适用于不同的CPU,支持多种体系结构,如,支持多种体系结构,如X86、ARM、MIPS、ALPHA、SPARC等。等。能够提供完善的嵌入式能够提供完善的嵌入式GUI以及嵌入式以及嵌入式X-Windows。提供嵌入式浏览器、邮件程序、提供嵌入式浏览器、邮件程序、MP3播放器、播放器、MPEG播放器、记事本等应用程序。播放器、记事本等应用程序。常见嵌入式操作系统之比较常见嵌入式操作系统之比较 嵌入式嵌入式Linux特点特

21、点(续续) 提供完整的开发工具和SDK,同时提供PC上的开发版本。 用户可定制,可提供图形化的定制和配置工具。 常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富。 针对嵌入式的存储方案,提供实时版本和完善的嵌入式解决方案。 完善的中文支持,强大的技术支持,完整的文档。常见嵌入式操作系统之比较常见嵌入式操作系统之比较 嵌入式嵌入式Linux的开发的开发 一种思路是通过裁减的途径。一种思路是通过裁减的途径。通过开发符合原接口Linux标准的精简的Linux内核,以满足掌上电脑等方面的需求。 另一种思路在普通另一种思路在普通Linux操作系统的低层中加载一个非操作系统的低层中加载一个非常精简

22、的常精简的Rt-Kernel,处理实时任务,处理实时任务;而原有的内核(Linux kernel)在运行时可以看作RT-kernel的任务,而且相当于专用RTOS中优先级最低的任务 (the idle task)。美国新墨西哥理工学院的开发小组致力于RTLinux的开发工作。常见嵌入式操作系统之比较常见嵌入式操作系统之比较 嵌入式嵌入式Linux举例举例RTLinux RTLinux是一硬实时操作系统 实现了一个微内核的小的实时操作系统,而将普通Linux系统作为一个该操作系统中的一个低优先级的任务来运行 普通Linux系统中的任务可以通过FIFO和实时任务进行通信 通过软件来模拟硬件的中断控

23、制器 RT-Linux通过将系统的实时时钟设置为单次触发状态,可以提供十几个微秒级的调度粒度 常见嵌入式操作系统之比较常见嵌入式操作系统之比较嵌入式嵌入式Linux举例举例RTLinux 内核结构:内核结构:RT-kernel对硬件中的中断进行处理,并用软件模拟中断控制器。编程而言,Linux内核对软件中断控制器的操作就如同原来它对硬件中断一样,但它不能禁止RT-kernel响应中断。实时任务不同于Linux的进程:首先它相当于线程,使上下文切换延迟缩短;其次系统为它静态分配内存并锁定,不使用虚拟内存;第三,任务的模式高于Linux的系统模式与用户模式。RT-kernel本身是不可抢占,但是由

24、于它非常短小精悍,造成的延迟比较短。 常见嵌入式操作系统之比较常见嵌入式操作系统之比较嵌入式嵌入式Linux举例举例RTLinux(续)(续)调度算法。调度算法。实时任务的调度方式主要有两种:周期性调度与中断唤醒。API函数rt_task_make_periodic( )可以指定任务的周期。RTLinux带一个纯优先级调度器;用户可以根据需要编写自己的调度器。常见嵌入式操作系统之比较常见嵌入式操作系统之比较嵌入式嵌入式Linux举例举例RTLinux(续)(续)开发与调试环境。开发与调试环境。采用RTLinux实现嵌入式设计,需要自主开发编译与调试工具;现阶段一般沿用GCC,GDB等工具,缺乏

25、实时专用的编译与调试工具。RTLinux内核结构内核结构 主流嵌入式主流嵌入式Linux系统系统 Clinux Embedix RTLinux RTAI Monta Vista Linux 嵌入式嵌入式Linux的特点的特点 嵌入式Linux的优势 Linux系统是层次结构且内核完全开放 强大的网络支持功能 Linux具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境,并且可以跨越嵌入式系统开发中仿真工具的障碍 Linux具有广泛的硬件支持特性嵌入式Linux面临的挑战 1、扩充Linux的实时系统 内核不支持事件优先级和抢占实时特性 对Linux实时性的扩展可以从两方面进行:

26、向外扩展(让实时系统支持的范围更广,支持的设备更多) 向上扩展(扩充Linux内核,从功能上扩充Linux的实时处理和控制系统)嵌入式Linux面临的挑战(续一) RT-Linux的做法 Linux本身的任务以及Linux内核本身作为一个优先级最低的任务 实时任务作为优先级最高的任务 实时任务以Linux的内核模块(Loadable Kernel Module,LKM)的形式存在嵌入式Linux面临的挑战(续二) 2、改变Linux内核的体系结构 Monolithic内核体系 MicroKernel体系 执行效率 内核的体积 升级、维护和移植嵌入式Linux面临的挑战(续三) 微内核技术 缺点

27、:操作系统的服务模块在独立的地址空间运行,使得进程间通信和上下文切换的系统开销大大增加,降低了系统效率。嵌入式Linux面临的挑战(续四) 3、完善Linux的集成开发环境 Linux在基于图形界面的特定系统定制平台的研究上,与Windows操作系统相比还存在差距嵌入式嵌入式Linux 与与Windows CE相比的优点相比的优点 Linux是开放源代码的,不存在黑箱技术。 Linux在价格上极具竞争力。 Linux的内核小、效率高。嵌入式嵌入式Linux 与与Windows CE相比的优点相比的优点(续续) Linux不仅支持x86芯片,还是一个跨平台的系统。到目前为止,它可以支持2030种

28、CPU。 Linux内核的结构在网络支持方面是非常完整的,它提供了对包括十兆位、百兆位及千兆位的以太网络,还有无线网络、Token ring(令牌环)和光纤甚至卫星的支持。 Linux在内核结构的设计中充分考虑了适应系统的可裁剪性的要求。嵌入式嵌入式Linux 与与Windows CE相比的弱点相比的弱点 开发难度较高,需要很强的技术实力 核心调试工具不全,调试不太方便,尚没有很好的用户图形界面 有些Linux的应用程序需要虚拟内存,所以并非所有的Linux应用程序都可以在嵌入式系统中运行。Palm OS与与Windows CE的比较的比较 从技术层面上讲,Palm OS是一套专门为掌上电脑开发的操作系统;Windows CE相对则过于臃肿。 Palm OS是一套具有极强开放性的系统。开发者向用户免费提供Palm OS的开发工具,允许用户利用该工具在Palm OS基础上方便地编写、修改相关软件。 Palm OS、Windows CE、Li

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论