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