1、嵌入式系统结构嵌入式系统结构计算机系统结构计算机系统结构嵌入式系统结构嵌入式系统结构嵌入式系统组成嵌入式系统组成第第3 3章章 嵌入式系统软件平台嵌入式系统软件平台n嵌入式操作系统概述嵌入式操作系统概述n嵌入式操作系统的体系结构嵌入式操作系统的体系结构n常用嵌入式操作系统常用嵌入式操作系统n嵌入式操作系统的开发嵌入式操作系统的开发n在本质上与通用的操作系统没有太大的区别,一般在本质上与通用的操作系统没有太大的区别,一般用于比较复杂的嵌入式系统中用于比较复杂的嵌入式系统中n手机、手机、PDAPDA等电子类消费产品、机顶盒、路由器等电子类消费产品、机顶盒、路由器等等n对嵌入式系统的硬件有较高的要求
2、对嵌入式系统的硬件有较高的要求n体系结构向微内核方向发展体系结构向微内核方向发展n可伸缩、可移植、可裁剪、可配置可伸缩、可移植、可裁剪、可配置n许多嵌入式操作系统不划分许多嵌入式操作系统不划分“系统空间系统空间”和和“用户用户空间空间”n操作系统的内核与外围应用程序之间不再有物理的边界,操作系统的内核与外围应用程序之间不再有物理的边界,采用静态连接采用静态连接n系统中所谓系统中所谓“进程进程”实际上全都是实际上全都是内核线程内核线程3.1 3.1 嵌入式操作系统概述嵌入式操作系统概述嵌入式操作系统的意义嵌入式操作系统的意义:n 简单嵌入式系统简单嵌入式系统8 8位或位或1616位位CPU CP
3、U,资源量,任务简单,资源量,任务简单程序员自己管理调度程序员自己管理调度CPUCPU资源资源n 复杂嵌入式系统复杂嵌入式系统32/6432/64位位CPU,CPU,资源丰富资源丰富,处理能力强处理能力强,功能需求复杂功能需求复杂 需要采用嵌入式操作系统需要采用嵌入式操作系统:n 管理系统的管理系统的CPUCPU及外围硬件资源及外围硬件资源n 为应用程序提供一个多任务为应用程序提供一个多任务/多线程的编程环境多线程的编程环境和各种应用程序开发接口和各种应用程序开发接口 短时间内开发出功能强大、高效、可靠的系统短时间内开发出功能强大、高效、可靠的系统n嵌入式操作系统嵌入式操作系统EOS(Embe
4、dded Operating System)是一种是一种支持嵌入式系统应用的系统软件支持嵌入式系统应用的系统软件,是嵌入式系统的重要组成部分。是嵌入式系统的重要组成部分。n嵌入式操作系统具有通用操作系统的基本特点,嵌入式操作系统具有通用操作系统的基本特点,能够有效管理复杂的系统资源,完成能够有效管理复杂的系统资源,完成进程管理、进程管理、处理器调度、存储管理、设备管理、中断处理处理器调度、存储管理、设备管理、中断处理等等操作系统任务。操作系统任务。n嵌入式操作系统通常包括与硬件相关的底层驱动嵌入式操作系统通常包括与硬件相关的底层驱动程序、系统内核、设备驱动接口、通信协议、图程序、系统内核、设备
5、驱动接口、通信协议、图形用户界面(形用户界面(GUI)、标准化浏览器等软件模块。)、标准化浏览器等软件模块。嵌入式操作系统的概念嵌入式操作系统的概念n嵌入式操作系统能够把嵌入式操作系统能够把硬件虚拟化硬件虚拟化,使得开发,使得开发人员从繁琐的驱动程序开发、移植和维护中解人员从繁琐的驱动程序开发、移植和维护中解脱出来,能够脱出来,能够提供库函数、驱动程序、工具集提供库函数、驱动程序、工具集以及应用程序以及应用程序。n嵌人式操作系统在嵌人式操作系统在系统系统实时实时高效性、硬件的相高效性、硬件的相关依赖性、软件固态化以及应用的专用性关依赖性、软件固态化以及应用的专用性等方等方面具有较为突出的特点。
6、面具有较为突出的特点。目前,市场上的嵌入式操作系统种类繁多,目前,市场上的嵌入式操作系统种类繁多,如如VxWorks、Nucleus、Windows CE、C/OS、pSOS、Embedded Linux、Palm OS、QNX、OS-9、EPOC、LynxOS等。等。n以下给出各种嵌入式操作系统的常见分类方法。以下给出各种嵌入式操作系统的常见分类方法。嵌入式操作系统的种类嵌入式操作系统的种类1.按实时性能分类按实时性能分类n嵌入式系统按能否满足实时性要求,可分类嵌入式系统按能否满足实时性要求,可分类为为n嵌入式实时系统嵌入式实时系统n嵌入式非实时系统嵌入式非实时系统n这些特性同样适用于嵌入式
7、操作系统这些特性同样适用于嵌入式操作系统 (1)嵌入式实时操作系统嵌入式实时操作系统 (Real-Time Operating System,也称为嵌入式硬实时操作系统也称为嵌入式硬实时操作系统)n 性能特征性能特征n 多任务运行方式多任务运行方式n 真实世界中的事件具有异步特征,能够运行许真实世界中的事件具有异步特征,能够运行许多多并发进程并发进程 n 多任务运行方式则提供了一个较好的相对真实多任务运行方式则提供了一个较好的相对真实世界的匹配,它世界的匹配,它允许多个任务对应于许多外部事允许多个任务对应于许多外部事件的多线程执行件的多线程执行,由,由系统内核分配系统内核分配 CPU 给这多给
8、这多任务来获得并发性任务来获得并发性n 基于优先级的抢占式调度基于优先级的抢占式调度 真实世界的事件可以继承优先级,基于优先级的真实世界的事件可以继承优先级,基于优先级的抢占式调度反映了这一特征抢占式调度反映了这一特征 n 在该调度机制中,任务被指派优先级,在能够执在该调度机制中,任务被指派优先级,在能够执行的任务(没有被挂起或正在等待资源行的任务(没有被挂起或正在等待资源)中,优)中,优先级最高的任务将被分配先级最高的任务将被分配 CPU 资源,也就是说,资源,也就是说,当一个高优先级的任务处于可执行状态时,它立当一个高优先级的任务处于可执行状态时,它立即抢占当前正在运行的较低优先级的任务即
9、抢占当前正在运行的较低优先级的任务n 快速的任务上下文切换快速的任务上下文切换 n 任务上下文切换是指当任务上下文切换是指当处理器的控制权由当前处理器的控制权由当前运行任务转移到另一个任务时其投入运行时所运行任务转移到另一个任务时其投入运行时所发生的事件序列发生的事件序列,包括保存当前运行任务的运,包括保存当前运行任务的运行现场信息、插入相应队列、并依据一定的调行现场信息、插入相应队列、并依据一定的调度算法重新选择一个任务使之投入运行度算法重新选择一个任务使之投入运行 n 快速的任务上下文切换是嵌入式实时操作系统快速的任务上下文切换是嵌入式实时操作系统的重要特征之一的重要特征之一 n 较短的中
10、断延迟时间较短的中断延迟时间 n 中断延迟(中断延迟(Interrupt Latency)时间是指中断)时间是指中断发生到开始执行中断处理程序的时间发生到开始执行中断处理程序的时间 n 较短的最大中断延迟时间也是嵌入式实时操作较短的最大中断延迟时间也是嵌入式实时操作系统的重要特征之一系统的重要特征之一n 典型的嵌入式实时操作系统典型的嵌入式实时操作系统 n VxWorksn pSOSn QNXn Nucleusn C/OS等等(2)嵌入式非实时操作系统嵌入式非实时操作系统 n 又称为又称为“嵌入式软实时操作系统嵌入式软实时操作系统”n 典型代表是嵌入式分时操作系统典型代表是嵌入式分时操作系统n
11、 也是一种多任务操作系统也是一种多任务操作系统n 任务调度采用时间片轮转方式任务调度采用时间片轮转方式 大的任务吞吐量大的任务吞吐量n 典型的嵌入式软实时操作系统典型的嵌入式软实时操作系统 n Windows CEn Palm OSn EPOCn Embedded Linux 2.按购买方式分类按购买方式分类 n 商用型商用型n 免费型免费型(1)商用型嵌入式操作系统商用型嵌入式操作系统 n 特点特点n 功能稳定、可靠功能稳定、可靠n 提供完整方便的开发调试工具提供完整方便的开发调试工具n 配套完善的技术支持和售后服务配套完善的技术支持和售后服务n 但往往价格昂贵但往往价格昂贵n 典型代表典型
12、代表VxWorks、pSOS、QNX、Nucleus、Window CE、Palm OS、EPOC等等(2)免费型嵌入式操作系统免费型嵌入式操作系统 n 特点特点n 在价格方面具有优势在价格方面具有优势 n 一般缺乏完善的集成开发调试工具一般缺乏完善的集成开发调试工具 n 稳定性与服务方面存在挑战稳定性与服务方面存在挑战 n 典型代表典型代表Embedded Linux和和 C/OS3.按源码是否开放分类按源码是否开放分类按源码是否开放(按源码是否开放(Open Source)划分为)划分为 n 开放源码型开放源码型 n 黑箱型黑箱型(1)开放源码型嵌入式操作系统开放源码型嵌入式操作系统 n
13、典型的开放源码型嵌入式操作系统有典型的开放源码型嵌入式操作系统有Embedded Linux和和 C/OSn 商用型嵌入式操作系统商用型嵌入式操作系统Nucleus也出售源代码也出售源代码(2)黑箱型嵌入式操作系统黑箱型嵌入式操作系统 n 大部分商用型嵌入式操作系统为黑箱型嵌入式操作大部分商用型嵌入式操作系统为黑箱型嵌入式操作系统系统 n 例如例如pSOS、Window CE等等 4.按知识产权分类按知识产权分类 按是否拥有自主知识产权划分为按是否拥有自主知识产权划分为 n 国外嵌入式操作系统国外嵌入式操作系统 n 自主知识产权型嵌入式操作系统自主知识产权型嵌入式操作系统(1)国外嵌入式操作系
14、统国外嵌入式操作系统 n 目前国外嵌入式操作系统在嵌入式操作系统市场占目前国外嵌入式操作系统在嵌入式操作系统市场占有较大份额有较大份额 n 常见的有常见的有VxWorks、pSOS、QNX、Nucleus、C/OS、Window CE、Embedded Linux、Palm OS、EPOC等等(2)自主知识产权型嵌入式操作系统自主知识产权型嵌入式操作系统 n Hopen n针对微软的针对微软的“维纳斯计划维纳斯计划”推出的推出的“女娲计划女娲计划”的核心产品,由凯思集团研制开发成功的核心产品,由凯思集团研制开发成功 n运行在运行在32位微处理器上,由一个体积很小的内核位微处理器上,由一个体积很
15、小的内核和一些可以根据需要进行定制的系统模块组成和一些可以根据需要进行定制的系统模块组成 n DeltaOS(中文名为(中文名为“道系统道系统”)n北京科银京成技术有限公司研制开发北京科银京成技术有限公司研制开发 嵌入式操作系统的特征嵌入式操作系统的特征n嵌入式操作系统负责嵌入系统的全部软、嵌入式操作系统负责嵌入系统的全部软、硬件资源的分配、调度工作,控制协调硬件资源的分配、调度工作,控制协调并发活动。嵌入式操作系统体现其所在并发活动。嵌入式操作系统体现其所在系统的特征,能够通过装卸某些模块来系统的特征,能够通过装卸某些模块来达到系统所要求的功能。达到系统所要求的功能。n可定制性可定制性n开放
16、性、可伸缩性的体系结构。开放性、可伸缩性的体系结构。n可移植性可移植性n嵌入式操作系统能够支持多种嵌入式硬件,可以嵌入式操作系统能够支持多种嵌入式硬件,可以应用于不同的嵌入式微处理器。应用于不同的嵌入式微处理器。n强实时性。强实时性。nEOS实时性一般较强,可用于各种设备控制当中。实时性一般较强,可用于各种设备控制当中。n低资源占有性低资源占有性n嵌入式设备的硬件资源有限,一般嵌入式设备的硬件资源有限,一般只配置少量的只配置少量的RAM、频率较低的微处理器、频率较低的微处理器,最小的嵌入式操,最小的嵌入式操作系统内核只有几百千作系统内核只有几百千 字节,在运行期间,内字节,在运行期间,内核能够
17、通过一系列手段释放内存,使应用程序和核能够通过一系列手段释放内存,使应用程序和应用软件得到更多的运行空间。应用软件得到更多的运行空间。n固化代码固化代码n在嵌入系统中,嵌入式操作系统和应用软件在嵌入系统中,嵌入式操作系统和应用软件被被固化在嵌入式系统计算机的固化在嵌入式系统计算机的ROM中。中。n辅助存储器在嵌入式系统中很少使用,因此,辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统。容易地拆卸,而用各种内存文件系统。n强稳定性,弱交互性强稳定性,弱交互性n嵌入式系统一旦开始运行就不需要用户过多
18、嵌入式系统一旦开始运行就不需要用户过多的干预,要求负责系统管理的的干预,要求负责系统管理的EOS具有较强具有较强的稳定性。的稳定性。n嵌入式操作系统的用户接口一般不提供操作嵌入式操作系统的用户接口一般不提供操作命令,它命令,它通过系统调用命令向用户程序提供通过系统调用命令向用户程序提供服务服务。嵌入式操作系统的功能嵌入式操作系统的功能n多任务管理多任务管理n对嵌入式系统中的运行软件进行描述和管理,对嵌入式系统中的运行软件进行描述和管理,并完成处理机资源的分配与调度并完成处理机资源的分配与调度n存储管理存储管理n如何来提高内存的利用率,方便用户的使用,如何来提高内存的利用率,方便用户的使用,并提
19、供足够的存储空间并提供足够的存储空间n设备管理设备管理n方便设备的使用,提高方便设备的使用,提高CPU和输入和输入/输出设输出设备的利用率备的利用率n中断管理中断管理n负责中断的初始化安装、现场的保存和恢复、负责中断的初始化安装、现场的保存和恢复、中断栈的嵌套管理中断栈的嵌套管理嵌入式操作系统的演变嵌入式操作系统的演变10%*Kernel30%*KernelNetworkingFile System75%*KernelNetworkingFile SystemMultiprocessingMemory ManagementNetworking UtilityWindows APIApplica
20、tionApplicationApplicationApplicationKernelNetworkingFile SystemMultiprocessingFault ToleranceDistributed ObjectsAdvanced NetworkingAdvanced InterconnectJavaBrowser/GUI在嵌入式系统的发展过程中,从在嵌入式系统的发展过程中,从操作系统的角度来看,大致经历操作系统的角度来看,大致经历了以下几个阶段:了以下几个阶段:n无操作系统阶段无操作系统阶段n简单操作系统阶段简单操作系统阶段n实时操作系统阶段实时操作系统阶段n面向面向Intern
21、et的阶段的阶段n体系结构是操作系统的基础,它定义了体系结构是操作系统的基础,它定义了硬件与软件的界限、内核与操作系统其硬件与软件的界限、内核与操作系统其它组件(文件、网络、它组件(文件、网络、GUI等)的组织等)的组织关系、系统与应用的接口。关系、系统与应用的接口。n体系结构是确保系统的性能、可靠性、体系结构是确保系统的性能、可靠性、灵活性、可移植性、可扩展性的关键。灵活性、可移植性、可扩展性的关键。3.2 3.2 嵌入式操作系统体系结构嵌入式操作系统体系结构n操作系统是计算机系统的重要组成部分,操作系统是计算机系统的重要组成部分,是用户与计算机系统的接口。在进行操是用户与计算机系统的接口。
22、在进行操作系统设计前,首先要明确操作系统的作系统设计前,首先要明确操作系统的设计目标。设计目标。n嵌入式操作系统是操作系统的一个分支,嵌入式操作系统是操作系统的一个分支,所以设计目标首先应满足一般操作系统所以设计目标首先应满足一般操作系统的设计目标。的设计目标。一般操作系统的设计目标和特点一般操作系统的设计目标和特点n可靠性可靠性n可靠性包含了可靠性包含了正确性和健壮性正确性和健壮性两个方面的含义。两个方面的含义。n影响操作系统正确性的因素有很多,最主要的是并影响操作系统正确性的因素有很多,最主要的是并发、共享以及随之带来的不确定性。发、共享以及随之带来的不确定性。n可靠性包括能在预期的环境条
23、件下完成所期望的功可靠性包括能在预期的环境条件下完成所期望的功能的能力。能的能力。n高效性高效性n操作系统的一个重要目标,是提高系统中各种资源操作系统的一个重要目标,是提高系统中各种资源的利用率,即提高系统的运行效率。的利用率,即提高系统的运行效率。n一个计算机系统在其运行过程中或者处于一个计算机系统在其运行过程中或者处于目态目态,或,或者处于者处于管态管态。处于目态的时候为用户服务,处于管。处于目态的时候为用户服务,处于管态时既可能为用户服务,也可能做系统维护工作。态时既可能为用户服务,也可能做系统维护工作。只能执行非特权指令,访问只能执行非特权指令,访问规定的寄存器和存储区;规定的寄存器和
24、存储区;用户程序运行在用户态用户程序运行在用户态能执行一切指令,访问所有寄存器和能执行一切指令,访问所有寄存器和存储区;操作系统运行在核心态存储区;操作系统运行在核心态n易维护性易维护性n易维护性包括易维护性包括易读性、易扩充性、易剪裁性、易修易读性、易扩充性、易剪裁性、易修改性改性等含义。为了对操作系统实施增、删、改等维等含义。为了对操作系统实施增、删、改等维护操作,必须首先了解系统,为此要求操作系统具护操作,必须首先了解系统,为此要求操作系统具有良好的可读性。有良好的可读性。n可移植性可移植性n可移植性是指把一个程序系统从一个计算机系统环可移植性是指把一个程序系统从一个计算机系统环境中移到
25、另一个计算机系统环境中并能正常运行的境中移到另一个计算机系统环境中并能正常运行的特性。特性。n在操作系统的设计中,影响可移植性的最大因素就在操作系统的设计中,影响可移植性的最大因素就是是系统和计算机硬件有关的部分的处理系统和计算机硬件有关的部分的处理。通常操作。通常操作系统与硬件有关的部分被设计在操作系统程序的底系统与硬件有关的部分被设计在操作系统程序的底层,在进行操作系统的移植时,只需修改操作系统层,在进行操作系统的移植时,只需修改操作系统的底层这一部分。的底层这一部分。n安全性安全性n操作系统的安全性是整个计算机系统安全性的基础,操作系统的安全性是整个计算机系统安全性的基础,它为保护用户的
26、程序和数据提供了最基本的安全机它为保护用户的程序和数据提供了最基本的安全机制。制。n在网络环境中,操作系统的安全性更为重要。在网络环境中,操作系统的安全性更为重要。n简明性简明性n如果一个操作系统没有简明性,那么该操作系统的如果一个操作系统没有简明性,那么该操作系统的设计和开发人员在工作中就很难清晰地了解和掌握设计和开发人员在工作中就很难清晰地了解和掌握该操作系统的设计。该操作系统的设计。n如果一个操作系统缺乏简明性,那么在系统的修改如果一个操作系统缺乏简明性,那么在系统的修改和维护过程中,将会产生许多意想不到的困难。和维护过程中,将会产生许多意想不到的困难。嵌入式操作系统的设计目标和特点嵌入
27、式操作系统的设计目标和特点n低资源占有性低资源占有性n开放性、可伸缩的体系结构开放性、可伸缩的体系结构n高可靠性高可靠性n满足实时性要求满足实时性要求n较强的网络功能较强的网络功能n固化代码功能固化代码功能n操作系统的体系结构问题讨论的操作系统的体系结构问题讨论的是如何把操作系统这一大型软件是如何把操作系统这一大型软件划分成若干较小的划分成若干较小的模块模块以及如何以及如何设计设计模块间接口模块间接口的问题。的问题。通用操作系统的体系结构通用操作系统的体系结构n无序模块结构无序模块结构n分层结构分层结构n虚拟机结构虚拟机结构n客户端客户端/服务器结构服务器结构无序模块结构无序模块结构n采用这种
28、结构的操作系统是一个整块结采用这种结构的操作系统是一个整块结构,内部分为若干模块,每个模块可以构,内部分为若干模块,每个模块可以是一个子程序。模块之间直接相互调用,是一个子程序。模块之间直接相互调用,不分层次,形成不分层次,形成网状调用模式网状调用模式。n在无序模块结构的系统中,为了构造最在无序模块结构的系统中,为了构造最终的目标操作系统程序,开发人员终的目标操作系统程序,开发人员首先首先将一些独立的模块进行编译,然后用链将一些独立的模块进行编译,然后用链接程序将其链接在一起,成为一个单独接程序将其链接在一起,成为一个单独的目标程序的目标程序。n适用于模块比较少的小型系统中。适用于模块比较少的
29、小型系统中。硬硬 件件系统服务系统服务用户态用户态核心态核心态应用程序应用程序应用程序应用程序无序模块结构无序模块结构分层结构分层结构n分层结构操作系统按功能把系统分成若分层结构操作系统按功能把系统分成若干基本模块,再根据模块的作用和相互干基本模块,再根据模块的作用和相互关联分为不同的层次,各层次之间关联分为不同的层次,各层次之间单向单向依赖或单向调用依赖或单向调用。n尽可能地减少各模块间的相互调用,使尽可能地减少各模块间的相互调用,使模块间的模块间的无序无序调用调用变变为为有序有序调用。调用。n操作系统在设计时,可以从最底层,向操作系统在设计时,可以从最底层,向上一层扩充功能,最终形成面向应
30、用层。上一层扩充功能,最终形成面向应用层。硬件硬件基本进程管理基本进程管理虚存管理虚存管理I/OI/O和设备管理和设备管理进程间通信进程间通信文件系统文件系统用户用户用户模式用户模式内核模式内核模式分层结构分层结构优点:优点:n把整体问题局部化把整体问题局部化n把各模块间的组织结构和依赖关系进行把各模块间的组织结构和依赖关系进行了清晰的划分,把原来的无序任意调用了清晰的划分,把原来的无序任意调用变为有序、有组织和有限制的调用变为有序、有组织和有限制的调用n各层之间相对独立,增加或删除某一层各层之间相对独立,增加或删除某一层时,可以不影响其他层,便于系统的修时,可以不影响其他层,便于系统的修改、
31、扩充改、扩充nTHE系统系统n为荷兰制造的为荷兰制造的Electrologica X8计计算机配备的一个简单的算机配备的一个简单的批处理系统批处理系统。虚拟机结构虚拟机结构nVM/370系统系统n一个提供多道程序特性的分时系一个提供多道程序特性的分时系统,一个具有比裸机更方便的、统,一个具有比裸机更方便的、界面扩展的计算机界面扩展的计算机nVM/370系统的核心称作虚拟机监控程系统的核心称作虚拟机监控程序,在裸机上运行并具备多道程序功能,序,在裸机上运行并具备多道程序功能,向上层提供若干台虚拟机。向上层提供若干台虚拟机。nVM/370系统仅仅是裸机的精确复制,系统仅仅是裸机的精确复制,包含核心
32、态包含核心态/用户态、用户态、I/O功能、中断以功能、中断以及真实硬件具有的全部内容。及真实硬件具有的全部内容。n每台虚拟机可以运行裸机能够运行的任每台虚拟机可以运行裸机能够运行的任何操作系统,不同的虚拟机可以运行不何操作系统,不同的虚拟机可以运行不同的操作系统。同的操作系统。客户端客户端/服务器结构服务器结构n运行在核心态的内核运行在核心态的内核n提供所有操作系统基本都具有的操作,一般提供所有操作系统基本都具有的操作,一般采用层次结构采用层次结构设计,构成基本的操作系统,设计,构成基本的操作系统,更多的功能留给进程层去实现。更多的功能留给进程层去实现。n运行在用户态运行在用户态并以客户端并以
33、客户端/服务器方式运服务器方式运行行的进程层的进程层。n进程层分为服务器进程和客户端进程。每个进程层分为服务器进程和客户端进程。每个服务进程间相互独立,各自实现一组服务;服务进程间相互独立,各自实现一组服务;客户端进程可以是一个应用程序,也可以是客户端进程可以是一个应用程序,也可以是另外一个服务进程。另外一个服务进程。硬硬 件件进程服务进程服务用户态用户态核心态核心态应用程序客户应用程序客户内存服务内存服务微内核微内核文件服务文件服务网络服务网络服务显示服务显示服务发送发送应答应答客户端客户端/服务器结构服务器结构(微内核结构)(微内核结构)n运行方式:运行方式:n为了获取某项服务,用户进程将
34、此请为了获取某项服务,用户进程将此请求以消息的方式发送给一个服务器进求以消息的方式发送给一个服务器进程,但服务器进程并不能直接收到客程,但服务器进程并不能直接收到客户端发送的消息,因为每个进程属于户端发送的消息,因为每个进程属于不同的地址空间,它们不能直接进行不同的地址空间,它们不能直接进行通信。通信。消息先发送给内核,内核再将消息先发送给内核,内核再将消息发给服务器进程,服务器进程执消息发给服务器进程,服务器进程执行相应的操作后,其结果又通过内核行相应的操作后,其结果又通过内核以消息的方式返回给用户进程。以消息的方式返回给用户进程。优点:优点:n强的可靠性强的可靠性n适用于分布式系统适用于分
35、布式系统n性能问题:性能问题:n通过微内核构造和发送信息、接通过微内核构造和发送信息、接受应答并解码所花费的时间比进受应答并解码所花费的时间比进行一次系统调用的时间多行一次系统调用的时间多n很大程度取决于微内核的大小和很大程度取决于微内核的大小和功能功能嵌入式操作系统体系结构嵌入式操作系统体系结构n目前嵌入式操作系统主要采用分层和模块目前嵌入式操作系统主要采用分层和模块化相结合的结构或微内核结构。化相结合的结构或微内核结构。n分层和模块化结合的结构将操作系统分分层和模块化结合的结构将操作系统分为硬件无关层、硬件抽象层和硬件相关为硬件无关层、硬件抽象层和硬件相关层,每层再划分功能模块。层,每层再
36、划分功能模块。n移植工作集中在硬件相关层,与其余两移植工作集中在硬件相关层,与其余两层无关,功能的伸缩集中在模块上,从层无关,功能的伸缩集中在模块上,从而确保其具有良好的可移植性和可伸缩而确保其具有良好的可移植性和可伸缩性。性。n采用微内核结构,则可利用其可伸缩的采用微内核结构,则可利用其可伸缩的特点适应硬件的发展,便于扩展。特点适应硬件的发展,便于扩展。n中间件和设备驱动程序通中间件和设备驱动程序通常集成在系统内核中。常集成在系统内核中。n整个系统只有一个可执行整个系统只有一个可执行文件,里面包含了所有的文件,里面包含了所有的功能组件。功能组件。n系统的结构就是无结构,系统的结构就是无结构,
37、整个操作系统由一组功能整个操作系统由一组功能模块组成,这些功能模块模块组成,这些功能模块之间可以相互调用。之间可以相互调用。n性能较好,系统的各个模块性能较好,系统的各个模块之间可以相互调用,通信开之间可以相互调用,通信开销比较小销比较小n体积庞大,高度集成,相互体积庞大,高度集成,相互关联,在系统剪裁、修改和关联,在系统剪裁、修改和调试等方面较为困难调试等方面较为困难单体结构单体结构n操作系统被划分为若操作系统被划分为若干个层次(干个层次(0N),各个层次之间的调,各个层次之间的调用关系是用关系是单向的单向的。n系统的开发和维护系统的开发和维护较为简单较为简单n开销比较大,影响开销比较大,影
38、响系统的规模和性能系统的规模和性能分层结构分层结构n微内核结构的操微内核结构的操作系统是指在内作系统是指在内核当中,把操作核当中,把操作系统的大部分功系统的大部分功能都剥离出去,能都剥离出去,只保留最核心的只保留最核心的功能单元功能单元。n易于扩展、调试易于扩展、调试方便、移植性好方便、移植性好n运行速度比较慢运行速度比较慢微内核结构微内核结构n内核比通用操作系统更小,将更多的功能放内核比通用操作系统更小,将更多的功能放在外部进程实现在外部进程实现n大多数嵌入式操作系统采用了微内核的结构,内大多数嵌入式操作系统采用了微内核的结构,内核只提供最基本的功能。核只提供最基本的功能。n采用模块化的设计
39、,使系统可配置性增强采用模块化的设计,使系统可配置性增强n嵌入式操作系统一般都采用模块化的结构设计,嵌入式操作系统一般都采用模块化的结构设计,是一个可配置的软件模块集。是一个可配置的软件模块集。n从结构设计上要使平台独立性更强,系统易从结构设计上要使平台独立性更强,系统易于向其他平台移植于向其他平台移植n从处理器到目标机,嵌入式操作系统面临的是一从处理器到目标机,嵌入式操作系统面临的是一个多变的硬件环境。个多变的硬件环境。结构设计:结构设计:n系统体系结构系统体系结构n对不同处理器的支持,实现包括编码差异和对不同处理器的支持,实现包括编码差异和指令系统定向的支持一般设计在指令系统定向的支持一般
40、设计在CSP层层n驱动程序驱动程序n实现对不同目标机主板的支持,一般设计在实现对不同目标机主板的支持,一般设计在BSP层层nBSP按照给定的编程规范来完成,保证了嵌按照给定的编程规范来完成,保证了嵌入式操作系统可以在新推出的微处理器硬件入式操作系统可以在新推出的微处理器硬件平台上运行。平台上运行。硬件抽象层接口的定义和代码设计特点:硬件抽象层接口的定义和代码设计特点:n硬件抽象层具有硬件抽象层具有与硬件密切相关性与硬件密切相关性n硬件抽象层具有硬件抽象层具有与操作系统无关性与操作系统无关性n接口定义的功能应包含硬件或系统所需硬件支持接口定义的功能应包含硬件或系统所需硬件支持的所有功能的所有功能
41、n接口定义简单明了,太多接口函数会增加软件模接口定义简单明了,太多接口函数会增加软件模拟的复杂性拟的复杂性n具有具有可测性的接口可测性的接口设计有利于系统的软设计有利于系统的软/硬件测试硬件测试和集成。和集成。应用程序应用程序任务管理任务管理硬硬 件件用户扩展处理用户扩展处理调度管理调度管理硬件抽象层硬件抽象层应用编程接口应用编程接口内存管理内存管理中断管理中断管理时钟时钟/定时器管理定时器管理I/OI/O管理管理出错处理出错处理同步、通信管理(消息队列,信号量,事件同步、通信管理(消息队列,信号量,事件,异步信号,异步信号))DeltaCORE的体系结构:层次模块结构的体系结构:层次模块结构
42、分分层层次次模模块块化化用户模式用户模式应用应用应用应用应用应用网络管理器网络管理器图形管理器图形管理器设备管理器设备管理器文件系统管理器文件系统管理器网络驱动网络驱动图形驱动图形驱动设备驱动设备驱动文件系统驱动文件系统驱动硬硬件件内核模式内核模式 内核(微内核)内核(微内核)QNX4.25的体系结构:客户的体系结构:客户/服务器结构服务器结构Windows CE.NET Windows CE.NET 操作系统模型操作系统模型n什么是什么是Windows CE.NETn适于嵌入式产品的、小映像尺寸的、适于嵌入式产品的、小映像尺寸的、32位实位实时,多任务,抢占式嵌入式操作系统。时,多任务,抢占
43、式嵌入式操作系统。nWin32 API子集子集n高度组件化和可配置高度组件化和可配置n对标准硬件和特定硬件都可定制对标准硬件和特定硬件都可定制n设计目标:设计目标:n适应小型系统适应小型系统n支持多种处理器和计算机结构,并支持多种支持多种处理器和计算机结构,并支持多种设备接口设备接口n遵循遵循Windows平台的应用开发规范平台的应用开发规范n操作系统各部分模块化,可选择定制操作系统各部分模块化,可选择定制n提供网络通信、图形用户界面、数据库、文提供网络通信、图形用户界面、数据库、文件系统等支持件系统等支持n支持高要求的实时应用支持高要求的实时应用n提供高级电源管理提供高级电源管理n特点:特点
44、:n灵活的电源管理功能,包括睡眠灵活的电源管理功能,包括睡眠/唤醒模式唤醒模式n使用了对象存储技术,包括文件系统、注册使用了对象存储技术,包括文件系统、注册表及数据库表及数据库n良好的通信能力良好的通信能力n256个中断优先级别,支持嵌套个中断优先级别,支持嵌套n更好的线程响应能力更好的线程响应能力n出色的图形界面出色的图形界面n多任务处理能力多任务处理能力n内置的多媒体处理功能内置的多媒体处理功能n系统模型系统模型n分层模型分层模型n组件模型组件模型n迁移模型迁移模型n应用迁移模型应用迁移模型n系统迁移模型系统迁移模型分层模型分层模型n从接口的角度讲,从接口的角度讲,Windows CE.N
45、ET具备具备面向应用开面向应用开发和面向系统发和面向系统两个界面。两个界面。n有一个层次实现硬件特点与操作系统本身特性的隔离,有一个层次实现硬件特点与操作系统本身特性的隔离,以便于实现系统的移植。以便于实现系统的移植。n底层是具体的硬件设备,顶层是具体的应用程序。底层是具体的硬件设备,顶层是具体的应用程序。组件模型组件模型OEM层模块:层模块:nOAL模块模块n包括和硬件相关的功能包括和硬件相关的功能n引导程序引导程序n负责将操作系统核心调入内存负责将操作系统核心调入内存n配置文件配置文件n根据不同硬件系统的特点,进行相关文件的配置根据不同硬件系统的特点,进行相关文件的配置n驱动程序驱动程序n
46、使操作系统能驱动不同的硬件,既而实现了操作系统使操作系统能驱动不同的硬件,既而实现了操作系统与具体硬件的分离与具体硬件的分离操作系统层模块操作系统层模块nCoreDLLn对外部调用系统功能进行代理,实现系统对外部调用系统功能进行代理,实现系统API的管理和按名调用的管理和按名调用n实现字符串处理、随机数生成、时间计算等实现字符串处理、随机数生成、时间计算等基本支持函数基本支持函数n核心核心nWindows CE.NET操作系统的核心在系统操作系统的核心在系统运行时体现为运行时体现为nk.exe,一个占用空间很小的,一个占用空间很小的核心文件核心文件n设备管理模块设备管理模块nWindows C
47、E.NET操作系统对设备进行管理的操作系统对设备进行管理的核心模块,运行时表现为核心模块,运行时表现为device.exe。n提供基本的设备列表管理、即插即用管理、提供基本的设备列表管理、即插即用管理、I/O资源管理以及设备驱动程序工作的基本机制资源管理以及设备驱动程序工作的基本机制n图形窗口和事件系统模块图形窗口和事件系统模块nWindows CE.NET与微软通用桌面操作系统区与微软通用桌面操作系统区别较大的一个模块,运行时表现为别较大的一个模块,运行时表现为gwes.exe。n实现基本的绘图引擎、窗口管理、界面的事件实现基本的绘图引擎、窗口管理、界面的事件机制机制n通信和网络服务模块通信
48、和网络服务模块n在在Windows CE.NET操作系统中是相对最为操作系统中是相对最为独立的一个模块独立的一个模块n完成完成Windows CE.NET操作系统与外界网络操作系统与外界网络的通信功能,为操作系统上层提供网络服务的通信功能,为操作系统上层提供网络服务n对象存储模块对象存储模块n对象存储是指对象存储是指Windows CE.NET的存储内存的存储内存空间。空间。n包括三种类型的数据:包括三种类型的数据:Windows CE.NET文文件系统,包括数据文件和程序、系统注册表、件系统,包括数据文件和程序、系统注册表、Windows CE.NET数据库数据库n应用和服务开发模块应用和服
49、务开发模块n包括包括WIN32系统服务模块系统服务模块nWindows CE.NET对应用程序的对应用程序的接口接口n在应用开发和服务开发时,系统在应用开发和服务开发时,系统利用这一模块完成开发者的系统利用这一模块完成开发者的系统调用。调用。系统模型n应用迁移模型应用迁移模型n系统迁移模型系统迁移模型3.3 3.3 常用嵌入式操作系统常用嵌入式操作系统n嵌入式实时操作系统嵌入式实时操作系统n嵌入式软实时操作系统嵌入式软实时操作系统嵌入式实时操作系统嵌入式实时操作系统 n VxWorks n pSOSn C/OSVxWorks VxWorks 1VxWorks概述概述 n 美国美国Wind Ri
50、ver公司于公司于1983年设计开发年设计开发n 高实时性和稳定性的微内核高实时性和稳定性的微内核、友好的用户开发环境、友好的用户开发环境、良好的持、良好的持续发展能力续发展能力,全球商用市场占有量排名第一,全球商用市场占有量排名第一 n 广泛应用于通信、军事、航空、航天等高精尖技术及实时性要广泛应用于通信、军事、航空、航天等高精尖技术及实时性要求高的工业控制领域求高的工业控制领域n 美国美国F-16、FA-18战斗机、战斗机、B-2 隐形轰炸机和爱国者导弹上隐形轰炸机和爱国者导弹上 n 1997年和年和2004年两次在火星表面登陆的火星探测器年两次在火星表面登陆的火星探测器 n 商业用户包括
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。