WINCE系统

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Wince操作系统

开放分类:操作系统

Microsoft Windows CE

快速反应的嵌入式应用常常管理严格的时间反应。例如,制造过程控制,高速的数据采集设备,电讯交换设备,医用设备,空中“有线”控制,武器发射装备,空间航行和导航,实验室,实验控制,汽车发动机控制,机器人系统。

为保证这种功能,就意味着不仅需要计算精确性,还有结果的时间性,此种应用必须在指定的时间参数内做出反应。

实时系统的广义定义是“对任何外部刺激,计算机做出及时反应是至关重要的系统”,标准定义在Internet newsgroup corp realtime group中。实时定义为:一个实时系统它的计算正确性,不仅依靠于计算逻辑上的正确,还包括及时的产生结果。如果没有达到系统时间限制条件,系统也是失效的。

搞清楚实时系统和实时操作系统(RTOS)的区别至关重要,实时系统代表所有系统组成设备——硬件,操作系统和应用——它需要达到系统的要求,实时操作系统(RTOS)只是整个实时系统的一个组成部分,它必须提供足够的功能以确保整个实时系统达到要求。

同样,搞清快速操作系统和实时操作系统之间区别,也很重要,对于一个RTOS虽然达到全面要求十分有用,但并不是它自己达到这种要求。Internet neusgronp cornp.realtime列举了作为一个实时操作系统,必须达到的要求:

* OS(操作系统)必须是多线程和优先级之分。

* OS必须支持线程优先级。

* 一个优先级继承的系统必须存在。

* OS必须支持可预测的线程,同步发送机理。

另外,OS的行为必须是可预测的,这意味实时系统的开发者必须对系统中断级,系统调用和分时了如指掌:

* 必须知道OS和设备驱动器的中数据匹配最大时间。

* 设备驱动器用来处理一个中断最大时间和关于这些驱动器的中断申请信息必须清楚。

* 中断响应(从中断到运行时间),必须可预测并满足功能要求。

每次系统调用时间必须可以预测,并且独立于系统的对象数目。本篇论文论述了微软Windows CE 操作系统是如何达到一个实时系统的要求,更有意义的是,Windows CE 保证一个时间的上限,它在收到中断后开始一个实时的优先级线程。本论文论述了对特定参考平台的中数据响应时间,参考为有Hinathi SH3 的微处理器的“Odo”平台。

Microsoft Windows CE

概论

微软Windows CE 被设计成针对小型设备(它是典型的拥有有限内存的无磁盘系统)的通用操作系统。Windows CE 可以通过设计一层位于内核和硬件之间代码来用设定硬件平台,这即是众所周知的硬盘压缩层(HAL),(在以前解释时,这被称为OEMC (原始设备制造)适应层,即OAL;内核压缩层,即KAL。以免与微软的Windows NT 操作系统HAL 混淆)

不象其它的微软Windows 操作系统,Windows CE 并不是代表一个标准的相同的对所有平台适用的软件。为了足够灵活以达到适应广泛产品需求, Windows CE 采用标准模式,这就意味着,它能够由一系列软件模式做出选择,从而使产品定制。另外,一些可利用模式也可作为其组成部分,这意味着这些模式能够通过从一套可利用的组份做出选择,从而成为标准模式,通过选择,能够达到系统要求的最小模式,OEM 能够减少存储脚本和操作系统的运行。

Windows CE 关于VC++ 5.0 开发系统嵌入式工具包,提供系统库、工具、文本和样本代码,以使OEMS 能够对特定的硬件平台使Windows CE 标准定制。嵌入式工具包也包括设备驱动包(DDK)和软件开发包(SDK) ,DDK 提供了关于写驱动器的附加文本,SDK 提供库、头文件、样本代码、文本以允许,开发者对基于Windows CE 的平台进行写操作。Windows CE 提供了相同的程序界面,以用来为其它的视窗操作系统开发功能,例如,Windows CE 版本1.01支持大约1000个微软的Win 32 API 函数的其中500个。这就意味着大量不同类的工具,第三方书籍,关于Win 32 开发者训练教程,可以替代或为Windows CE 系统的开发者所用。

实时系统的开发者能够使用,关于VDFF 5.0 的嵌入式工具包,以把操作系统转移到特定的平台,并为这个平台开发附加设备驱动器和实时功能。

线程和线程优先权级

Windows CE 是有优先级的多任务操作系统,它允许多重功能、进程,在相同时间系统中运行Windows CE 支持最大的32 位同步进程。一个进程包括一个或多个线程,每个线程代表进程的一个独立部分,一个线程被指定为进程的基本线程,进程也能创造一个未定数目的额外线程,额外线程实际数目,仅由可利用的系统资源限定。

Windows CE 利用基于优先级的时间片演算法以安排线程的执行,Windows CE 支持八个不同的优先级,由0到7,0代表最高级,它在头文件Winbasw.h中定义。

优先级描述

(最高级) 关键的线程优先级

(最高优先等级)

1 最高线程优先级

2 高于通常的线程优先级

3 通常线程优先级

4 低于常规线程优先级

5 最低线程优先级

6 高于IDLE的线程优先级

7

(最低) IDLE线程优先级

(最低优先级)

级别0和1通常做为实时过程和设备驱动器,级别2-4做为线程和通常功能,级别5-7做为是低于其它功能级别,注意级别6是目前状态并有稳定联接。

优先权唯一的取决于线程优先级,拥有高级优先权的线程安排优先运行,同一优先级的线程,以循环优先先级方式运行,即每个线程接受定制的时间或时间片,定量时间默认值为25毫秒(Windows CE 2.0 支持在MIPS 平台更改定量时间)。较低优先权的线程,要直到较高级线程完成之后再运行,也即直到他们或者放弃或停止。一个重要的例外是最高优先级的线程(级别0,关键时间优先级)不与其它的线程共享时间片,这些线程连续执行直到他们完成。不象其它的微软窗操作系统,Windows CE 是固定不能改变,它不匹配基于这引进优先级的中断,他们能够暂时改动,但仅能通过Windows CE 内核以避免所谓的的“优先权倒置”。

优先权倒置指的是当它们同时竞争同一资源时,低优先级的线程,阻碍了高优先权线程对资源的利用。为了改正这种局面并解放较高优先权的线程,Windows CE 允许低级优先权继承,严格的线程优先权,并且运行较高优先级直到它释放所用资源。

例如,如果一个线程在最高优先权运行试图莸取由低级优先权占有的互斥体,低级优先权的线程变成高级优先权,并且运行直到它释放互斥体。优先权倒置适用于系统的所有线程。例如,甚至在优先级别1运行的内核线程能转成级别0,如果优先级0线程运行内存分页代码,将引起块失误。

基于优先级的多任务设计,保证运行在最低级的线程在一个预所知时间段执行。本论文在后面讨论设定响应,对于指定的平台和公式,并由其它的平台获取数字。在DAK 和SDK 的工具,显示了线程状态和优先级别,并描绘指定实时系统操作轮廓。

线程同步

实时系统必须保证进程和线程同步,例如,如果实时应用的一部分在另一部分获得最多当前数据前即完成,此应用的管理进程可能不稳定,同步将确保在应用线程间交换正确。

如同其它的Windows 操作系统一样,Windows CE 为线程同步提供了一个丰富的“等待对象”,这包括关键部门、事件、互斥体,些等待对象,允许一个线程减缓它的运行并且等待直到指定事件发生。

Windows CE 将互斥体、关键部分、事件请求按“先入先出,优先级(FIFO)”顺序排列:不同的先入先出顺序序列定义成八个不同的优先级,在给定的优称级的线程请求,将被

相关文档
最新文档