一种RTOS----Windows CE (微软)的研究报告
Windows CE全称Windows Embedded Compact,是由微软公司推出的一个开放的、可升级的、多任务、多线程的32位实时嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,拥有出色的图形用户界面。Windows CE广泛适用于掌上电脑、智能手机、汽车电子、信息终端等领域。 一、体系结构 基于Windows CE的嵌入式系统采用的是层次结构体系。层次结构体系适合于功能相对简单的,可以按照复杂的程度、抽象的程度和硬件平台的关系等方面的特性加以分层的系统,具有可移植性好、组件可剪裁、灵活性、可扩展性、强调编程接口和支持上层应用等特点。 Windows CE系统从底层向上,分别为:硬件层、OME硬件适配层、操作系统服务层、应用层。以下详细说明各层: 1.硬件层
Windows CE 系统所需的最低硬件配置包括支持Windows CE的 32 位处理器、用于线程调度的实时时钟、用于存储和运行操作系统的存储单元。由于嵌入式系统以应用为核心,所以根据具体的应用需要,硬件层还可能具有其它外设,如串口、键盘、鼠标、网卡等。这时就需要针对具体的硬件平台定制相应的Windows CE操作系统。目前微软公司为几种典型的应用平台提供了相应的参考定制方案模版,例如基于PC机的参考平台(CEPC)。 2.OME硬件适配层 OEM硬件适配层是逻辑上位于硬件和Windows CE操作系统之间的一层硬件相关代码,用来抽象硬件功能,实现操作系统的可移植性。OME硬件适配层又具体分为OME抽象层(OAL)、引导程序、设备驱动程序和配置文件。
(1)OME抽象层(OAL)包含有硬件高度相关的代码,这些代码在物理上属于内核的一部分,并通过编译链接使OAL也成为内核的一部分。OAL主要负责硬件与Windows CE内核的通讯,与CPU、中断、内存、时钟和调试口等核心设备相关。Windows CE的OME抽象层采用了硬件抽象层(HAL)和板集知识层(BSP)的结构设计思想,提供了与设备无关的特性,屏蔽了不同平台硬件的差异,向操作系统上层提供了一套统一的接口,大大提高了系统的可移植性。
(2)引导程序是在硬件开发板上执行的一段程序,主要功能是初始化硬件,将操作系统映像加载到内存,然后跳转到操作系统代码继续执行。引导程序可通过串口、USB、以太网下载等方式获得操作系统映像。由于引导程序通常只在系统开发调试时使用,所以一般最终的产品是不包含引导程序的,但也有部分OME厂商为了产品的后续升级维护而选择将引导程序放入最终的产品当中。 (3)设备驱动程序为Windows CE提供设备控制功能,直接与硬件外设打交道。 (4)配置文件是一些包含系统配置信息的文本文件,通常与操作系统映像或源代码有关。 3.操作系统服务层 Windows CE的进程管理、线程管理、处理机管理、调度、物理内存和虚拟内存管理、文件系统、设备管理等功能的实现都是在这一层实现的。由于Windows CE是一个微内核操作系统,所以操作系统的基本功能被分为几个模块。其中主要的四个模块是:内核模块,对象存储模块、图形窗口和事件系统模块、通讯模块。这些模块的具体功能,会在下一节详细描述。 4.应用层 应用层是应用程序的集合通过调用Win32 API来获得操作系统服务。Windows CE下的API一部分是桌面版Win32 API的子集,另一部分例如CE数据库是Windows CE独有的API。这使得熟悉Windows平台开发的工程师可以迅速适应Windows CE平台的开发。 二、模块功能 Windows CE被设计成为高度模块化的操作系统,每一个模块都提供特定的功能。系统设计者可以根据设备的性质选择必要的模块或模块中的组件加入操作系统映像,从而使Windows CE变得非常紧凑,减小内存需求,使系统性能达到最佳,特别适用于有限资源的硬件平台。
在Windows CE中最主要的模块有内核模块,对象存储模块、图形窗口和事件系统模块、通讯模块: 1.内核模块 内核模块通过CoreDLL 模块表示,是Windows CE 操作系统的核心,它为任何基于Windows CE 的设备提供处理器调度、内存管理、异常处理以及系统内通信等系统功能,并为应用程序使用这些核心功能提供内核服务。这个模块是Windows CE操作系统中必不可少的,但这个模块中一些组件是可选的。 2.对象存储模块 对象存储是Windows CE 的默认文件系统,由共享一个内核堆的文件系统、系统数据库和系统注册表组成,即使没有系统主电源时,对象存储也能维持应用程序及相关数据不会丢失。对象存储可将用户数据和应用程序数据存入文件或注册器。这个模块同内核模块一样也是Windows CE操作系统中必不可少的。
3.图形窗口和事件系统模块 图形窗口和事件系统(GWES)模块支持显示文本和图像,是一个高度组件化的模块。GWES模块分别由USER和图形设备接口(GDI)两部分组成,USER 用来处理消息、事件及鼠标和键盘等用户输入,而GDI 用于处理图形的屏幕和打印输出等。
GWES 是用户、应用程序和操作系统之间的图形用户接口。GWES 通过处理键盘、鼠标动作与用户交互,并选择传送到应用程序和操作系统的信息;通过创建并管理在显示设备和打印机上显示的窗口、图形以及文本来处理输出。尽管如此,这个模块并不是Windows CE中所必需拥有的模块,如果一个系统不包含图形界面,那这个系统中就不会有GWES模块。 4.通讯模块 通信模块为基于Windows CE 的设备提供对各种通信硬件和数据协议的支持,包括串行I/O支持、远程访问服务(RAS)、传输控制协议/Internet协议(TCP/IP)、局域网(LAN)、电话技术API(TAPI)等。这些支持使Windows CE 设备能够与其他设备或计算机进行连接与通信。当然如果设备不需要进行通信交流,那么这个模块也可以除去。 三、特点 Windows CE的操作界面虽来源于Windows 95,但它是基于WIN32 API重新开发、新型的信息设备的平台。与现有的其它几款实时操作系统相比,Windows CE有以下特点: 1.稳健的实时性支持 Windows CE3.0的内核采用基于优先级为256级的抢占方式进行调度,即任务在执行的过程中允许更高的优先级任务抢占该任务对CPU的控制权。优先级数越多,越能保证一个优先级只分配一个任务,从而简化了实时操作系统的设计和使用。此外,其内部定时器精度有了很大提高,达到1ms,并且支持优先级反转处理,目的在于改进响应时间,避免系统的实时性在任务抢占中受到影响,极大的提高了Windows CE的实时性能。 2.友好的开发环境 Windows CE的应用开发使用的是与桌面系统几乎一样的集成开发环境和开发工具,这使得熟悉任何Windows平台开发的工程师可以迅速转战Windows CE平台的开发。相比技术要求高、开发难度大的Linux,Windows CE减少了开发者对新工具和环境的学习时间,使之可以迅速完成开发。 3.出色的图形界面 相比Linux没有很好的用户图形界面,Windows CE的GWES模块具有丰富的模块组件,尤其实在图形界面接口(GUI)和多媒体方面具有明显优势。这使得Windows CE系统可以满足更多用户对多媒体娱乐和游戏的需求。
因篇幅问题不能全部显示,请点此查看更多更全内容