Chapter3-嵌入式软件系统基_第1页
Chapter3-嵌入式软件系统基_第2页
Chapter3-嵌入式软件系统基_第3页
Chapter3-嵌入式软件系统基_第4页
Chapter3-嵌入式软件系统基_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章

嵌入式系统的软件基础主要内容嵌入式软件系统概述嵌入式实时操作系统简介常用的嵌入式操作系统概述第一节

嵌入式软件系统概述软件系统嵌入式软件系统的体系结构嵌入式软件运行流程软件系统软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。其中:程序是按照事先设计的功能和性能要求执行的指令序列;数据是程序能正常操纵信息的数据结构;文档是与程序开发维护和使用有关的各种图文资料。软件系统软件是一种逻辑实体,具有抽象性。

这个特点使它与其它工程对象有着明显的差异。人们可以把它记录在纸上、内存、和磁盘、光盘上,但却无法看到软件本身的形态,必须通过观察、分析、思考、判断,才能了解它的功能、性能等特性。

软件产品的特性软件没有明显的制造过程。一旦研制开发成功,就可以大量拷贝同一内容的副本。所以对软件的质量控制,必须着重在软件开发方面下工夫。软件在使用过程中,没有磨损、老化的问题。软件在生存周期后期不会因为磨损而老化,但会为了适应硬件、环境以及需求的变化而进行修改,而这些修改有不可避免的引入错误,导致软件失效率升高,从而使的软件退化。当修改的成本变得难以接受时,软件就被抛弃。软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问题。软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低。软件是复杂的,而且以后会更加复杂。软件是人类有史以来生产的复杂度最高的工业产品。软件涉及人类社会的各行各业、方方面面,软件开发常常涉及其它领域的专门知识,这对软件工程师提出了很高的要求。软件的成本相当昂贵。软件开发需要投入大量、高强度的脑力劳动,成本非常高,风险也大。现在软件的开销已大大超过了硬件的开销。软件工作牵涉到很多社会因素。许多软件的开发和运行涉及机构、体制和管理方式等问题,还会涉及到人们的观念和心理。这些人的因素,常常成为软件开发的困难所在,直接影响到项目的成败。3.1.1嵌入式软件系统的体系结构硬件应用层驱动层操作系统层中间件层板级初始化FLASH驱动RTC/定时器驱动串口驱动以太网驱动LCD

驱动键盘驱动其他驱动内核TCP/IP网络系统文件系统嵌入式GUI电源管理嵌入式CORBA嵌入式JAVA嵌入式DCOM面向应用领域的中间件应用任务1应用任务2……应用任务n嵌入式软件系统的体系结构(1)驱动层(BSP)

驱动层是直接与硬件打交道的一层,它对操作系统和应用提供所需的驱动的支持。该层主要包括三种类型的程序。板级初始化程序这些程序在嵌入式系统上电后初始化系统的硬件环境,包括嵌入式微处理器、存储器、中断控制器、DMA、定时器等的初始化。(网络?)与系统软件相关的驱动这类驱动是操作系统和中间件等系统软件所需的驱动程序,它们的开发要按照系统软件的要求进行。目前操作系统内核所需的硬件支持一般都已集成在嵌入式微处理器中了,因此操作系统厂商提供的内核驱动一般不用修改。与应用软件相关的驱动

与应用软件相关的驱动不一定需要与操作系统连接,这些驱动的设计和开发由应用决定。嵌入式软件系统的体系结构(2)操作系统层操作系统层包括嵌入式内核、嵌入式TCP/IP网络系统、嵌入式文件系统、嵌入式GUI系统和电源管理等部分。其中嵌入式内核是基础和必备的部分,其他部分要根据嵌入式系统的需要来确定。嵌入式软件系统的体系结构(3)中间件层目前在一些复杂的嵌入式系统中也开始采用中间件技术,主要包括嵌入式CORBA、嵌入式Java、嵌入式DCOM和面向应用领域的中间件软件。如基于嵌入式CORBA的应用于软件无线电台的应用中间件SCA(SoftwareCoreArchitecture)等。嵌入式软件系统的体系结构(4)应用层应用层软件主要由多个相对独立的应用任务组成每个应用任务完成特定的工作,如I/O任务、计算的任务、通信任务等,由操作系统调度各个任务的运行。3.1.2嵌入式软件运行流程上电复位系统升级引导/升级系统系统初始化应用初始化多任务应用板级初始化远程升级本地升级基于多任务操作系统的嵌入式软件的主要运行流程该运行流程主要分为5个阶段嵌入式软件运行流程(1)上电复位、板级初始化阶段嵌入式系统上电复位后完成板级初始化工作。板级初始化程序具有完全的硬件特性,一般采用汇编语言实现。不同的嵌入式系统,板级初始化时要完成的工作具有一定的特殊性,但以下工作一般是必须完成的:CPU中堆栈指针寄存器的初始化。BSS段(BlockStorageSpace表示未被初始化的数据)的初始化。CPU芯片级的初始化:中断控制器、内存等的初始化。返回嵌入式软件运行流程(2)系统引导/升级阶段根据需要分别进入系统软件引导阶段或系统升级阶段。软件可通过测试通信端口数据或判断特定开关的方式分别进入不同阶段。嵌入式软件运行流程系统引导阶段系统引导有几种情况:将系统软件从NORFlash中读取出来加载到RAM中运行:这种方式可以解决成本及Flash速度比RAM慢的问题。软件可压缩存储在Flash中。(启动慢,运行速度快)不需将软件引导到RAM中而是让其直接在NorFlash上运行,进入系统初始化阶段。(启动快,运行慢)将软件从外存(如NandFlash、CF卡、MMC等)中读取出来加载到RAM中运行:这种方式的成本更低。(便宜,启动慢,运行速度快)嵌入式软件运行流程系统升级阶段进入系统升级阶段后系统可通过网络进行远程升级或通过串口进行本地升级。远程升级一般支持TFTP、FTP、HTTP等方式。本地升级可通过Console口使用超级终端或特定的升级软件进行。返回嵌入式软件运行流程(3)系统初始化阶段

在该阶段进行操作系统等系统软件各功能部分必需的初始化工作,如根据系统配置初始化数据空间、初始化系统所需的接口和外设等。系统初始化阶段需要按特定顺序进行,如首先完成内核的初始化,然后完成网络、文件系统等的初始化,最后完成中间件等的初始化工作。返回嵌入式软件运行流程(4)应用初始化阶段

在该阶段进行应用任务的创建,信号量、消息队列的创建和与应用相关的其它初始化工作。(5)多任务应用运行阶段

各种初始化工作完成后,系统进入多任务状态,操作系统按照已确定的算法进行任务的调度,各应用任务分别完成特定的功能。第二节

嵌入式实时操作系统简介嵌入式操作系统特点嵌入式操作系统体系结构实时系统的评价指标概述 嵌入式操作系统可以统称为应用在嵌入式系统的操作系统,它具有一般操作系统的功能,同时具有嵌入式软件的特点,主要有:可固化可配置、可剪裁独立的板级支持包,可修改不同的CPU有不同的版本应用的开发需要有集成的交叉开发工具概述近十年来,嵌入式操作系统得到飞速的发展从支持8位微处理器到16位、32位甚至64位微处理器;从支持单一品种的微处理器芯片到支持多品种微处理器芯片;从只有内核到除了内核外还提供其他功能模块,如文件系统,TCP/IP网络系统,窗口图形系统等。随着嵌入式系统应用领域的扩展,目前嵌入式操作系统的市场在不断细分,出现了针对不同领域的产品,这些产品按领域的要求和标准提供特定的功能。1)实时操作系统的特点

随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩大,逐渐形成了实时多任务操作系统(RTOS),并开始成为嵌入式系统的主流。

这一阶段嵌入式系统的主要特点是:操作系统的实时性得到了很大改善,已经能够运行在各种不同类型的微处理器上,具有高度的模块化和扩展性。此时的嵌入式操作系统已经具备了文件和目录管理、设备管理、多任务、网络、图形用户界面(GUI)等功能,并提供了大量的应用程序接口(API),从而使得应用软件的开发变得更加简单。实时操作系统的特点

(1)多任务

一个任务也称作一个线程,是一个简单的运行程序。每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间多任务运行的实现,实际上是靠CPU(中央处理单元)在许多任务之间转换、调度。CPU只有一个,轮番服务于一系列任务中的某一个。多任务运行使CPU的利用率得到最大的发挥,并使应用程序模块化。(2)任务的事件驱动

通用操作系统只注重平均性能,所有任务的平均响应时间是关键,并不关心单个任务的响应时间。而嵌入式实时系统是指在一个确定的时间内,实现系统功能并做出及时响应的系统。任务实时任务非实时任务事件驱动时间驱动内部事件:运算结果、设备请求等外部事件:开关量输入等绝对时间驱动相对时间驱动CPU中断控制器1中断控制器2外部事件(3)中断与中断优先级

系统实现中断可以带来CPU和外设间的同步工作、实现实时处理和故障处理。(4)同步与异步 与系列时间相关事件称为同步事件,驱动的任务为同步任务。随机发生的事件称为异步事件,驱动的任务为异步任务,如中断等。

任何任务所占用的实体都可称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器,资源也可以是一个变量、一个结构或一个数组等。 程序进行时可使用的软硬件环境称为资源,2个以上任务可同时访问的共享资源称为临界资源。

(5)资源与临界资源

容错:当系统软、硬件发生故障时,系统仍能正常运转,完成预定的任务或某些重要的不允许间断的任务。包括系统自诊断、自恢复、自动切换等功能。安全性:是指系统对自身文件和用户文件的存取合法性的控制。如口令、加密。(6)容错与安全2)嵌入式操作系统体系结构体系结构是操作系统的基础,它定义了硬件与软件的界限、内核与操作系统其它组件(文件、网络、GUI等)的组织关系、系统与应用的接口。目前操作系统的体系结构可分为:单块结构、层次结构和客户/服务器(微内核)结构。嵌入式操作系统体系结构硬件系统服务用户态核心态应用程序应用程序…单块结构嵌入式操作系统体系结构硬件基本进程管理虚存管理I/O和设备管理进程间通信文件系统用户用户模式内核模式层次结构嵌入式操作系统体系结构硬件进程服务用户态核心态应用程序客户内存服务微内核文件服务网络服务显示服务发送应答客户/服务器结构(微内核结构)嵌入式操作系统体系结构微内核结构的优点提供一致的接口可扩展性:扩展对新的软件/硬件支持灵活性:可伸缩可移植性分布式系统支持适用于面向对象操作系统环境性能问题:通过微内核构造和发送信息、接受应答并解码所花费的时间比进行一次系统调用的时间多很大程度取决于微内核的大小和功能嵌入式操作系统体系结构目前嵌入式操作系统主要采用分层和模块化相结合的结构或微内核结构。分层和模块化结合的结构将操作系统分为硬件无关层、硬件抽象层和硬件相关层,每层再划分功能模块。这样移植工作便集中在硬件相关层,与其余两层无关,功能的伸缩则集中在模块上,从而确保其具有良好的可移植性和可伸缩性。而采用微内核结构,则可利用其可伸缩的特点适应硬件的发展,便于扩展。

嵌入式操作系统体系结构应用程序任务管理硬件用户扩展处理调度管理硬件抽象层应用编程接口内存管理中断管理时钟/定时器管理I/O管理出错处理同步、通信管理(消息队列,信号量,事件,异步信号))DeltaCORE的体系结构:层次+模块结构分层次模块化嵌入式操作系统体系结构用户模式应用应用应用网络管理器图形管理器设备管理器文件系统管理器网络驱动图形驱动设备驱动文件系统驱动硬件内核模式内核(微内核)QNX4.25的体系结构:客户/服务器结构嵌入式操作系统的组成…………嵌入式内核内核是嵌入式操作系统的基础,也是必备的部分。内核还提供特定的应用编程接口,但目前没有统一的标准。任务管理内存管理通信同步与互斥机制中断管理时间管理任务扩展…………返回嵌入式内核任务管理内核的核心部分,具有任务调度、创建任务、删除任务、挂起任务、解挂任务、设置任务优先级等功能。通用计算机的操作系统追求的是最大的吞吐率,为了达到最佳整体性能,其调度原则是公平,采用Round-Robin或可变优先级调度算法,调度时机主要以时间片为主驱动。而嵌入式操作系统多采用基于静态优先级的可抢占的调度,任务优先级是在运行前通过某种策略静态分配好的,一旦有优先级更高的任务就绪就马上进行调度。返回嵌入式内核内存管理通用操作系统广泛使用了虚拟内存的技术,为用户提供一个功能强大的虚存管理机制。嵌入式操作系统的内存管理比较简单。通常不采用虚拟存储管理,而采用静态内存分配和动态内存分配(固定大小内存分配和可变大小内存分配)相结合的管理方式。有些内核利用MMU机制提供内存保护功能。返回嵌入式内核通信、同步和互斥机制这些机制提供任务间、任务与中断处理程序间的通信、同步和互斥功能。一般包括信号量、消息、事件、管道、异步信号和共享内存等功能。与通用操作系统不同的是,嵌入式操作系统需要解决在这些机制的使用中出现的优先级反转问题。返回嵌入式内核中断管理,一般具有以下功能:安装中断服务程序中断发生时,对中断现场进行保存,并且转到相应的服务程序上执行中断退出前,对中断现场进行恢复中断栈切换中断退出时的任务调度

返回嵌入式内核时间管理提供高精度、应用可设置的系统时钟,该时钟是嵌入式系统的时基,可设置为十毫秒以下。提供日历时间,负责与时间相关的任务管理工作如任务对资源有限等待的计时、时间片轮转调度等,提供软定时器的管理功能等。通用操作系统的系统时钟的精度由操作系统确定,应用不可调,且一般是几十个毫秒。返回嵌入式内核任务扩展功能任务扩展功能就是在内核中设置一些Hook的调用点,在这些调用点上内核调用应用设置的、应用自己编写的扩展处理程序,以扩展内核的有关功能。Hook调用点有任务创建、任务切换、任务删除、出错处理等。返回实时系统是面向具体应用,对外来事件在限定时间内能做出反应的系统。限定时间的范围很广可以从微秒级(如信号处理)到分钟级(如联机查询系统)。在实时系统中主要有三个指标来衡量系统的实时性,即响应时间(ResponseTime)、生存时间(SurvivalTime)、吞吐量(Throughput)。3)实时系统的评价指标

响应时间(ResponseTime):是计算机识别一个外部事件到作出响应的时间,在控制应用中它是最重要的指标,如果事件不能及时的处理,系统可能就会崩溃。生存时间(SurvivalTime):是数据有效等待时间,在这段时间里数据是有效的。吞吐量(Throughput):是在一给定时间内(秒),系统可以处理的事件总数。例如通讯控制器用每秒钟处理的字符数来表示吞吐量,吞吐量是平均响应时间的倒数。参考:一个实时操作系统的实时性能的主要评测标准和指标包括系统响应时间、上下文切换时间,中断延迟时间、中断响应时间、任务切换时间、调度器延迟时间,周期性抖动(jitter这是操作系统的主要职责之一,它决定该轮到哪个任务运行了。 往往调度是基于任务的优先级,根据其重要不同被赋予任务不同的优先级。CPU总是让处在就绪态的优先级最高的任务先运行。 何时让高优先级任务掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。

(2)任务调度(dispatcher)(3)非占先式调度法与占先式调度法①非占先式(non-preemptive)式调度法非占先式也称作合作型多任务(cooperativemultitasking),各个任务彼此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。低优先级任务ISR高优先级任务(1)(2)(3)(4)(5)(6)(7)中断服务程序使高优先级任务就绪低优先级任务释放CPU使用权TIME非占先式(Non-Preemptive)图

非占先式内核的一个特点是几乎不需要使用信号量保护共享数据。正在运行着的任务占有CPU,而不必担心被别的任务抢占。 非占先式内核的最大缺陷在于其响应高优先级的任务慢②占先式(抢先式)preemptive)

当系统响应时间很重要时,要使用占先式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。即当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。

低优先级任务ISR高优先级任务(1)(2)(3)(4)(5)(6)中断服务程序使高优先级任务就绪高优先级任务得到CPU使用权TIME占先式(Preemptive)图

(4)任务优先级(priority)

首先介绍一下任务优先级的种类,每个任务都有其优先级(priority),静态优先级和动态优先级。

应用程序执行过程中,如果各任务优先级不变,则称之为静态优先级。在静态优先级系统中,各任务以及它们的时间约束在程序编译时是已知的。 应用程序执行过程中,如果任务的优先级是可变的,则称之为动态优先级。第三节

常用的嵌入式操作系统概述操作系统功能概述嵌入式操作系统的演变常用的嵌入式系统简介1、操作系统功能的概述

现在的操作系统十分复杂,它管理着计算机系统中各种不同的软硬件资源。一般来说,操作系统主要功能有进程管理(处理机管理)、存储器管理、设备管理和文件管理。 进程管理的主要功能是完成CPU资源的调度和分配,以某种预定的策略运行系统中的任务。 存储器管理是操作系统的一个重要职责,主要完成计算机内存资源的管理和分配任务。 设备管理负责管理各种计算机外设,主要有设备驱动程序完成。 文件管理负责管理磁盘上的各种文件和目录。2、嵌入式操作系统的演变*PercentoftotalsoftwaresuppliedbyRTOSvendorinatypicalembeddeddevice10%*Kernel30%*KernelNetworkingFileSystem75%*KernelNetworkingFileSystemMultiprocessingMemoryManagementNetworkingUtilityWindowsAPIApplicationApplicationApplicationApplication90%*KernelNetworkingFileSystemMultiprocessingFaultToleranceDistributedObjectsAdvancedNetworkingAdvancedInterconnectJavaBrowser/GUI嵌入式操作系统的演变 在嵌入式系统的发展过程中,从操作系统的角度来看,大致经历了以下几个阶段:无操作系统阶段简单操作系统阶段实时操作系统阶段面向Internet的阶段嵌入式操作系统的演变无操作系统阶段嵌入式这一阶段嵌入式系统的主要特点是:系统结构和功能相对单一,处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统使用简便、价格低廉,因而曾经在工业控制领域中得到了非常广泛的应用,但却无法满足现今对执行效率、存储容量都有较高要求的信息家电等场合的需要。嵌入式操作系统的演变简单操作系统阶段20世纪80年代,随着微电子工艺水平的提高,IC制造商开始把嵌入式应用中所需要的微处理器、I/O接口、串行接口以及RAM、ROM等部件统统集成到一片VLSI中,制造出面向I/O设计的微控制器,并一举成为嵌入式系统领域中异军突起的新秀。与此同时,嵌入式系统的程序员也开始基于一些简单的"操作系统"开发嵌入式应用软件,大大缩短了开发周期、提高了开发效率。嵌入式操作系统的演变简单操作系统阶段这一阶段嵌入式系统的主要特点是:出现了大量高可靠、低功耗的嵌入式CPU(如PowerPC等),各种简单的嵌入式操作系统开始出现并得到迅速发展。此时的嵌入式操作系统虽然还比较简单,但已经初步具有了一定的兼容性和扩展性,内核精巧且效率高,主要用来控制系统负载以及监控应用程序的运行。嵌入式操作系统的演变实时操作系统阶段20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步飞速发展,而面向实时信号处理算法的DSP产品则向着高速度、高精度、低功耗的方向发展。随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩大,逐渐形成了实时多任务操作系统(RTOS),并开始成为嵌入式系统的主流。嵌入式操作系统的演变实时操作系统阶段这一阶段嵌入式系统的主要特点是:操作系统的实时性得到了很大改善,已经能够运行在各种不同类型的微处理器上,具有高度的模块化和扩展性。此时的嵌入式操作系统已经具备了文件和目录管理、设备管理、多任务、网络、图形用户界面(GUI)等功能,并提供了大量的应用程序接口(API),从而使得应用软件的开发变得更加简单。嵌入式操作系统的演变面向Internet的阶段21世纪无疑将是一个网络的时代,将嵌入式系统应用到各种网络环境中去的呼声自然也越来越高。目前大多数嵌入式系统还孤立于Internet之外,随着Internet的进一步发展,以及Internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式设备与Internet的结合才是嵌入式技术的真正未来。信息时代和数字时代的到来,为嵌入式系统的发展带来了巨大的机遇,同时也对嵌入式系统厂商提出了新的挑战。嵌入式操作系统的演变 目前,嵌入式技术与Internet技术的结合正在推动着嵌入式技术的飞速发展,嵌入式系统的研究和应用产生了如下新的显著变化:新的微处理器层出不穷,嵌入式操作系统自身结构的设计更加便于移植,能够在短时间内支持更多的微处理器。嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式操作系统本身,同时还要提供强大的软件开发支持包。通用计算机上使用的新技术、新观念开始逐步移植到嵌入式系统中,如嵌入式数据库、移动代理、实时CORBA、Java等,嵌入式软件平台得到进一步完善。3、µC/OS-II简介µC/OS-II是一个抢占式实时多任务内核。它是用ANSI的C语言编写的,包含一小部分汇编语言代码,使之可以提供给不同架构的微处理器使用。至今,从8位到64位,µC/OS-II已经在40多种不同架构的微处理器上使用。使用µC/OS的领域包括:照相机行业、航空业、医疗器械、网络设备、自动提款机以及工业机器人等。

4、Linux操作系统简介

嵌入式系统越来越追求数字化、网络化和智能化。因此原来在某些设备或领域中占主导地位的软件系统越来越难以为继,整个系统必须是开放的、提供标准的API,并且能够方便地与众多第三方的软硬件沟通。

Linux在嵌入式领域异军突起,不过是近两年的事情。过去的一年中有13%的用户已经开始使用嵌入式Linux系统进行开发工作;有52%的用户决定在未来24个月内开始使用Linux作为嵌入式操作系统的开发原型。

随着Linux的迅速发展,嵌入式Linux现在已经有了许多版本,包括强实时的嵌入式Linux(RT-Linux和KURT-Linux)和一般的嵌入式Linux(如uClinux和PorketLinux等)。其中,RT-Linux通过把通常的Linux任务优先级设为最低,而所有的实时任务的优先级都高于它,以达到既兼容通常的Linux任务,又保证强实时性能的目的。嵌入式uCLinux

另一种常用的嵌入式Linux是uClinux,它是指对Linux经过小型化裁剪后,能够固化在容量只有几百K字节或几兆字节的存储器芯片中,即针对没有MMU的处理器而设计的。它不能使用处理器的虚拟内存管理技术,对内存的访问是直接的,所有程序中的地址都是实际的物理地址。它专为嵌入式系统作了许多小型化的工作。嵌入式Linux(EmbeddedLinux)应用于特定嵌入式场合。嵌入式Linux的开发和研究是目前操作系统领域的一个热点。5、WindowsCE操作系统简介

1)概述

WindowsCE是Microsoft公司为开发各类信息设备而开发出来的一个嵌入式软实时操作系统。

WindowsCE是一个非常小巧精致的操作系统。这个操作系统的核心全部是由C语言开发的,操作系统本身还包含许多由各个厂家用C语言和汇编语言开发的驱动程序。

WindowsCE可以看作是Windows98/NT的微缩版,专门为体积小、资源要求低、便携的机器而设计。但它们之间还存在着一些明显的差别,WindowsCE不得不放弃某些复杂的特性。

WindowsCE是针对有限资源的平台而设计的多线程、完整优先权、多任务的操作系统,但它不是一个强实时操作系统,高度模块化是它的重要特性,它适合作为可裁减的32位嵌入式操作系统。WinCE既适用于工业设备的嵌入式控制模块,也适用于消费类电子产品,如电话、机顶盒和掌上电脑等。针对不同的目标设备硬件环境,可以在内核基础上添加各种模块,从而形成一个定制的嵌入式操作系统。

WindowsCE的核允许每个进程有256个优先级,采用抢占式优先权调度法。WindowsCE内核至少约为200KB的ROM。对于应用程序开发者来说,WindowsCE提供了Windows程序员熟悉的各种开发环境,例如,MicrosoftWin32API(应用程序接口)、ActiveX控件、消息队列、COM接口、ATL和MFC。它们不仅有助于提高开发者的开发效率,而且有利于从其他Microsoft平台上移植各种成功的应用程序。2)WinCE与Windows操作系统的区别⑴WindowsCE不能运行现有的应用程序⑵WindowsCE有严格的内存限制。⑶WindowsCE有精简的运行库和API⑷WindowsCE设备通常没有鼠标⑸WindowsCE硬件并不十分标准化

使用WinCE用户需与Microsoft公司签订合同方可获得源代码。

WindowsCE支持非常流行的Windows应用程序接口API,提供了互联网的浏览服务和其他服务,使其很适合用于需要与互联网连接的系统中。目前常使用的有WindowsCE4.2、CE5.0等版本。6、VxWorks

VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式(无MMU)实时操作系统(RTOS),具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。

VxWorks操作系统基于微内核结构,由400多个相对独立的目标模块组成,用户可以根据需要增加或减少模块来裁剪和配置系统,其连接器可按应用的需要来动态连接目标模块。大多数的VxWorksAPI是专用的,采用GNU的编译和调试器。VxWorks所具有的显著特点

-可靠性、实时性和可裁减性。 -它支持多种处理器,如x86、i960、SunSparc、MotorolaMC68xxx、MIPS、PowerPC等等。例如在美国的F-16和FA-18战斗机、B2隐形轰炸机、爱国者导弹和“索杰纳”火星探测车上使用的都是VxWorks操作系统。

7、智能手机操作系统简介概述目前的手机操作系统平台被Symbian、Linux、微软和Palm四家所掌控。操作系统的成本占15%~20%。1)PalmOS“胖子”由PalmComputing公司设计开发的一种32位嵌入式操作系统,主要应用在掌上电脑(PDA),以及现在的智能手机。Palm已售出3000万部以上的移动化电脑产品。PalmOS操作系统的最大特点就是节能以及占用很少的系统资源。同时它还是采用开放式的架构,因此吸引了众多为PalmOS平台开发应用程序的程序设计人员。目前在其上面运行的共享软件和免费软件已超过1万种。2)SymbianOS“塞班系统”由诺基亚联合摩托罗拉、西门子等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系统,并得到了占据市场份额大多数的手持通讯设备厂商的支持。Symbian操作系统的前身是EPOC,而EPOC是ElectronicPieceofCheese取第一个字母而来的,其原意为“使用电子产品时可以像吃乳酪一样简单”。在诺基亚的大力倡导下,Symbian已经成为一个开放的、易用的、专业的开发平台。支持C++,Java语言,支持蓝牙、USB、IPv4、IPv6、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论