1 / 86

第七章 嵌入式操作系统

嵌入式系统原理与接口技术. 主编:贾智平 张瑞华. 清华大学出版社. 第七章 嵌入式操作系统. 山东大学精品课程.  内容提要. 嵌入式操作系统概述. 常见嵌入式操作系统. 实时操作系统. 嵌入式 Linux 操作系统. 操作系统的发展. 计算机系统由硬件和软件构成,在发展初期并没有操作系统这个概念,用户使用监控程序来使用计算机。随着计算机技术的发展,计算机系统的硬件、软件资源越来越丰富,监控程序已不能适应计算机应用的要求。于是在六十年代中期监控程序进一步发展形成了操作系统。到目前为止,主流的操作系统有三种:多道批处理、分时和实时操作系统。. 嵌入式操作系统结构.

xanti
Télécharger la présentation

第七章 嵌入式操作系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 嵌入式系统原理与接口技术 主编:贾智平 张瑞华 清华大学出版社 第七章 嵌入式操作系统 山东大学精品课程

  2.  内容提要 嵌入式操作系统概述 常见嵌入式操作系统 实时操作系统 嵌入式Linux操作系统

  3. 操作系统的发展 • 计算机系统由硬件和软件构成,在发展初期并没有操作系统这个概念,用户使用监控程序来使用计算机。随着计算机技术的发展,计算机系统的硬件、软件资源越来越丰富,监控程序已不能适应计算机应用的要求。于是在六十年代中期监控程序进一步发展形成了操作系统。到目前为止,主流的操作系统有三种:多道批处理、分时和实时操作系统。

  4. 嵌入式操作系统结构 • 操作系统分类 • 微内核(micro-kernel) • 单晶内核(monolithic kernel) • 混合内核(hybrid kernel) Memory Mgmt. File Systems I/O System Kernel Device Drivers Network Stack

  5. 层 次 模 块 化

  6. 各式各样的操作系统 • 桌面机 • Windows (9X, XP Home, XP/2000 Pro) • Mac • 服务器 • Windows (XP/2000 Server &Advanced Server) • Unix Varieties • 嵌入式 • Many

  7. 嵌入式操作系统概念 • 嵌入式操作系统EOS(Embedded Operating System)是一种支持嵌入式系统应用的操作系统软件,是嵌入式系统的重要组成部分。 • 嵌入式系统是使用特定嵌入式软件完成特定功能的计算机系统,嵌入式操作系统作为软件的组成部分,为嵌入式软件的开发和运行提供良好的环境。 • 嵌入式系统可以是基于ROM或者是磁盘的系统,类似PC,但它并不能替代通用计算机系统。

  8. 模块化 • 可升级 • 可配置 • 小内存损耗 • CPU支持 • 设备驱动 • 等等...

  9. 嵌入式操作系统作用 • 具有通用操作系统的功能: • EOS负责嵌入系统的全部软、硬件资源的分配、调度,控制、协调并发活动; • 能够把硬件虚拟化:简化开发人员的工作 • 它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。 • 能够提供库函数、驱动程序、工具集以及应用程序

  10. 嵌入式操作系统分类 • 基于或与Windows 兼容: • Window CE、嵌入式Linux、EPOC • 工业与通信(传统)类: • VxWorks、pSOS、QNX、Neculeus、VRTX • 单片机类: • iRMX、CMX、μC/OS • 面向Internet 类: • Palm OS、Visor、Hopen、PPSM

  11. 嵌入式操作系统特点 • 可定制性 • 一般需提供可添加或可裁剪的内核及其他功能,让用户按需配置。如调度算法、存储管理、设备驱程序。 • 可移植性 • 应该能够支持多种国际主流微处理器等硬件平台,给用户硬件选择的灵活性。 • 实时性 • 大多数嵌入式系统工作在实时性要求很高的环境中,要求嵌入式操作系统必须将实时性作为一个重要的指标来考虑。 • 低资源占有性 • 在保证其功能的前提下,尽可能减少系统对资源的占用。

  12. 使用嵌入式操作系统的优缺点 • 优点 • 使程序的设计和扩展变得容易,大大提高了开发效率。 • 充分发挥32位CPU多任务的潜力,实现多任务设计,能够充分利用硬件资源和实现资源共享。 • 实时性和健壮性能够得到更好的保证。 • 缺点 • 嵌入式操作系统增加ROM/RAM等额外开销,5~10%的CPU额外负荷。

  13. 嵌入式操作系统的发展趋势 • 体系结构向微内核方向发展 • 可伸缩、可移植、可剪裁、可配置 • 行业的标准:多种操作系统平台,应用决定操作系统 • 结构紧凑、功能强大 • 高可用(High Available)、高可靠(High Reliable )、支持多处理器和分布式计算 • 可动态加载和升级软件 • 与开发工具有机的结合起来

  14. MMU / MPU 外设 如USB、LCD 控制器等 R Cache Bus Interface R W W W W Write Buffer (R/W) 处理器(Processor) 芯片(SoC) 系统(System) 扩展芯片 External Memory CPU Address Data 处理器存储器子系统 SoC的片内外设 内核(core) 系统的片外设备

  15. 嵌入式操作系统的选择 • 应用需求 • 实时性 • 开发工具 • CPU种类 • 价格和技术支持和服务

  16. Tektronix TDS7000 Digital Oscilloscopes Nixvue Digital Album Digital Photo Album eRemote Intelligent Home Controller goReader Internet eBook Samsung AnyWeb Internet Screen Phone 一些典型的应用实例

  17. 分类 嵌入式操作系统 嵌入式实时操作系统 操作系统 嵌入式非实时操作系统 嵌入式硬实时操作系统 嵌入式软实时操作系统

  18.  内容提要 嵌入式操作系统概述 常见嵌入式操作系统 实时操作系统 嵌入式Linux操作系统

  19. Windows Embedded • Windows CE:一种针对小容量、移动式、智能化、32位、连接设备的模块化实时嵌入式操作系统(缩减的Win95)。 • 针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,属于软实时操作系统, • 由于其Windows背景,界面比较统一认可。可以使用大多数Windows开发工具(如VB,VC等),大多数Windows应用程序经过移植后就可以运行在WinCE平台上。 • 操作系统的基本内核需要至少200K的ROM。

  20. Pocket PC • 信息消费 • 浏览和输入数据 • 把电话融入PDA • 可以与Office, Exchange和SQL Server交互 • .NET Compact Framework • ASP.NET 移动控件 Smartphone • 信息消费 • 基本数据浏览 • 把PDA融入电话 • 可以与Exchange交互 • .NET Compact Framework • ASP.NET 移动控件 平板电脑 • 复杂的文档编辑和读写 • 桌面键盘输入 • 支持数字墨水 • 可以支持键盘,也可以把键盘拿走 • 键盘、鼠标、数字墨水和语音输入 • 完整的 .NET framework支持 • 提供笔,数字墨水,手写和语音识别API 小型个人产品 • 单向网络 • 信息消费 笔记本PC • 复杂的文档编辑和读写 • 桌面键盘输入 • 键盘和鼠标输入法 • 完整的.NET framework 支持 Windows CE Windows Mobile Windows XP/XPE 微软的移动平台 更强的功能

  21. Windows Embedded 家族

  22. Microsoft Windows CE • Microsoft公司的产品 • 微内核,可剥夺 • 采用页式存储管理,页面换入技术(可以锁定) • 内核映像既可以在ROM中,也可以在RAM中运行 • 动态连接DLL • 中断处理分ISR与IST,不支持嵌套 • 设备驱动也分两层 • Winsock提供网络接口 • GUI丰富

  23. VxWorks • VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。 • VxWorks所具有的显著特点是: • 可靠性、实时性和可裁减性。 • 它支持多种处理器,如x86、i960、Sun Sparc、Motorola MC68xxx、MIPS 、POWER PC等等。

  24. 以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空航天等高精尖技术及实时性要求极高的领域中,如火星探测器(1997年7月4日登陆火星表面)。以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空航天等高精尖技术及实时性要求极高的领域中,如火星探测器(1997年7月4日登陆火星表面)。 • 去掉了一些OS模块,因为这些模块在某种程度上会影响系统的实时性 (如在内存管理中没有采用页面管理模式,采用的是平板式内存。

  25. VxWorks –缺点 • 缺少某些OS特性 • 保证时限要求是设计者自己的任务(系统的灵活性带来的弊端) • 不支持很多应用和APIs(只支持部分POSIX标准的函数集) • 尽管采用了平板式内存管理,但是由于内存的动态分配,仍然存在内存段,这样仍然存在时间上的不可预测性 • 应用领域主要局限在对实时性要求较严格的硬实时系统中

  26. Symbian OS • Symbian由诺基亚、西门子、索尼爱立信等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系统。Symbian操作系统的前身是EPOC • 针对PDA及智能手机的,能够提供良好的软实时的操作系统,目前占有60%的智能手机市场 • 与之竞争的有Windows Mobile、PalmOS以及Linux • 主要版本 • Series 60/90/80/40 • UIQ

  27. Palm OS • Palm OS是著名的网络设备制造商3COM旗下的Palm Computing掌上电脑公司的产品。 • Palm OS是一套专门为掌上电脑编写的操作系统,充分考虑到了掌上电脑内存相对较小的情况,所以Palm操作系统本身所占的内存很小,基于Palm操作系统编写的应用程序所占的空间也很小,通常只有几十KB,因此基于Palm操作系统的掌上电脑虽然只有几兆内存却可以运行众多的应用程序。 • Palm OS在PDA市场上占有很大的市场份额, Palm OS的市场份额占到将近90%,最近下降70%,目前主要与WIN CE进行激烈竞争。 • 代表性的产品有Palm m505、Palm m500、Palm III等。

  28. QNX • 加拿大QNX公司的产品。 • QNX是在X86体系上面开发出来的,这和别的RTOS不一样,别的好多RTOS都是从嵌入式的CPU架构上面开发成熟,然后再移植到X86体系上面来的。 • QNX是一个实时的、可扩充的操作系统,它部分遵循POSIX相关标准,由于QNX具有强大的图形界面功能,因此很适合作为机顶盒、手持设备(手掌电脑、手机)、GPS设备的实时操作系统使用。

  29. C/OS及C/OS-II • C/OS—Micro Controller OS • C/OS简介 • 美国人Jean Labrosse 1992年完成,已应用于数百种产品中。 • 应用面覆盖了诸多领域,如照相机、医疗器械、音响设备、发动机控制、高速公路电话系统、自动提款机等 • 1998年C/OS-II,目前的版本C/OS -II V2.72 • 2000年,得到美国航空管理局(FAA)的认证,可以用于飞行器中 • 是一个源码公开、可移植、可裁减、占用资源少、抢先式的实时多任务操作系统。其绝大部分源码采用ANSI C写的,移植性好。高校教学可免费使用。 • 网站www.ucos-II.com(www.micrium.com)

  30. OSE • OSE主要是由瑞典的ENEA Data AB下属的ENEA OSE Systems AB 负责开发和技术服务的,一直以来都充当着实时操作系统以及分布式和容错性应用的先锋,并保持良好的发展态势。 • OSE的客户深入到电信、数据、工控、航空邓领域,尤其在电信方面,该公司已经有了十余年的开发经验,同诸如爱立信、诺基亚、西门子等公司确立了良好的关系。 • 目前手机市场占有率为15%左右,期望在未来3G手机市场占有率达到50%。

  31. 嵌入式Linux • Linux是源码开放的,不存在黑箱技术。 • Linux内核小,功能强大,运行稳定,系统健壮,易于定制裁减,价格上极具优势 • Linux支持CPU较多 • 开发工具 gcc gdb • 得到IBM、SUN等的支持,逐渐形成了可与Windows CE等抗衡的局面。 • 目前正在开发的嵌入式系统中,49%的项目选择Linux作为嵌入式操作系统。

  32. Android VS. IOS

  33.  内容提要 嵌入式操作系统概述 常见嵌入式操作系统 实时操作系统 嵌入式Linux操作系统

  34. 基本概念 • 前后台系统 对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统。 很多基于微处理器的产品采用前后台系统设计,例如微波炉、电话机、玩具等。在另外一些基于微处理器应用中,从省电的角度出发,平时微处理器处在停机状态,所有事都靠中断服务来完成。

  35. 后台 前台 中断服务程序 ISR 时 间 ISR ISR ISR • 前后台系统 循环中调用相应的函数完成相应的操作,这部分可以看成后台行为,后台也可以叫做任务级。这种系统在处理的及时性上比实际可以做到的要差。 中断服务程序处理异步事件,这部分可以看成前台行为,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。

  36. 基本概念 • 资源 程序运行时可使用的软、硬件环境统称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器。资源也可以是一个变量、一个结构或一个数组等。

  37. 任务A 共享资源 任务B 信号量 任务C 基本概念 • 共享资源 可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。 其它任务访问受阻 而不能使用共享资源 访问共享资源之前申请信号量 得到允许后,才能使用共享资源

  38. 基本概念 • 非占先式内核 非占先式内核要求每个任务自我放弃CPU 的所有权。非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。

  39. 基本概念 • 占先式内核 当系统响应时间很重要时,要使用占先式内核。因此绝大多数商业上销售的实时内核都是占先式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。

  40. 基本概念 • 中断 中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后,程序回到: 1. 在前后台系统中,程序回到后台程序; 2. 对非占先式内核而言,程序回到被中断了的任务; 3. 对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。

  41. ISR 任务A 任务A ISR 任务B 任务B 任务 ISR 任务C 任务C 非占先操作系统 前后台系统 占先操作系统 • 中断

  42. 基本概念 • 实时操作系统(RTOS) 实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中, 每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。

  43. 是否实时 • 一方面是多大程度上充分发挥硬件潜力,即综合速度快慢的问题 • 另一方面同时也是反映的速度在多大的程度上得到保证的问题

  44. 实时性简介 • 对于什么是实时系统,POSIX 1003.b作了这样的定义:指系统能够在限定的响应时间内提供所需水平的服务 • 实时系统根据其对于实时性要求的不同,可以分为软实时和硬实时两种类型 • 一个计算机系统为了提供对于实时性的支持,它的操作系统必须对于CPU和其他资源进行有效的调度和管理,即实时调度

  45. 实时调度分类 • 各种实时操作系统的实时调度算法从调度策略上可以分为如下三种类别:基于优先级的调度算法(Priority-driven scheduling-PD)、基于CPU使用比例的共享式的调度算法(Share-driven scheduling-SD)、以及基于时间的进程调度算法(Time-driven scheduling-TD) • 从调度方式上来讲可以分为:可抢占、不可抢占;从时间片来分:固定时间片、可变时间片

  46. 实时性改造 • 对操作系统实时性的扩展可以从两方面进行:向外扩展和向上扩展 • 向外扩展是从范围上扩展,让实时系统支持的范围更广,支持的设备更多 • 向上扩展是扩充操作系统内核,从功能上扩充系统的实时处理

  47. 实时操作系统与I/O • 实时操作系统还需要有效的中断处理能力来处理异步事件和高效的I/O能力来处理有严格时间限制的数据收发应用。就是: ●系统应该有在事先定义的时间范围内识别和处理离散的事件的能力。 ●系统能够处理和存储控制系统所需要的大量的数据。

  48. 周期性的系统 • 非周期性系统 • 硬实时系统 • 灾难后果 • 软实时系统 • 性能下降

  49. 实时操作系统的特点 • IEEE 的实时UNIX分委会认为实时操作系统应具备以下的几点: • 异步的事件响应 • 切换时间和中断延迟时间确定 • 优先级中断和调度 • 抢占式调度 • 内存锁定 • 连续文件 • 同步

More Related