Windows CE为微软研发的嵌入式操作系统,可以应用在各种嵌入式系统,或是硬件规格层次较低的计算机系统(例如很少的存储器,较慢的中央处理器等)。微软并未定义CE缩写由来,一般解释则有Customer Embedded、Compact Edition、Consumer Electronics等等。
概览
Windows CE 1.0最早于1996年推出,是单色的Windows 95简化版本。1997年Fall Comdex 大会上公布的Windows CE 2.0仍是基于Win95的操作系统,效率远高于1.0版。Windows CE 3.0是微软的Windows Compact Edition,已摆脱旧有的Windows 95简化格式,是一套全新的操作系统,支持5种 CPU:x86, PowerPC, ARM, MIPS, SH3/4。并且改名为 Windows for Pocket PC,简称 Pocket PC。2002年1月微软又推出Windows CE.Net,即Windows CE 4.0。2004年5月份推出Windows CE 5.0,开放有250万行源代码。2006年11月,微软推出Windows Embedded CE 6.0。
Windows CE可以使用在各式各样的系统上,最有名的是Pocket PC以及微软的SmartPhone。其他较不为人知的设备包括微软的车用计算机、电视机上盒、生产在线的控制设备、公共场所的信息站等等,有些设备甚至没有任何人机界面。
Windows CE 并非从台式机的Windows(NT,98,XP...)修改缩小而来,而是使用一套完全重新设计的内核,所以它可以在功能非常有限的硬件上运行。虽然内核不同,但是它却提供了高度的Win32 API软件开发界面的兼容性,功能有内存管理、文件操作、多线程、网络功能等。因此,开发台式机软件的人可以很容易编写甚或直接移植软件到Windows CE上。
一个与其他微软操作系统的差异是 Windows CE 提供源代码,首先已经提供了源代码给部分厂商,让厂商能够依照他们自己的硬件架构修改源代码, 例如在 Windows CE 的开发 IDE 软件 Platform Builder 中就提供了许多开放原码的常用软件元件,但是一些与硬件架构的软件元件仍然以二进制文件形式来提供。
版本
Windows CE 1.0是最早期的版本,非常不稳定,随着版本不断的释出,使得WinCE日趋稳定。
-Windows CE 1.0(Pegasus)
-Windows CE 2.0, 2.11, 2.12(Mercury)
-Windows CE 3.0(Cedar)
-Windows CE .NET(4.0, 4.1, 4.2)(Talisker)
-Windows CE 5.0(Macallan)
-Windows Embedded CE 6.0(Yamazaki)
最新功能
目前最新的Windows CE为Windows CE 6.0,这个版本在内核部分有很大的进步:
-所有系统元件都由EXE改为DLL,并移到 kernel space.
-全新设计的虚拟内存架构
-全新的设备驱动程序架构,同时支持 User Mode 与 Kernel Mode 两种驱动程序。
-突破只能运行 32 个工作元(process)的限制,可以运行 32768 个工作元。
-每一工作元的的虚拟内存限制由32 M 增加到全系统总虚拟内存。
-Platform Builder IDE 集成到 Microsoft Visual Studio 2005。
-新的安全架构,确保只有被信任的软件可以在系统中运行。
-UDF 2.5 文件系统。
-支持 802.11i (WPA2)及 802.11e (QoS) 等无线规格,及多重 radio support.
-支持 x86, ARM, SH4, MIPS 等各种处理器。
-提供新的 Cellcore components 使系统在移动电话网络中更容易建立数据链接及激活通话。
在开发环境上,微软也提供兼容于.NET Framework的开发元件:.NET Compact Framework,让正在学习.NET或已拥有.NET程序开发技术的开发人员能迅速而顺利的在搭载Windows CE .NET系统的设备上开发应用程序。
用于掌上电脑Pocket PC以及智能手机Smart Phone上的Windows CE系统称为Windows Mobile,目前的最新版本为Windows Mobile 6.1。
开发工具
Windows CE可支持 MFC,ATL,STL,COM,ActiveX,以及 .NET Compact Framework。开发工作可以分为:
这个工具是一个编译平台(BSP + 操作系统内核)、驱动程序以及应用程序,是一个可以做单部运行的开发环境,也可以用来传送 SDK 到目标平台再搭配另外一个下面的工具来使用。
这是一个用于开发基于 Windows CE 操作系统嵌入式应用程序的工具,这个工具可以使用由 Platform Builder 输出的 SDK。
限制
-Windows CE 只支持 UNICODE,故char必须改为TCHAR, WCHAR。
-Windows CE不支持重叠I/O。
-WinCE的许多APIs功能都受限,如:CreateThread 函数在许多参数在Windows CE下都不支持,第1、2、5的参数值必须设为NULL或0。