Windows CE操作系统是微软为实现"信息随手可得"的设想而努力开发的成果。通过 Windows CE,微软提供了标准的开放式平台,极大地减少了硬件制造商(IHV)、软件开发商(SHV)以及最终将采纳新一代非 PC 技术解决方案的客户多方之间的矛盾。Windows CE是一个功能强大的开放的32位实时嵌入式操作系统,适用于快速构建新一代内存少、体积小的智能设备。例如工业控制器、手持式设备、智能电话、机顶盒和零售点设备等。目前的掌上电脑(PDA)、全球定位系统(GPS)、地理信息系统(GIS)、车载PC(Auto PC),有很多采用Windows CE操作系统。
3.2 Windows CE 3.0性能特点
Windows CE是一个抢先式多任务并具有强大通信能力的嵌入式操作系统。它是一个全新的、可移植的、实时的、模块化的操作系统,具有流行的微软程序开发界面,提供许多快速开发嵌入式系统的工具。
(1) 新内核
Windows CE看上去和Windows 9X/NT很像,但它不是这些操作系统的简化版,也不是从这些系统移植过来的。Windows CE具有全新的内核和任务调度、内存管理策略。
Windows CE 2.1及其以前的版本实时性能不强,但Windows CE 3.0及以后的版本实时性能得到明显改善。Windows CE 3.0的实时性能主要通过以下技术实现:支持嵌套中断,高优先级的中断并不需要等待低优先级的中断服务例程(ISR)完成;256个线程优先级,可以灵活调度嵌入式系统的任务;通过固定高优先级中断服务线程(IST)的最大调度延迟改善线程响应时间;使用API函数CeSetThreadQuantum 和 CeGetThreadQuantum修改操作系统中线程的线程量;中断服务子程序的响应时间非常短;支持信号量。在基于Windows CE的参考平台上,使用Hitachi SH3微处理器,系统可以在2~5μs内启动一个中断服务例程(ISR),在 90~170μs内启动相应的中断服务线程。如果考虑其它因素,如CPU类型、时钟频率、总线速度等的影响,许多实际的基于Windows CE平台的响应时间更短。
(4) 模块化
由于存储器资源在移动和嵌入式设备中非常有限,Windows CE设计成一个模块化操作系统,设计者只需选择那些需要的模块以满足指定平台的存储器要求。Windows CE的结构如图1所示,主要包括4个模块:内核(Kernel)、图形窗口事件子系统(GWES)、文件系统(Filesys)和通信模块(Communications)。Kernel负责中断处理、进程和线程管理、虚拟内存管理和其它相关任务;GWES(Graphics Windowing and Events Subsystem)相当于桌面Windows的图形设备接口GDI和用户库;Filesys用于永久存储,包括文件系统、注册表和数据库;Communications模块负责与桌面PC、其它CE设备和因特网的互联。每个模块又分成许多小组件。裁减Windows CE时,可以只选择那些需要的组件。
(5) Win32兼容性
Windows CE采用与Windows 95/NT相同的编程模型,它的API是Win32 API的一个子集,大约有600个API函数,可以实现所有的嵌入式应用。CE只支持UNICODE码,CE API删除了Win32 API中包含ANSI字符串参数的函数。CE还支持当前流行的软件技术和运行库,如MFC(Microsoft Foundation Class)、ATL(Active Template Library)、EVC(Embedded Visual C )、EVB(Embedded Visual Basic)。Win32的兼容性可以容易地把现成的Windows应用程序移植到Windows CE中。目前有许多开发人员精通Windows编程技术,他们只需学习很少的知识就可以开发Windows CE应用程序。
嵌入式操作系统是一种应用广泛的系统软件,工业控制是它的传统应用领域,在这一领域里已有一些比较成功的嵌入式操作系统。但是,随着应用对象的扩大和技术的进步,实际应用对工业控制系统的功能和性能提出了许多新的要求。例如,适应恶劣的工作环境,熟悉和友好的用户界面,统一的编程界面,强大的通信功能和多媒体功能等,这些嵌入式操作系统很难满足工业应用的新需要。由于Windows CE 2.1及以前版本的实时性较差,在工业控制领域应用较少,主要应用在移动式(或便携式)产品和信息家电领域。Windows CE 3.0的出现极大地改善了它的实时性能,为Windows CE进入工业控制领域奠定了基础。
虽然Windows CE 3.0作为嵌入式系统平台在工业控制领域还未被广泛采用,但前景非常广阔。许多着名的工业控制器生产商已经开发出基于Windows CE 3.0的工业控制产品,如西门子AG公司的多功能操作面板MP系列,Cybectec公司的变电站现代化平台SMP(Substation Modernization Platform)等。工业控制操作系统需要严格的实时处理功能,高可靠性,良好的开放性,对人机界面、开发环境、可操作性、成本等也有特别的要求。
(1) 实时性
实时性是指能够在限定时间内执行完规定的功能,并对外部的异步事件作出反应的能力。实时性的强弱以完成规定功能和作出响应时间的长短来衡量。提高硬件的处理能力可以在一定程度上提高计算机控制系统的实时性,但是当硬件确定以后,控制系统的实时性能主要由操作系统来决定。无论从汽车制造到工业自动化,还是从电子通信到交通运输,Windows CE 3.0均可为具备确定性响应能力的应用程序提供内建实时支持。
不同对象对工业控制系统的人机界面HMI(Human Machine Interface)要求差别很大。在一般的实时嵌入式操作系统中,图形功能弱,虽然也有提供图形库的,但没有更强的功能。Window CE 不仅支持图形和窗口,具有多媒体功能,而且还可以利用丰富灵活的控件库在Windows CE环境下为嵌入式应用建立各种图形用户界面。Windows CE 支持256色,显示分辨率可以设定,支持触摸屏。因此,Windows CE 完全可以满足工业控制系统对人机界面的要求。
(4) 开放性
Windows CE具有良好的通信能力,广泛支持各种通信硬件、局域网连接以及拨号连接,并提供与PC、内部网以及Internet的连接,包括用于应用级数据传输的设备至设备间的互连。Windows CE具有良好的可扩展性,用户可根据实际需要定制合适的硬件,开发自己的模块和组件,集成到运行Windows CE的设备上。