嵌入式系统软件平台.ppt
《嵌入式系统软件平台.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统软件平台.ppt(240页珍藏版)》请在三一办公上搜索。
1、嵌入式系统结构,计算机系统结构,嵌入式系统结构,嵌入式系统组成,第3章 嵌入式系统软件平台,嵌入式操作系统概述嵌入式操作系统的体系结构常用嵌入式操作系统嵌入式操作系统的开发,在本质上与通用的操作系统没有太大的区别,一般用于比较复杂的嵌入式系统中手机、PDA等电子类消费产品、机顶盒、路由器等对嵌入式系统的硬件有较高的要求体系结构向微内核方向发展可伸缩、可移植、可裁剪、可配置许多嵌入式操作系统不划分“系统空间”和“用户空间”操作系统的内核与外围应用程序之间不再有物理的边界,采用静态连接系统中所谓“进程”实际上全都是内核线程,3.1 嵌入式操作系统概述,嵌入式操作系统的意义:简单嵌入式系统8位或16
2、位CPU,资源量,任务简单程序员自己管理调度CPU资源,复杂嵌入式系统32/64位CPU,资源丰富,处理能力强,功能需求复杂 需要采用嵌入式操作系统:管理系统的CPU及外围硬件资源 为应用程序提供一个多任务/多线程的编程环境和各种应用程序开发接口 短时间内开发出功能强大、高效、可靠的系统,嵌入式操作系统EOS(Embedded Operating System)是一种支持嵌入式系统应用的系统软件,是嵌入式系统的重要组成部分。嵌入式操作系统具有通用操作系统的基本特点,能够有效管理复杂的系统资源,完成进程管理、处理器调度、存储管理、设备管理、中断处理等操作系统任务。嵌入式操作系统通常包括与硬件相关
3、的底层驱动程序、系统内核、设备驱动接口、通信协议、图形用户界面(GUI)、标准化浏览器等软件模块。,嵌入式操作系统的概念,嵌入式操作系统能够把硬件虚拟化,使得开发人员从繁琐的驱动程序开发、移植和维护中解脱出来,能够提供库函数、驱动程序、工具集以及应用程序。嵌人式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。,目前,市场上的嵌入式操作系统种类繁多,如VxWorks、Nucleus、Windows CE、C/OS、pSOS、Embedded Linux、Palm OS、QNX、OS-9、EPOC、LynxOS等。以下给出各种嵌入式操作系统的常见分类
4、方法。,嵌入式操作系统的种类,1.按实时性能分类嵌入式系统按能否满足实时性要求,可分类为嵌入式实时系统嵌入式非实时系统这些特性同样适用于嵌入式操作系统,(1)嵌入式实时操作系统(Real-Time Operating System,也称为嵌入式硬实时操作系统),性能特征 多任务运行方式 真实世界中的事件具有异步特征,能够运行许多并发进程 多任务运行方式则提供了一个较好的相对真实世界的匹配,它允许多个任务对应于许多外部事件的多线程执行,由系统内核分配 CPU 给这多任务来获得并发性,基于优先级的抢占式调度 真实世界的事件可以继承优先级,基于优先级的抢占式调度反映了这一特征 在该调度机制中,任务被
5、指派优先级,在能够执行的任务(没有被挂起或正在等待资源)中,优先级最高的任务将被分配 CPU 资源,也就是说,当一个高优先级的任务处于可执行状态时,它立即抢占当前正在运行的较低优先级的任务,快速的任务上下文切换 任务上下文切换是指当处理器的控制权由当前运行任务转移到另一个任务时其投入运行时所发生的事件序列,包括保存当前运行任务的运行现场信息、插入相应队列、并依据一定的调度算法重新选择一个任务使之投入运行 快速的任务上下文切换是嵌入式实时操作系统的重要特征之一,较短的中断延迟时间 中断延迟(Interrupt Latency)时间是指中断发生到开始执行中断处理程序的时间 较短的最大中断延迟时间也
6、是嵌入式实时操作系统的重要特征之一,典型的嵌入式实时操作系统 VxWorks pSOS QNX Nucleus C/OS等,(2)嵌入式非实时操作系统 又称为“嵌入式软实时操作系统”典型代表是嵌入式分时操作系统 也是一种多任务操作系统 任务调度采用时间片轮转方式 大的任务吞吐量,典型的嵌入式软实时操作系统 Windows CE Palm OS EPOC Embedded Linux,2.按购买方式分类 商用型 免费型,(1)商用型嵌入式操作系统 特点 功能稳定、可靠 提供完整方便的开发调试工具 配套完善的技术支持和售后服务 但往往价格昂贵 典型代表VxWorks、pSOS、QNX、Nucleu
7、s、Window CE、Palm OS、EPOC等,(2)免费型嵌入式操作系统 特点 在价格方面具有优势 一般缺乏完善的集成开发调试工具 稳定性与服务方面存在挑战 典型代表Embedded Linux和C/OS,3.按源码是否开放分类按源码是否开放(Open Source)划分为 开放源码型 黑箱型,(1)开放源码型嵌入式操作系统 典型的开放源码型嵌入式操作系统有Embedded Linux和C/OS 商用型嵌入式操作系统Nucleus也出售源代码(2)黑箱型嵌入式操作系统 大部分商用型嵌入式操作系统为黑箱型嵌入式操作系统 例如pSOS、Window CE等,4.按知识产权分类 按是否拥有自主
8、知识产权划分为 国外嵌入式操作系统 自主知识产权型嵌入式操作系统,(1)国外嵌入式操作系统 目前国外嵌入式操作系统在嵌入式操作系统市场占有较大份额 常见的有VxWorks、pSOS、QNX、Nucleus、C/OS、Window CE、Embedded Linux、Palm OS、EPOC等,(2)自主知识产权型嵌入式操作系统 Hopen 针对微软的“维纳斯计划”推出的“女娲计划”的核心产品,由凯思集团研制开发成功 运行在32位微处理器上,由一个体积很小的内核和一些可以根据需要进行定制的系统模块组成 DeltaOS(中文名为“道系统”)北京科银京成技术有限公司研制开发,嵌入式操作系统的特征,嵌
9、入式操作系统负责嵌入系统的全部软、硬件资源的分配、调度工作,控制协调并发活动。嵌入式操作系统体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。,可定制性开放性、可伸缩性的体系结构。可移植性嵌入式操作系统能够支持多种嵌入式硬件,可以应用于不同的嵌入式微处理器。强实时性。EOS实时性一般较强,可用于各种设备控制当中。低资源占有性嵌入式设备的硬件资源有限,一般只配置少量的RAM、频率较低的微处理器,最小的嵌入式操作系统内核只有几百千 字节,在运行期间,内核能够通过一系列手段释放内存,使应用程序和应用软件得到更多的运行空间。,固化代码在嵌入系统中,嵌入式操作系统和应用软件被固化在嵌入式
10、系统计算机的ROM中。辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统。强稳定性,弱交互性嵌入式系统一旦开始运行就不需要用户过多的干预,要求负责系统管理的EOS具有较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统调用命令向用户程序提供服务。,嵌入式操作系统的功能,多任务管理对嵌入式系统中的运行软件进行描述和管理,并完成处理机资源的分配与调度存储管理如何来提高内存的利用率,方便用户的使用,并提供足够的存储空间设备管理方便设备的使用,提高CPU和输入/输出设备的利用率中断管理负责中断的初始化安装、现场的保存和恢复、中
11、断栈的嵌套管理,嵌入式操作系统的演变,*Percent of total software supplied by RTOS vendor in a typical embedded device,Application,Application,Application,Application,在嵌入式系统的发展过程中,从操作系统的角度来看,大致经历了以下几个阶段:无操作系统阶段简单操作系统阶段实时操作系统阶段面向Internet的阶段,体系结构是操作系统的基础,它定义了硬件与软件的界限、内核与操作系统其它组件(文件、网络、GUI等)的组织关系、系统与应用的接口。体系结构是确保系统的性能、可靠性
12、、灵活性、可移植性、可扩展性的关键。,3.2 嵌入式操作系统体系结构,操作系统是计算机系统的重要组成部分,是用户与计算机系统的接口。在进行操作系统设计前,首先要明确操作系统的设计目标。嵌入式操作系统是操作系统的一个分支,所以设计目标首先应满足一般操作系统的设计目标。,一般操作系统的设计目标和特点,可靠性可靠性包含了正确性和健壮性两个方面的含义。影响操作系统正确性的因素有很多,最主要的是并发、共享以及随之带来的不确定性。可靠性包括能在预期的环境条件下完成所期望的功能的能力。高效性操作系统的一个重要目标,是提高系统中各种资源的利用率,即提高系统的运行效率。一个计算机系统在其运行过程中或者处于目态,
13、或者处于管态。处于目态的时候为用户服务,处于管态时既可能为用户服务,也可能做系统维护工作。,只能执行非特权指令,访问规定的寄存器和存储区;用户程序运行在用户态,能执行一切指令,访问所有寄存器和存储区;操作系统运行在核心态,易维护性易维护性包括易读性、易扩充性、易剪裁性、易修改性等含义。为了对操作系统实施增、删、改等维护操作,必须首先了解系统,为此要求操作系统具有良好的可读性。可移植性可移植性是指把一个程序系统从一个计算机系统环境中移到另一个计算机系统环境中并能正常运行的特性。在操作系统的设计中,影响可移植性的最大因素就是系统和计算机硬件有关的部分的处理。通常操作系统与硬件有关的部分被设计在操作
14、系统程序的底层,在进行操作系统的移植时,只需修改操作系统的底层这一部分。,安全性操作系统的安全性是整个计算机系统安全性的基础,它为保护用户的程序和数据提供了最基本的安全机制。在网络环境中,操作系统的安全性更为重要。简明性如果一个操作系统没有简明性,那么该操作系统的设计和开发人员在工作中就很难清晰地了解和掌握该操作系统的设计。如果一个操作系统缺乏简明性,那么在系统的修改和维护过程中,将会产生许多意想不到的困难。,嵌入式操作系统的设计目标和特点,低资源占有性开放性、可伸缩的体系结构高可靠性满足实时性要求较强的网络功能固化代码功能,操作系统的体系结构问题讨论的是如何把操作系统这一大型软件划分成若干较
15、小的模块以及如何设计模块间接口的问题。,通用操作系统的体系结构,无序模块结构分层结构虚拟机结构客户端/服务器结构,无序模块结构,采用这种结构的操作系统是一个整块结构,内部分为若干模块,每个模块可以是一个子程序。模块之间直接相互调用,不分层次,形成网状调用模式。在无序模块结构的系统中,为了构造最终的目标操作系统程序,开发人员首先将一些独立的模块进行编译,然后用链接程序将其链接在一起,成为一个单独的目标程序。适用于模块比较少的小型系统中。,硬 件,系统服务,用户态,核心态,应用程序,应用程序,无序模块结构,分层结构,分层结构操作系统按功能把系统分成若干基本模块,再根据模块的作用和相互关联分为不同的
16、层次,各层次之间单向依赖或单向调用。尽可能地减少各模块间的相互调用,使模块间的无序调用变为有序调用。操作系统在设计时,可以从最底层,向上一层扩充功能,最终形成面向应用层。,分层结构,优点:把整体问题局部化把各模块间的组织结构和依赖关系进行了清晰的划分,把原来的无序任意调用变为有序、有组织和有限制的调用各层之间相对独立,增加或删除某一层时,可以不影响其他层,便于系统的修改、扩充,THE系统为荷兰制造的Electrologica X8计算机配备的一个简单的批处理系统。,虚拟机结构,VM/370系统一个提供多道程序特性的分时系统,一个具有比裸机更方便的、界面扩展的计算机,VM/370系统的核心称作虚
17、拟机监控程序,在裸机上运行并具备多道程序功能,向上层提供若干台虚拟机。VM/370系统仅仅是裸机的精确复制,包含核心态/用户态、I/O功能、中断以及真实硬件具有的全部内容。每台虚拟机可以运行裸机能够运行的任何操作系统,不同的虚拟机可以运行不同的操作系统。,客户端/服务器结构,运行在核心态的内核提供所有操作系统基本都具有的操作,一般采用层次结构设计,构成基本的操作系统,更多的功能留给进程层去实现。运行在用户态并以客户端/服务器方式运行的进程层。进程层分为服务器进程和客户端进程。每个服务进程间相互独立,各自实现一组服务;客户端进程可以是一个应用程序,也可以是另外一个服务进程。,硬 件,进程服务,用
18、户态,核心态,应用程序客户,内存服务,微内核,文件服务,网络服务,显示服务,发送,应答,客户端/服务器结构(微内核结构),运行方式:为了获取某项服务,用户进程将此请求以消息的方式发送给一个服务器进程,但服务器进程并不能直接收到客户端发送的消息,因为每个进程属于不同的地址空间,它们不能直接进行通信。消息先发送给内核,内核再将消息发给服务器进程,服务器进程执行相应的操作后,其结果又通过内核以消息的方式返回给用户进程。,优点:强的可靠性适用于分布式系统,性能问题:通过微内核构造和发送信息、接受应答并解码所花费的时间比进行一次系统调用的时间多很大程度取决于微内核的大小和功能,嵌入式操作系统体系结构,目
19、前嵌入式操作系统主要采用分层和模块化相结合的结构或微内核结构。分层和模块化结合的结构将操作系统分为硬件无关层、硬件抽象层和硬件相关层,每层再划分功能模块。移植工作集中在硬件相关层,与其余两层无关,功能的伸缩集中在模块上,从而确保其具有良好的可移植性和可伸缩性。采用微内核结构,则可利用其可伸缩的特点适应硬件的发展,便于扩展。,中间件和设备驱动程序通常集成在系统内核中。整个系统只有一个可执行文件,里面包含了所有的功能组件。系统的结构就是无结构,整个操作系统由一组功能模块组成,这些功能模块之间可以相互调用。性能较好,系统的各个模块之间可以相互调用,通信开销比较小体积庞大,高度集成,相互关联,在系统剪
20、裁、修改和调试等方面较为困难,单体结构,操作系统被划分为若干个层次(0N),各个层次之间的调用关系是单向的。系统的开发和维护较为简单开销比较大,影响系统的规模和性能,分层结构,微内核结构的操作系统是指在内核当中,把操作系统的大部分功能都剥离出去,只保留最核心的功能单元。易于扩展、调试方便、移植性好运行速度比较慢,微内核结构,内核比通用操作系统更小,将更多的功能放在外部进程实现大多数嵌入式操作系统采用了微内核的结构,内核只提供最基本的功能。采用模块化的设计,使系统可配置性增强嵌入式操作系统一般都采用模块化的结构设计,是一个可配置的软件模块集。从结构设计上要使平台独立性更强,系统易于向其他平台移植
21、从处理器到目标机,嵌入式操作系统面临的是一个多变的硬件环境。,结构设计:系统体系结构对不同处理器的支持,实现包括编码差异和指令系统定向的支持一般设计在CSP层驱动程序实现对不同目标机主板的支持,一般设计在BSP层BSP按照给定的编程规范来完成,保证了嵌入式操作系统可以在新推出的微处理器硬件平台上运行。,硬件抽象层接口的定义和代码设计特点:硬件抽象层具有与硬件密切相关性硬件抽象层具有与操作系统无关性接口定义的功能应包含硬件或系统所需硬件支持的所有功能接口定义简单明了,太多接口函数会增加软件模拟的复杂性具有可测性的接口设计有利于系统的软/硬件测试和集成。,应用程序,任务管理,硬 件,用户扩展处理,
22、调度管理,硬件抽象层,应用编程接口,内存管理,中断管理,时钟/定时器管理,I/O管理,出错处理,同步、通信管理(消息队列,信号量,事件,异步信号)),DeltaCORE的体系结构:层次模块结构,分层次,模块化,用户模式,应用,应用,应用,网络管理器,图形管理器,设备管理器,文件系统管理器,网络驱动,图形驱动,设备驱动,文件系统驱动,硬件,内核模式 内核(微内核),QNX4.25的体系结构:客户/服务器结构,Windows CE.NET 操作系统模型,什么是Windows CE.NET适于嵌入式产品的、小映像尺寸的、32位实时,多任务,抢占式嵌入式操作系统。Win32 API子集高度组件化和可配
23、置对标准硬件和特定硬件都可定制,设计目标:适应小型系统支持多种处理器和计算机结构,并支持多种设备接口遵循Windows平台的应用开发规范操作系统各部分模块化,可选择定制提供网络通信、图形用户界面、数据库、文件系统等支持支持高要求的实时应用提供高级电源管理,特点:灵活的电源管理功能,包括睡眠/唤醒模式使用了对象存储技术,包括文件系统、注册表及数据库良好的通信能力256个中断优先级别,支持嵌套更好的线程响应能力出色的图形界面多任务处理能力内置的多媒体处理功能,系统模型分层模型组件模型迁移模型应用迁移模型系统迁移模型,分层模型,从接口的角度讲,Windows CE.NET具备面向应用开发和面向系统两
24、个界面。有一个层次实现硬件特点与操作系统本身特性的隔离,以便于实现系统的移植。底层是具体的硬件设备,顶层是具体的应用程序。,组件模型,OEM层模块:OAL模块包括和硬件相关的功能引导程序负责将操作系统核心调入内存配置文件根据不同硬件系统的特点,进行相关文件的配置驱动程序使操作系统能驱动不同的硬件,既而实现了操作系统与具体硬件的分离,操作系统层模块CoreDLL对外部调用系统功能进行代理,实现系统API的管理和按名调用实现字符串处理、随机数生成、时间计算等基本支持函数核心Windows CE.NET操作系统的核心在系统运行时体现为nk.exe,一个占用空间很小的核心文件,设备管理模块Window
25、s CE.NET操作系统对设备进行管理的核心模块,运行时表现为device.exe。提供基本的设备列表管理、即插即用管理、I/O资源管理以及设备驱动程序工作的基本机制图形窗口和事件系统模块Windows CE.NET与微软通用桌面操作系统区别较大的一个模块,运行时表现为gwes.exe。实现基本的绘图引擎、窗口管理、界面的事件机制,通信和网络服务模块在Windows CE.NET操作系统中是相对最为独立的一个模块完成Windows CE.NET操作系统与外界网络的通信功能,为操作系统上层提供网络服务对象存储模块对象存储是指Windows CE.NET的存储内存空间。包括三种类型的数据:Wind
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统软件 平台

链接地址:https://www.31ppt.com/p-6415035.html