MS Windows CE的实时系统
介绍
MicrosoftWindowsCE
快速反应的嵌入式应用常常管理严格的时间反应。例如,制造过程控制,高速的数据采集设备,电讯交换设备,医用设备,空中“有线”控制,武器发射装备,空间航行和导航,实验室,实验控制,汽车发动机控制,机器人系统。
为保证这种功能,就意味着不仅需要计算精确性,还有结果的时间性,此种应用必须在指定的时间参数内做出反应。
实时系统的广义定义是“对任何外部刺激,计算机做出及时反应是至关重要的系统”,标准定义在Internetnewsgroupcorprealtimegroup中。实时定义为:一个实时系统它的计算正确性,不仅依靠于计算逻辑上的正确,还包括及时的产生结果。如果没有达到系统时间限制条件,系统也是失效的。
搞清楚实时系统和实时操作系统(RTOS)的区别至关重要,实时系统代表所有系统组成设备——硬件,操作系统和应用——它需要达到系统的要求,实时操作系统(RTOS)只是整个实时系统的一个组成部分,它必须提供足够的功能以确保整个实时系统达到要求。
同样,搞清快速操作系统和实时操作系统之间区别,也很重要,对于一个RTOS虽然达到全面要求十分有用,但并不是它自己达到这种要求。Internetneusgronpcornp.realtime列举了作为一个实时操作系统,必须达到的要求:
OS(操作系统)必须是多线程和优先级之分。
OS必须支持线程优先级。
一个优先级继承的系统必须存在。
OS必须支持可预测的线程,同步发送机理。
另外,OS的行为必须是可预测的,这意味实时系统的开发者必须对系统中断级,系统调用和分时了如指掌:
必须知道OS和设备驱动器的中数据匹配最大时间。
设备驱动器用来处理一个中断最大时间和关于这些驱动器的中断申请信息必须清楚。
中断响应(从中断到运行时间),必须可预测并满足功能要求。
每次系统调用时间必须可以预测,并且独立于系统的对象数目。本篇论文论述了微软WindowsCE操作系统是如何达到一个实时系统的要求,更有意义的是,WindowsCE保证一个时间的上限,它在收到中断后开始一个实时的优先级线程。本论文论述了对特定参考平台的中数据响应时间,参考为有HinathiSH3的微处理器的“Odo”平台。
MicrosoftWindowsCE
概论
微软WindowsCE被设计成针对小型设备(它是典型的拥有有限内存的无磁盘系统)的通用操作系统。WindowsCE可以通过设计一层位于内核和硬件之间代码来用设定硬件平台,这即是众所周知的硬盘压缩层(HAL),(在以前解释时,这被称为OEMC(原始设备制造)适应层,即OAL;内核压缩层,即KAL。以免与微软的WindowsNT操作系统HAL混淆)
不象其它的微软Windows操作系统,WindowsCE并不是代表一个标准的相同的对所有平台适用的软件。为了足够灵活以达到适应广泛产品需求,WindowsCE采用标准模式,这就意味着,它能够由一系列软件模式做出选择,从而使产品定制。另外,一些可利用模式也可作为其组成部分,这意味着这些模式能够通过从一套可利用的组份做出选择,从而成为标准模式,通过选择,能够达到系统要求的最小模式,OEM能够减少存储脚本和操作系统的运行。
WindowsCE关于VC++5.0开发系统嵌入式工具包,提供系统库、工具、文本和样本代码,以使OEMS能够对特定的硬件平台使WindowsCE标准定制。嵌入式工具包也包括设备驱动包(DDK)和软件开发包(SDK),DDK提供了关于写驱动器的附加文本,SDK提供库、头文件、样本代码、文本以允许,开发者对基于WindowsCE的平台进行写操作。WindowsCE提供了相同的程序界面,以用来为其它的视窗操作系统开发功能,例如,WindowsCE版本1.01支持大约1000个微软的Win32API函数的其中500个。这就意味着大量不同类的工具,第三方书籍,关于Win32开发者训练教程,可以替代或为WindowsCE系统的开发者所用。
实时系统的开发者能够使用,关于VDFF5.0的嵌入式工具包,以把操作系统转移到特定的平台,并为这个平台开发附加设备驱动器和实时功能。
线程和线程优先权级
WindowsCE是有优先级的多任务操作系统,它允许多重功能、进程,在相同时间系统中运行WindowsCE支持最大的32位同步进程。一个进程包括一个或多个线程,每个线程代表进程的一个独立部分,一个线程被指定为进程的基本线程,进程也能创造一个未定数目的额外线程,额外线程实际数目,仅由可利用的系统资源限定。
WindowsCE利用基于优先级的时间片演算法以安排线程的执行,WindowsCE支持八个不同的优先级,由0到7,0代表最高级,它在头文件Winbasw.h中定义。
优先级描述
0
(最高级)关键的线程优先级
(最高优先等级
- Linux嵌入式系统开发平台选型探讨(11-09)
- VxWorks实时操作系统下MPC8260ATM驱动的实现(11-11)
- VXWORKS内核分析(11-11)
- Linux内核解读入门(11-09)
- linux文件系统基础(02-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)