1、第三部分第三部分 嵌入式操作系统嵌入式操作系统n第第6章章 嵌入式操作系统概述嵌入式操作系统概述 n第第7章章 VxWorks与与Tornado概貌概貌 n第第8章章 VxWorks操作系统的多操作系统的多 任务环境任务环境n第第9章章 Tornado交叉开发环境交叉开发环境 第第6章章 嵌入式操作系统概论嵌入式操作系统概论嵌入式系统结构嵌入式系统结构硬件硬件操作系统操作系统 程序程序硬件硬件内嵌式操作系统内嵌式操作系统系统组件系统组件用户程序用户程序嵌入式系统结构嵌入式系统结构计算机系统结构计算机系统结构第第6章章 嵌入式操作系统概论嵌入式操作系统概论嵌入式硬件实例嵌入式硬件实例第第6章章
2、嵌入式操作系统概论嵌入式操作系统概论嵌入式系统应用实例嵌入式系统应用实例数字控制算法数字控制算法数据日志数据日志数据获取和显示数据获取和显示操作员界面操作员界面界界面面工程系统工程系统远程监视系统远程监视系统实时时钟实时时钟数据库数据库操作员控制台操作员控制台显示设备显示设备实时计算机实时计算机第第6章章 嵌入式操作系统概论嵌入式操作系统概论 嵌入式操作系统的意义:嵌入式操作系统的意义:n 简单嵌入式系统简单嵌入式系统8位或位或16位位CPU ,资源量资源量,任务简单任务简单程序员自己管理调度程序员自己管理调度CPU资源资源第第6章章 嵌入式操作系统概论嵌入式操作系统概论 嵌入式操作系统的意义
3、:嵌入式操作系统的意义:n 复杂嵌入式系统复杂嵌入式系统32/64位位CPU,资源丰富资源丰富,处理能力强处理能力强,功能需求复杂功能需求复杂 需要采用嵌入式操作系统需要采用嵌入式操作系统:n 管理系统的管理系统的CPU及外围硬件资源及外围硬件资源n 为应用程序提供一个多任务为应用程序提供一个多任务/多线程的编程环境多线程的编程环境和各种应用程序开发接口和各种应用程序开发接口 短时间内开发出功能强大、高效、可靠的系统短时间内开发出功能强大、高效、可靠的系统第第6章章 嵌入式操作系统概论嵌入式操作系统概论 n6.1 嵌入式操作系统的种类嵌入式操作系统的种类n6.2 嵌入式实时操作系统嵌入式实时操
4、作系统 n6.3 嵌入式软实时操作系统嵌入式软实时操作系统n6.4 嵌入式操作系统的选择方法嵌入式操作系统的选择方法n6.5 嵌入式操作系统的发展趋势嵌入式操作系统的发展趋势n6.6 本章小结本章小结 习题习题 6.1 嵌入式操作系统的种类嵌入式操作系统的种类 目前,市场上的嵌入式操作系统种类繁多目前,市场上的嵌入式操作系统种类繁多,如如VxWorks、pSOSystem、Nucleus、 C/OS、Window CE、Embedded Linux、PalmOS、EPOC、Hopen、DeltaOS等。等。以下给出各种嵌入式操作系统的常见分类方法。以下给出各种嵌入式操作系统的常见分类方法。 6
5、.1 嵌入式操作系统的种类嵌入式操作系统的种类 1. 按实时性能分类按实时性能分类n嵌入式嵌入式系统按能否满足实时性要求系统按能否满足实时性要求,可分类,可分类为为n嵌入式嵌入式实时系统实时系统n嵌入式非实时嵌入式非实时系统系统n这些特性同样适用于嵌入式操作系统这些特性同样适用于嵌入式操作系统 6.1 嵌入式操作系统的种类嵌入式操作系统的种类 (1) 嵌入式实时操作系统嵌入式实时操作系统 (Real-Time Operating System, 也称为嵌入式硬实时操作系统也称为嵌入式硬实时操作系统 )6.1 嵌入式操作系统的种类嵌入式操作系统的种类 n 性能特征性能特征n 多任务多任务运行方式
6、运行方式n 真实世界中的事件具有异步特征,能够运行许真实世界中的事件具有异步特征,能够运行许多并发进程多并发进程 n 多任务多任务运行方式则运行方式则提供了一个较好的相对真实提供了一个较好的相对真实世界的匹配,它允许世界的匹配,它允许多个任务多个任务对应于许多外部事对应于许多外部事件的多线程执行件的多线程执行,由,由系统内核分配系统内核分配 CPU 给这多给这多任务来获得并发性任务来获得并发性例:电力系统的保护监控装置例:电力系统的保护监控装置6.1 嵌入式操作系统的种类嵌入式操作系统的种类 n 基于优先级的抢占基于优先级的抢占式调度式调度 真实世界的事件可以继承优先级,基于优先级的真实世界的
7、事件可以继承优先级,基于优先级的抢占式调度抢占式调度反映了这一特征反映了这一特征 n 在该调度机制中,在该调度机制中,任务被任务被指派指派优先级,在能够执优先级,在能够执行的任务(没有被挂起或正在等待资源行的任务(没有被挂起或正在等待资源 )中)中,优,优先级最高的任务将被分配先级最高的任务将被分配 CPU 资源资源,也就是说,也就是说,当一个高优先级的任务处于可执行状态时,它立当一个高优先级的任务处于可执行状态时,它立即抢占当前正在运行的较低优先级的任务即抢占当前正在运行的较低优先级的任务例:刀具切割机例:刀具切割机 n 快速的任务上下文切换快速的任务上下文切换 n 任务上下文切换是指当处理
8、器的控制权由当前任务上下文切换是指当处理器的控制权由当前运行任务转移到另一个任务时其投入运行时所运行任务转移到另一个任务时其投入运行时所发生的事件序列,包括保存当前运行任务的运发生的事件序列,包括保存当前运行任务的运行现场信息、插入相应队列、并依据一定的调行现场信息、插入相应队列、并依据一定的调度算法重新选择一个任务使之投入运行度算法重新选择一个任务使之投入运行 n 快速的任务上下文切换是嵌入式实时操作系统快速的任务上下文切换是嵌入式实时操作系统的重要特征之一的重要特征之一 例:刀具切割机例:刀具切割机6.1 嵌入式操作系统的种类嵌入式操作系统的种类 n 较短的中断延迟时间较短的中断延迟时间
9、n 中断延迟(中断延迟(Interrupt Latency)时间是指中断)时间是指中断发生到开始执行中断处理程序的时间发生到开始执行中断处理程序的时间 n 较短的最大中断禁止时间也是嵌入式实时操作较短的最大中断禁止时间也是嵌入式实时操作系统的重要特征之一系统的重要特征之一6.1 嵌入式操作系统的种类嵌入式操作系统的种类6.1 嵌入式操作系统的种类嵌入式操作系统的种类 n 典型的嵌入式实时操作系统典型的嵌入式实时操作系统 n VxWorksn pSOSystemn QNXn Nucleusn C/OS等等6.1 嵌入式操作系统的种类嵌入式操作系统的种类 (2) 嵌入式非实时操作系统嵌入式非实时操
10、作系统 n 又称为又称为“嵌入式软实时操作系统嵌入式软实时操作系统”n 典型代表是嵌入式分时操作系统典型代表是嵌入式分时操作系统n 也是一种多任务操作系统也是一种多任务操作系统n 任务调度采用时间片轮转方式任务调度采用时间片轮转方式 大的任务吞吐量大的任务吞吐量6.1 嵌入式操作系统的种类嵌入式操作系统的种类 n 典型的嵌入式软实时操作系统典型的嵌入式软实时操作系统 n Window CEn Palmn EPOCn Embedded Linux等等 6.1 嵌入式操作系统的种类嵌入式操作系统的种类 2. 按购买方式分类按购买方式分类 n 商用型商用型n 免费型免费型 6.1 嵌入式操作系统的种
11、类嵌入式操作系统的种类 (1) 商用型嵌入式操作系统商用型嵌入式操作系统 n 特点特点n 功能稳定、可靠功能稳定、可靠n 提供完整方便的开发调试工具提供完整方便的开发调试工具n 配套完善的技术支持和售后服务配套完善的技术支持和售后服务n 但往往价格昂贵但往往价格昂贵n 典型代表典型代表VxWorks、pSOSystem、QNX、Nucleus 、Window CE、Palm、EPOC等等 6.1 嵌入式操作系统的种类嵌入式操作系统的种类 (2) 免费型嵌入式操作系统免费型嵌入式操作系统 n 特点特点n 在价格方面具有优势在价格方面具有优势 n 一般缺乏完善的集成开发调试工具一般缺乏完善的集成开
12、发调试工具 n 稳定性与服务方面存在挑战稳定性与服务方面存在挑战 n 典型代表典型代表Embedded Linux和和 C/OS 6.1 嵌入式操作系统的种类嵌入式操作系统的种类 3. 按源码是否开放分类按源码是否开放分类按源码是否开放(按源码是否开放(Open Source)划分为)划分为 n 开放源码型开放源码型 n 黑箱型黑箱型 6.1 嵌入式操作系统的种类嵌入式操作系统的种类 (1) 开放源码型嵌入式操作系统开放源码型嵌入式操作系统 n 典型的开放源码型嵌入式操作系统有典型的开放源码型嵌入式操作系统有Embedded Linux和和 C/OSn 商用型嵌入式操作系统商用型嵌入式操作系统
13、Nucleus也出售源代码也出售源代码(2) 黑箱型嵌入式操作系统黑箱型嵌入式操作系统 n 大部分商用型嵌入式操作系统为黑箱型嵌入式操作大部分商用型嵌入式操作系统为黑箱型嵌入式操作系统系统 n 例如例如pSOSystem、Window CE等等 6.1 嵌入式操作系统的种类嵌入式操作系统的种类 4. 按知识产权分类按知识产权分类 按是否拥有自主知识产权划分为按是否拥有自主知识产权划分为 n 国外嵌入式操作系统国外嵌入式操作系统 n 自主知识产权型嵌入式操作系统自主知识产权型嵌入式操作系统 6.1 嵌入式操作系统的种类嵌入式操作系统的种类 (1) 国外嵌入式操作系统国外嵌入式操作系统 n 目前国
14、外嵌入式操作系统在嵌入式操作系统市场目前国外嵌入式操作系统在嵌入式操作系统市场占有较大份额占有较大份额 n 常见的有常见的有VxWorks、pSOSystem、QNX、Nucleus、 C/OS、Window CE、Embedded Linux、Palm、EPOC等等 6.1 嵌入式操作系统的种类嵌入式操作系统的种类 (2) 自主知识产权型嵌入式操作系统自主知识产权型嵌入式操作系统 n Hopen n针对微软的针对微软的“维纳斯计划维纳斯计划”推出的推出的“女娲计划女娲计划”的核心产品,由凯思集团研制开发成功的核心产品,由凯思集团研制开发成功 n运行在运行在32位微处理器上,由一个体积很小的内
15、核位微处理器上,由一个体积很小的内核和一些可以根据需要进行定制的系统模块组成和一些可以根据需要进行定制的系统模块组成 n DeltaOS (中文名为(中文名为“道系统道系统” ) n北京科银京成技术有限公司研制开发北京科银京成技术有限公司研制开发 6.2 嵌入式实时操作系统嵌入式实时操作系统 n VxWorks n pSOSystem n C/OS6.2.1 VxWorks 1VxWorks概述概述 n 美国美国Wind River公司于公司于1983年设计开发年设计开发n 高实时性和稳定性的微内核高实时性和稳定性的微内核 、友好的用户开发环境友好的用户开发环境 、良好的、良好的持续发展能力持
16、续发展能力 ,全球,全球商用商用市场占有量市场占有量排名排名第一第一 n 广泛应用于通信、军事、航空、航天等高精尖技术及实时性广泛应用于通信、军事、航空、航天等高精尖技术及实时性要求高的要求高的工业控制工业控制领域领域n 美国美国F-16、 FA-18战斗机、战斗机、B-2 隐形轰炸机和爱国者导弹隐形轰炸机和爱国者导弹上上 n 1997年年和和2004年两次年两次在火星在火星表面表面登陆的火星探测器登陆的火星探测器 n 商业用户包括商业用户包括Cisco systems、Bay Networks、3Com、Fore systems、HP、Lucent、Qualcomm、以及国内的华、以及国内的
17、华为、东方电子等为、东方电子等 6.2.1 VxWorks 2VxWorks基本特征基本特征 n (1) 高实时性、高稳定性的微内核高实时性、高稳定性的微内核n 内核内核Wind: 微内核结构,最小微内核结构,最小8KBn 实时性实时性n基于优先级的抢占式调度基于优先级的抢占式调度辅以时间片轮转辅以时间片轮转 及时响应高优先级的任及时响应高优先级的任务,同级任务可选择时间片轮转而并发执行务,同级任务可选择时间片轮转而并发执行n快速的任务上下文切换快速的任务上下文切换6.2.1 VxWorks n较小的中断延时较小的中断延时 相应措施如相应措施如n采用中断处理与任务在不同栈中处理,使得采用中断处
18、理与任务在不同栈中处理,使得中断的产生只会引发一些关键寄存器的存储中断的产生只会引发一些关键寄存器的存储而不会导致任务的上下文切换而不会导致任务的上下文切换n在中断服务程序只完成在最小时间内中断发在中断服务程序只完成在最小时间内中断发生通告,而将其它费时的处理过程尽量放在生通告,而将其它费时的处理过程尽量放在被引发的其它任务中完成(类比被引发的其它任务中完成(类比:参加展会)参加展会)n 高稳定性高稳定性6.2.1 VxWorks n (2) 丰富的外挂组件模块丰富的外挂组件模块 n 基本外挂组件模块基本外挂组件模块各种设备驱动(字符型各种设备驱动(字符型/块型设备,同步块型设备,同步/异步设
19、异步设备)、文件系统(如备)、文件系统(如DosFs、RawFs、TapeFs、CdromFs、TSFS等)、网络协议栈、以及等)、网络协议栈、以及POSIX1003.1b标准和标准和ANSI C等兼容组件模块等兼容组件模块 n 附加组件模块附加组件模块如如Flash文件系统、图形界面管理等文件系统、图形界面管理等 6.2.1 VxWorks n (3) 可裁减性可裁减性 n 粒度极小的配置裁减性能粒度极小的配置裁减性能n微内核结构,最简内核(只负责任务的管理微内核结构,最简内核(只负责任务的管理与调度,称为纳核)只有与调度,称为纳核)只有8KB n其它所有基本外挂组件和附加组件均为可选其它所
20、有基本外挂组件和附加组件均为可选组件,并且这些组件本身也是可裁减的组件,并且这些组件本身也是可裁减的 n 方便友好的配置裁减环境方便友好的配置裁减环境n图形化图形化n自动裁减特性,自动分析功能自动裁减特性,自动分析功能6.2.1 VxWorks n (4) 对多种硬件平台的可移植性对多种硬件平台的可移植性 n 支持支持ARM、PowerPC、68K、CPU32、SPARC、i960、X86、MIPS等众多嵌入式处理器,并提供等众多嵌入式处理器,并提供相应的相应的BSP模板模板 n 提供了数量众多的串口、并口、网口、存储卡控提供了数量众多的串口、并口、网口、存储卡控制器、实时时钟等外围硬件设备的
21、驱动程序制器、实时时钟等外围硬件设备的驱动程序 6.2.1 VxWorks n (5) 友好、开放的集成开发环境友好、开放的集成开发环境 n Tornado的可视化图形操作界面,可运行在多种主机硬件的可视化图形操作界面,可运行在多种主机硬件平台和操作系统上平台和操作系统上n支持的主机硬件平台:支持的主机硬件平台:Sun、HP、IBM-rs6000、Mips等等n支持的主机操作系统:支持的主机操作系统:Unix、WindowsNT/95/98等等 n Tornado的的IDE集成了编辑器、编译器、链接器、调试器(命令行和图集成了编辑器、编译器、链接器、调试器(命令行和图形界面两类调试器)、软件仿
22、真器、工程项目管理器等形界面两类调试器)、软件仿真器、工程项目管理器等系列开发工具系列开发工具 n Tornado的开放性的开放性能与第三方开发工具进行集成能与第三方开发工具进行集成 6.2.1 VxWorks n (6) 持续的新技术跟踪和版本升级维护能力持续的新技术跟踪和版本升级维护能力 n 表现表现n最早实现捆绑集成交叉开发环境最早实现捆绑集成交叉开发环境 n最早在其内核中加入最早在其内核中加入TCP/IP网络协议网络协议 n又率先宣布支持网络文件系统又率先宣布支持网络文件系统NFS n在集成最新网络协议方面也一直保持良好的在集成最新网络协议方面也一直保持良好的势头势头 6.2.1 Vx
23、Works n 原因原因收购在相关领域有优势的公司收购在相关领域有优势的公司n收购开发收购开发pSOSystem嵌入式实时操作系统的嵌入式实时操作系统的ISI,VxWorks在其在其5.5版本中加入了与版本中加入了与pSOSystem类似的任务间的事件(类似的任务间的事件(Event)通)通讯机制,并进行了进一步改进,从而弥补了讯机制,并进行了进一步改进,从而弥补了VxWorks5.5版本以前任务间无事件通讯机制版本以前任务间无事件通讯机制的缺陷的缺陷 n通过收购通过收购Rapid Logic公司的公司的RapidControl,VxWorks迅速推出了迅速推出了Embeded Web Ser
24、ver组组件件 6.2.1 VxWorks n (7) 价格较高价格较高n 较高的开发购买价格较高的开发购买价格n 在运行使用方面,在运行使用方面,VxWorks采用的是出售采用的是出售Licence的销售策略的销售策略 6.2.1 VxWorks 3VxWorks其它特色其它特色 相对相对pSOSystem等较优秀的嵌入式实时操作系统,等较优秀的嵌入式实时操作系统,VxWorks还具有还具有4项显著优点项显著优点 6.2.1 VxWorks n(1) 优秀的项目管理能力优秀的项目管理能力 n 开发环境开发环境Tornado引入的项目(引入的项目(Projects)的概)的概念,使源代码和整个
25、目标映象生成的组织管理工念,使源代码和整个目标映象生成的组织管理工作条理化、方便化作条理化、方便化n 配套相应的项目管理工具可自动生成编译使用的配套相应的项目管理工具可自动生成编译使用的Makefile文件文件 n(2)支持应用程序动态链接和动态下载支持应用程序动态链接和动态下载 使开发者在调试阶段省去了每次调试都需将应用使开发者在调试阶段省去了每次调试都需将应用程序和操作系统进行链接和下载的步骤,缩短了程序和操作系统进行链接和下载的步骤,缩短了编辑编辑/调试的周期调试的周期6.2.1 VxWorks n(3) 提供目标机仿真器提供目标机仿真器 VxSim使开发者可独立于硬件环境而先行开发应使
26、开发者可独立于硬件环境而先行开发应用程序,实现并行开发模式,有效缩短研发时间用程序,实现并行开发模式,有效缩短研发时间和硬件方面的开销和硬件方面的开销n(4) 支持系统级和任务级两种调试方式支持系统级和任务级两种调试方式 方便了多任务程序的调试,如跟踪任务间的通讯方便了多任务程序的调试,如跟踪任务间的通讯状况、任务间的同步与互斥关系状况、任务间的同步与互斥关系 6.2.2 pSOSystem n ISI公司公司(Integrated System Inc.)1980年研制年研制n 集成了一整套嵌入式软件模块、工具和服务集成了一整套嵌入式软件模块、工具和服务 n 几年前销售额占世界第一,在中国市
27、场占有率曾经几年前销售额占世界第一,在中国市场占有率曾经也是最高的也是最高的主要应用领域包括通讯、航天、信息家电以及工主要应用领域包括通讯、航天、信息家电以及工业控制,例如华为早期的路由器、烟台东方电子业控制,例如华为早期的路由器、烟台东方电子的的RTU、株洲电力机车研究所的、株洲电力机车研究所的DTECS控制器等控制器等n 现被现被WindRiver收购收购6.2.3 C/OS 1 C/OS概述概述 n C/OS是是micro Control OS的缩写,即微控制器操的缩写,即微控制器操作系统作系统 n 由美国人由美国人Jean Labrosse 1992年完成年完成, 1998年年 C/O
28、S推出推出C/OS-II版本,目前版本是版本,目前版本是C/OS-II V2.61 n 源码公开、免费(源码公开、免费(WWW.C/OS-II.COM)6.2.3 C/OS2 C/OS的特点的特点 n (1) 内核方面内核方面 n 任务的调度与管理方面任务的调度与管理方面 nC/OS-II管理管理64个任务,其中保留个任务,其中保留8个给系统,个给系统,应用程序最多可以有应用程序最多可以有56个任务个任务 n多任务的调度采用基于优先级的抢占式调度多任务的调度采用基于优先级的抢占式调度算法,且全部系统函数调用与服务的执行时算法,且全部系统函数调用与服务的执行时间具有可确定性,因此间具有可确定性,
29、因此 C/OS具有优良的实具有优良的实时性能时性能 6.2.3 C/OSn不支持时间片轮转调度不支持时间片轮转调度 现实世界有些任务无法区分出优先级高低,需现实世界有些任务无法区分出优先级高低,需要交替执行。要交替执行。 例:用单片机控制两小块显示屏时例:用单片机控制两小块显示屏时n 任务间的的通讯机制方面任务间的的通讯机制方面 提供经典操作系统任务间通信方法,包括信号提供经典操作系统任务间通信方法,包括信号量、邮箱、事件标志和消息队列量、邮箱、事件标志和消息队列n 时钟管理方面时钟管理方面 n 提供系统时钟中断提供系统时钟中断n 没有提供用户使用的定时器没有提供用户使用的定时器n 内核具有较
30、高的稳定性和可靠性内核具有较高的稳定性和可靠性 6.2.3 C/OS6.2.3 C/OSn (2) 功能模块方面功能模块方面 n C/OS本质是一个实时多任务内核本质是一个实时多任务内核n 目前已扩充了一些简单的文件系统(目前已扩充了一些简单的文件系统(FS)、)、TCP/IP协议栈、图形用户接口(协议栈、图形用户接口(GUI)等功能模)等功能模块软件包块软件包6.2.3 C/OSn (3) 可裁减性可裁减性 n C/OS内核结构小巧内核结构小巧n 具有可裁减性具有可裁减性 6.2.3 C/OSn (4) 对不同硬件平台的可移植性对不同硬件平台的可移植性 n移植到不太常用的嵌入式微处理器上时,
31、必移植到不太常用的嵌入式微处理器上时,必自己编写自己编写BSP程序程序n没有提供功能强大的驱动软件包没有提供功能强大的驱动软件包,通常需要自通常需要自行编写行编写6.2.3 C/OSn (5) 提供的集成开发环境提供的集成开发环境 无无n (6) 服务与价格方面服务与价格方面 n 技术服务方面技术服务方面n C/OS不如商用嵌入式实时操作系统那样得不如商用嵌入式实时操作系统那样得到专门人员的持续更新研究和升级服务到专门人员的持续更新研究和升级服务n另一方面,由于另一方面,由于其其源码公开,用户可以根据源码公开,用户可以根据自己的需要对它进行修改自己的需要对它进行修改 n 价格方面:价格方面:仅
32、内核免费仅内核免费 6.2.3 C/OS 3 C/OS小结小结 n 优点优点n 实时性能优良、执行效率高、占用空间小实时性能优良、执行效率高、占用空间小 n 内核免费内核免费 对小型企业具有较大的吸引力,一般适用于中对小型企业具有较大的吸引力,一般适用于中小型嵌入式应用和对实时性能要求较高的低小型嵌入式应用和对实时性能要求较高的低端嵌入式控制系统产品中(如由端嵌入式控制系统产品中(如由51系列的系列的8位位单片机系统构成的控制系统产品)单片机系统构成的控制系统产品)n 内核源码开放,可作为科学研究的典范内核源码开放,可作为科学研究的典范 6.2.3 C/OS n 缺缺点点n 任务调度仅支持优先
33、级的抢占式,不支持时间片,任务调度仅支持优先级的抢占式,不支持时间片,造成多任务划分不方便造成多任务划分不方便 n 未提供用户使用的定时器和集成开发环境未提供用户使用的定时器和集成开发环境 n 移植到不同硬件平台时,用户工作量大移植到不同硬件平台时,用户工作量大 n 技术服务不如商用嵌入式实时操作系统那样能得技术服务不如商用嵌入式实时操作系统那样能得到专门人员的持续更新研究和升级到专门人员的持续更新研究和升级 6.2.3 C/OS n重要的参考书重要的参考书 嵌入式实时操作系统嵌入式实时操作系统C/OS-II(第(第2版)版) 美美 J.Labrosse著著 邵贝贝邵贝贝 等译等译 书号:书号
34、:7-81077-290-2 配盘:光盘配盘:光盘 C/OS ARM移植要点详解移植要点详解 作者:黄燕平作者:黄燕平 书号:书号:7-81077-725-4 6.3 嵌入式软实时操作系统嵌入式软实时操作系统 n PalmOS n Windows CE n EPOC n Embedded Linux 6.3.1 PalmOS 1 PalmOS概述概述 n 由由Palm Computing公司出品公司出品n PDA市场占有量市场占有量较大较大 6.3.1 PalmOS n 发展历史发展历史 n1992年,年,Palm Computing 公司公司成立成立,最初只是想把自己,最初只是想把自己开发的
35、手写识别软件开发的手写识别软件Graffiti(一种(一种PDA速记输入法)卖给速记输入法)卖给Applen1993年年Apple发布了第一款发布了第一款Newton 掌上电脑掌上电脑,使用自己,使用自己开发的操作系统,也是世界上第一款没有键盘而使用触控开发的操作系统,也是世界上第一款没有键盘而使用触控笔来操作的掌上电脑,这种全新的硬件形式也确定了今后笔来操作的掌上电脑,这种全新的硬件形式也确定了今后掌上电脑的发展方向,成为现代掌上电脑的鼻祖掌上电脑的发展方向,成为现代掌上电脑的鼻祖nNewton 最终以失败而告终最终以失败而告终 ,但它不愧为一款具有划时代,但它不愧为一款具有划时代意义的产品
36、,带来了意义的产品,带来了“PDA”和和“手持手持”这两个计算机术这两个计算机术语语 n随之而来的随之而来的PalmOS获得了空前成功获得了空前成功,其代表性,其代表性掌上电脑掌上电脑产品有产品有PalmPilot和和Palm IIIx等等 6.3.1 PalmOS2PalmOS的特点的特点 n (1) 内核方面内核方面 n 属于属于32位嵌入式操作系统位嵌入式操作系统n 内核较小内核较小,应用程序通常也只有几十应用程序通常也只有几十KB 基于基于PalmOS的的PDA配置较低,内存配置较低,内存2MB12MB即可即可n 内核采用内核采用抢占式多任务抢占式多任务管理方式,但不向开发者管理方式,
37、但不向开发者提供与多任务有关的提供与多任务有关的APIs6.3.1 PalmOSn (2) 功能模块方面功能模块方面 n 支持支持PalmOS的应用程序十分丰富的应用程序十分丰富约约5000套套,包括个人信息管理、办公软件、数据包括个人信息管理、办公软件、数据库支持、电子邮件等库支持、电子邮件等 n 操作界面采用触控式操作界面采用触控式 n 支持支持PalmOS的产品的系统耗电量极小的产品的系统耗电量极小以以Palm x为例,两节为例,两节7号碱性电池一般可使号碱性电池一般可使用两个月用两个月6.3.1 PalmOSn 无录音、无录音、MP3播放功能等多媒体功能,仅支持播放功能等多媒体功能,仅
38、支持256色以下彩色图形显示色以下彩色图形显示 n 仍然要使用中文外挂平台,有相当部分依然是以仍然要使用中文外挂平台,有相当部分依然是以英文界面为主英文界面为主 6.3.1 PalmOSn (3) 可裁减性可裁减性 采用微内核结构,各功能模块具有可裁减性采用微内核结构,各功能模块具有可裁减性 n (4) 可移植性可移植性 n 支持的嵌入式处理器支持的嵌入式处理器n Motorola的的DragonBall (PalmOS5.0前版本前版本)n ARM (PalmOS5.0版本版本)n PalmOS阵营里使用四种不同的内存扩展技术阵营里使用四种不同的内存扩展技术n Palm、Handspring
39、、TRGpro、Sony四家公司四家公司n 无法相互使用扩充资源无法相互使用扩充资源Palm的劣势的劣势 6.3.1 PalmOSn (5) 提供的集成开发工具提供的集成开发工具 有多种集成开发工具可供选择,例如有多种集成开发工具可供选择,例如PalmOS SDK、CodeWarrior、Visual Form Design等等 n PalmOS SDKn 由由PalmOS开发商提供开发商提供n 提供提供PalmOS Emulator,能够模拟多种型号,能够模拟多种型号的的Palm掌上设备,可用于程序的测试和除错掌上设备,可用于程序的测试和除错 n CodeWarrior n 是是Window
40、s或或Mac OS平台上最流行的集成开平台上最流行的集成开发环境发环境 n 集成了集成了C/C+编译器、源代码和汇编级调试编译器、源代码和汇编级调试器、可视化模板拖放式用户开发界面,可快速器、可视化模板拖放式用户开发界面,可快速设计用户界面,简单易学设计用户界面,简单易学n Palm公司定期推出配合公司定期推出配合CodeWarrior使用的使用的开发工具开发工具 6.3.1 PalmOS6.3.1 PalmOSn (6) 服务与价格服务与价格 n 免费提供免费提供PalmOS的开发工具的开发工具PalmOS SDK n PalmOS较同档次的其它较同档次的其它PDA操作系统略低操作系统略低
41、6.3.1 PalmOS3PalmOS小结小结 n 优点优点n 占用存储空间小、执行速度快、功耗较低占用存储空间小、执行速度快、功耗较低 简单、实用、高效简单、实用、高效n 目前在目前在PDA应用领域拥有较大的市场份额应用领域拥有较大的市场份额 6.3.1 PalmOSn 不足不足n 用户应用程序不支持多任务编程用户应用程序不支持多任务编程 n 多媒体多媒体功能弱功能弱 n 支持的处理器硬件平台种类少支持的处理器硬件平台种类少 n 集成扩展性能差等集成扩展性能差等 6.3.2 Windows CE 1Windows CE概述概述 n Windows操作系统家族的新成员操作系统家族的新成员n 应
42、用领域应用领域为多媒体信息设备为多媒体信息设备代表产品如康柏代表产品如康柏iPAQ Pocket PC H3630、联想、联想天玑天玑3000、惠普、惠普Jornada 545掌上电脑等掌上电脑等n 版本版本Windows CE3.0、Windows CE-NET、Pocket PC2002、SmartPhone2002等等n WindowsCE不是不是WindowsNT或或Windows9x的一部的一部份或缩减版本份或缩减版本 n是为有限资源、微处理器可移植性的硬件平台设是为有限资源、微处理器可移植性的硬件平台设计的多线程嵌入式操作系统计的多线程嵌入式操作系统 n具备独立开发的内核和独一无二
43、的设备驱动程序具备独立开发的内核和独一无二的设备驱动程序模型模型 n 当然,当然,WindowsCE仍然享有仍然享有WindowsNT和和Windows9x的部分关键功能特的部分关键功能特 如承袭如承袭Windows的一贯风格,提供强大的图形用的一贯风格,提供强大的图形用户界面和多媒体功能户界面和多媒体功能 6.3.2 Windows CE 6.3.2 Windows CE 2Windows CE的特点的特点 n (1) 内核方面内核方面 n 属于属于32位、多线程的嵌入式操作系统位、多线程的嵌入式操作系统 n 内核提供多线程调度管理、同步原语、中断处理、内核提供多线程调度管理、同步原语、中断
44、处理、定时器、内存管理等服务定时器、内存管理等服务 n 基于优先级的多线程抢占基于优先级的多线程抢占调度管理调度管理方式方式但实时性能仍欠佳,属于软实时操作系统但实时性能仍欠佳,属于软实时操作系统n 内核本身较大,对嵌入式处理器要求高,需要使内核本身较大,对嵌入式处理器要求高,需要使用的内存容量大用的内存容量大6.3.2 Windows CE n (2) 功能模块功能模块n 主要功能模块包括:对象存储模块主要功能模块包括:对象存储模块 、图形窗口、图形窗口事件子系统(事件子系统(GWES)模块和通信模块)模块和通信模块n 对象存储模块:用于永久存储,包括文件系对象存储模块:用于永久存储,包括文
45、件系统、注册表和数据库统、注册表和数据库n GWES(Graphics Windowing and Events Subsystem)模块:相当于桌面)模块:相当于桌面Windows的图的图形设备接口形设备接口GDI和用户库和用户库n 通信模块:负责与桌面通信模块:负责与桌面PC、其它、其它CE设备和因设备和因特网的互联特网的互联 n 具有录音、音视频播放等多媒体功能具有录音、音视频播放等多媒体功能 n 集成的应用程序集成的应用程序n Word、Excel 和和Outlook 等针对手持设备的等针对手持设备的Pocket OFFICE 软件软件n 专门用于手持设备的浏览器专门用于手持设备的浏览
46、器Pocket IE。 n 能耗方面明显逊于能耗方面明显逊于Palm0S n Windwos CE支持彩色显示支持彩色显示 n Windows CE本身对于资源的巨大吞噬作用本身对于资源的巨大吞噬作用 6.3.2 Windows CE 6.3.2 Windows CE n (3) 可裁剪性可裁剪性 n 模块化结构模块化结构n 每个模块又分成许多小组件每个模块又分成许多小组件具有可裁减性具有可裁减性 6.3.2 Windows CE n (4) 对不同硬件平台的可移植性对不同硬件平台的可移植性 已支持一定数量的嵌入式微处理器体系结构,但仍已支持一定数量的嵌入式微处理器体系结构,但仍不够广泛不够广
47、泛n 目前支持目前支持X86、ARM、MIPS和和SH等系列等系列n 还可通过还可通过OEM适配层适配层OAL适配到任何硬件平台适配到任何硬件平台 n OAL(OEM Abstraction Layer)是驻留在是驻留在CE内核和硬件内核和硬件之间的代码层之间的代码层n 原始设备制造商使用这些代码把原始设备制造商使用这些代码把CE适配到自己的硬件适配到自己的硬件上,上,OAL链接链接CE的内核和定制的硬件的内核和定制的硬件6.3.2 Windows CE n (5) 提供的集成开发工具提供的集成开发工具 Windows CE Platform Builder 3.0 ,包括,包括n Windo
48、ws CE Add-on Pack(插件包)(插件包)n Embedded Visual Toolsn由面向嵌入式系统开发而进行优化的由面向嵌入式系统开发而进行优化的Embedded Visual Basic和和Embedded Visual C+、编程工具、交叉编译器、汇编程序组成、编程工具、交叉编译器、汇编程序组成 n还包括一个用于应用程序开发的扩展仿真环境还包括一个用于应用程序开发的扩展仿真环境 n 各种调试工具各种调试工具 6.3.2 Windows CE n (6) 服务与价格服务与价格 n 在技术服务方面,在技术服务方面,WindowsCE努力寻求第三方努力寻求第三方的支持的支持n
49、鼓励第三方独立软件供货商(鼓励第三方独立软件供货商(ISV,Independent Software Vendor)去开发和销售)去开发和销售能在各种设计之间平衡的软件能在各种设计之间平衡的软件nISV软件已日益增多,有开发工具、设备驱动软件已日益增多,有开发工具、设备驱动程序、应用程序和组件程序、应用程序和组件 n 在价格方面,在价格方面,WindowsCE作为一套商业型嵌入作为一套商业型嵌入式操作系统,不能免费提供式操作系统,不能免费提供 6.3.2 Windows CE 3Windows CE小结小结 n 优点优点n 提供的功能模块组件丰富,尤其是在图形界面接提供的功能模块组件丰富,尤其
50、是在图形界面接口口GUI和多媒体方面具有明显优势,适用于信息和多媒体方面具有明显优势,适用于信息设备设备n 提供与提供与Windows平台相似的集成开发环境和平台相似的集成开发环境和API接口函数,使接口函数,使Windows C/C+开发人员能够迅速开发人员能够迅速的转到嵌入式系统的开发上来,极大减少了开发的转到嵌入式系统的开发上来,极大减少了开发者对新工具和新环境的学习掌握时间和费用者对新工具和新环境的学习掌握时间和费用6.3.2 Windows CE n 不足之处不足之处 n 内核仍较大,对硬件要求高,消耗资源多,耗电内核仍较大,对硬件要求高,消耗资源多,耗电量大量大n 支持的嵌入式微处