2004年推出的Windows CE 5.0和Windows Mobile 5.0,终结了持续多年的PDA大战,并拉开了现代智能手机时代的序幕
Windows CE 5.0
Windows CE 5.0的代号开发是Macallan,早在2003年初其开发计划就已经对外公布。所以在计划发布的2004年第三、第四季度之前,外界就已经知道了CE 5.0的一些技术细节。
Macallan原先计划与代号为Longhorn的桌面版Windows一起发布。但由于对Windows XP安全性的担忧,和随后延长的内部审核流程,使Windows开发小组花费了更多的时间在Windows XP SP2而非Longhorn的开发上,最终Windows CE 5.0的发行时间要远早于于屡次跳票的Longhorn(Windows Vista)。
CE5的一部分最重要的改进是它提高了移动设备的存储容量,并改进了移动操作系统所使用的文件系统。
随着Windows CE 5的发行,一项新技术被提供给OEM厂商,让Windows Mobile 5.0平台的OEM厂商,可以对基于FlashROM的操作系统打补丁(QFE)。相比之下,之前的版本要么需要OEM厂商提供包含错误修正与升级的完整Flash镜像,要么就只能使用放置于内存中的补丁,而这种内存补丁在设备断电之后就会丢失。
Windows CE的内存结构
在2000年代初期,闪存的价格仍旧昂贵,存放手持设备的系统ROM的通常是写入速度很慢的EEPROM(NOR Flash)甚至是不可擦写的Mask ROM(这也是CE2.0时代升级ROM需要更换芯片的原因,参见Windows CE简史之二),因此微软的工程师设计了在RAM中划出特定区域存放用户数据和应用程序的办法,存储内存(Storage Memory)类似于一块RAM Disk,用以存储数据,而Program Memory用来运行程序,既所谓“运存”,设备带有备份电池(通常是小容量的纽扣电池)保证主电池用尽后数据不会丢失(参见 Windows CE简史之一)。直到2004年之后,闪存价格才开始变得便宜。Windows CE 5.0允许OEM厂商关闭Storage Memory区域而改用闪存存储用户数据(分为可修改的用户数据区域和不可修改的系统区域,今天的Android和iOS设备也使用类似的方式运行),此时全部的内存都可以用作运存,备份电池也可以取消。所有的Windows Mobile 5设备都是使用闪存模式的。
这一技术使消费者能够看到Windows Mobile 5.0设备的安全性和稳健性达到了一个新的高度,使用这一技术写入设备此时已经可以商用。
但Windows CE 5.0仍然存在一个尚未解决的问题,就是如何将存储卡和内置存储分离开来。使系统中所有的卷被作为一个单独的实体,而非作为对主内存的扩充。从Windows文件系统架构的角度来看,实现这一点有相当的困难,因为这一特性要追溯到1996年Windows CE 1.0发布之前Pegasus开发团队的一些决策。
Windows CE的存储器管理
从Windows CE 1.0开始,Windows CE的文件目录结构就与桌面版本的Windows截然不同,Windows CE没有盘符,而是类似于Unix类系统那样将外置存储器作为特定的目录挂载在主文件系统上。 存储内存区的内容和ROM的内容会共享一个文件系统,存储在ROM中的文件有一些是只读而且不可更改的,有一些则可以被存储内存区的同名文件覆盖,厂商通常利用这种方式提供系统的补丁,但当设备完全断电或硬重启之后,由于存储内存区的数据被清除,以这种方式安装的补丁也就失效了。
Windows Vista几经跳票之后于2006年11月发布,紧随其后的则是2007年2月的Windows Mobile 6.0,WM6的界面使用了类似Windows Vista的立体风格,但却并没有使用最新的CE 6内核,而是使用了CE 5.2。
配合Office 2007的推出,Windows Mobile 6.0加入了一系列应用程序层更新,新的Pocket Office加入了Pocket OneNote,Office Open XML支持等功能。除此之外,针对网络应用的流行,WM6增强了VoIP功能,加入了回声消除和MSRT解码器,Pocket Outlook支持使用HTML格式的电子邮件,而Pocket IE也加入了AJAX,JavaScript及XMLDOM的支持。
2008年愚人节发布的Windows Mobile 6.1是Windows Mobile 6.0的小幅增强版,加入了对话式短消息,浏览器网页缩放等功能。
Windows Mobile 6.5
在Windows Mobile 6推出三年之后,作为Windows Phone 7上市之前的过渡产品,微软发布了Windows Mobile 6.5,增强了对电容触摸屏的支持,并改进了系统界面使之更符合手指触摸而不是之前的触控笔操作。
Windows CE 5.0 版本历史
CE 5.0 Core(Macallan,2004年7月9日)
CE 5.0 Windows Mobile 5.0(Magneto,Beta 1t,2005年2月16日,RTM 2005年5月10日,P/PC和Smartphone 版本)
CE 5.0 Windows Automotive 5.0(2005年7月12日,接替Windows Automotive .net)
CE 5.0 Networked Media Device(NMD)Feature Pack(Tomatin,2006年4月4日)
CE 5.0 Windows Mobile 5.0 Second Edition(Crossbow,上市名称为Windows Mobile 6.0)
Windows CE 5.0时代的设备正式的同步客户端是AcitveSync 4.x
Windows CE 6.0
Windows CE 6.0延续了演变和创新的趋势,使Widnows CE成为一个更加稳健也更具扩展性的嵌入式操作系统,作为与Windows Vista一同推出的新产品,CE 6.0为Windows CE带来了一系列显著的底层改进,大大丰富了嵌入式设备的种类,并为Windows Mobile和微软的合作伙伴们提供了未来市场增长的重要途径。
Windows CE 6.0原定于在2005年的第二季度发布,最初的代号Cardhu是受同名威士忌启发而来。由于大量资源被投入到Windows Mobile 5.0和其他一系列Windows Embedded项目当中导致Windows CE 5.0的发行周期向后拖延。Cardhu计划在2005年底被取消,而相关的开发资源则用于支持Yamazaki项目团队的新计划。
由于Windows CE 6.0丰富的硬件支持和灵活的系统配置,使之广泛的用于嵌入式系统的开发和教学
最为明显的低层改变是系统内核的寻址与资源分配机制。之前版本的Windows CE内核中有一个名叫32/32的限制条件,既系统只能支持32个进程,而每个进程只能寻址32MB虚拟内存(VM)。Windows CE 6.0所使用的新一代核心将解除这一限制,作为新内核在进程、寻址、驱动和应用程序交互方面的诸多改进之一,新的宏内核将支持高达32,000个独立或虚拟进程,每个进程的虚拟内存上限也达到2GB。这是继Windows CE5.0内核将内存寻址上限增加到2GB之后的又一大改变。
首先,Windows CE6仍然将注意力集中于ARM架构,新的BSP和编译器将支持新一代ARM处理器,既ARM6系列处理器。同时Windows CE 6将是微软中第一款支持ExFAT文件系统的操作系统,ExFAT是微软面向21世纪的应用需求对文件分配表(FAT)文件系统所做的最新改进,目前(2006年)ExFAT文件系统仍有许多细节尚未公开,就我们已知的信息而言,ExFAT文件系统(至少在Windows CE的角度来看)是为外部存储设备而设计的,Windows CE将能够利用外部存储设备(如固态CF卡和SD卡)来扩充对象存储的容量。ExFAT的寻址系统将针对嵌入式设备优化,并完全解除了由微软人为加入的32GB最大卷容量限制。此外,诞生于当今的数字多媒体时代的ExFAT也将摆脱(FAT32的)2GB文件尺寸限制,这将不同于桌面Windows系统使用NTFS文件系统的解决方案。实际上此时微软也希望此举能够增加搭载Windows CE 6.0操作系统的Windows汽车的数量。
Windows CE 6.0被大量用于GPS这样的车载电子产品上,许多爱好者针对车载设备开发了一系列非官方的“解锁”程序,使其可以运行厂家提供的导航程序之外的软件,MioPocket是最为流行的解锁程序之一
与Windows XP中NTFS文件系统的新功能类似,CE6对文件系统的改进让OEM厂商可以使用文件系统加密来对单个文件或卷进行加密,这将进一步增强移动设备的安全性,这一点对企业级和数字通信领域来说尤为重要。同时微软也为Windows CE对象存储添加了基本的用户权限功能。最初版本的CE6 Platform Builder并没有包含文件权限功能,不过这一功能的地基已经打好,不久就会以Windows CE 6.0功能包或新版本的形式加入。目前我们仍不确定ExFAT是否可以支持基于权限的文件访问控制。
Windows CE 6.0继续推进对语音IP电话(VoIP)的支持,将应用程序层所提供的VoIP整合进一步推进到由基础系统提供的VoIP支持。新加入的控制面板选项和Exchange/Outlook同步支持,让OEM厂商可以根据用户的实际情况灵活配置通过手机网络、无线或有线网络来实现VoIP功能。对VoIP的支持将是新版本对网络协议栈所做的扩充中最重要的部分。除此之外新版本还加入了对802.11i,WPA2,802.11e(无线QoS),蓝牙AES安全和A2DP/AVRCP蓝牙配置的支持。这一系列改进兑现了微软对嵌入式系统的承诺:可漫游、强安全、以及稳定可靠的语音与数据通信。
2007年底上市的蓝魔V80可能是中国最早使用Windows CE 6.0的设备之一
最后,从用户的角度来看,Windows CE 6.0的改进兑现了之前对多媒体功能的承诺,加入了对Windows Media 10播放器的支持(RTM发行时可能会支持Windows Media 11规范),整合了原生的网络多媒体设备规格,并第一次在Platfrom Builder中加入移动媒体中心支持和富媒体应用程序支持。通过加入对Windows Media Connect 2.0的支持,CE 6实现了与Windows Vista,XBox 360以及其他分布式多媒体装置的无缝集成。
Windows CE 6.0在多媒体方面的其他重要改进包括
TIFF解码器支持
兼容HD-DVD解码器
DVD (MPEG-2) 解码器
可扩展的音频/视频格式支持
UDF 2.5读取驱动程序
虚拟环绕声引擎
多声道音频功能
改进DirectDraw系统以支持隔行电视信号
USB On-the-Go(OTG)功能(允许单个 USB 以点对点方式协商主机和客户机角色)
微软承诺Windows CE 6.0将提供丰富的底层和用户层功能,同时微软承诺相比CE5而言CE6所增加的资源占用将少于5%,这将保证Windows CE将继续作为一款集稳健、模块化和小型化为一身的Windows环境。
开发阶段的魅族m8,开发时的代号为mini One,魅族m8是中国智能手机行业定制系统的先驱
为了说服OEM厂商、开发者和开放市场接受Windows CE 6.0,微软一直在努力向外界展示其与现有代码的兼容性,旧的代码无需承受任何额外的性能开销就可以直接运行。作为针对推销CE 6所做的一系列努力的一部分,在2006年5月23-25日的Windows硬件工程师大会(WinHEC)上,微软展示了其内部移植工作的成果:Windows CE 5.0的Windows Mobile 5.0用户层被成功移植并稳定运行在Windows CE6.0 beta版上。
Windows CE 6.0 版本历史
CE 6.0 Core(Yamasaki - 开始时被称作Cardhu,2006年9月15日)
Windows Mobile Vista 6.0(Photon,预计于2007年发行,后来此计划被Windows Phone 7取代)
Windows Mobile Device Center是Windows Vista标配的移动设备桌面同步软件。
走向未来
Windows CE未来的处境我们仍不得而知,随着消费市场的迅速变化,嵌入式技术在许多情况下正在都将继续向全功能设备看齐,Windows CE则必须重新定位自身的角色。微软已经对外展示了他们对Windows XP这一旗舰操作系统进行内核裁剪的成果,证明这将是开发小型化精简版操作系统的可行方案。一系列针对Windows XP Embedded和欧盟版本Windows的案例研究证明了Windows并非如微软所说的那样无法修改。
曾经计划开发的Windows Mobile 7.0 Photon,最终该计划被Windows Phone取代
发行于2004年夏天的Windows CE 5.0已经开始落后于这个时代,尽管微软依旧努力改进其内核技术,并以功能包和Platform Builder QFE的形式添加了一系列用户层功能,但嵌入式开发者社区并未能在此技术上实现足够的创新。
我们期待版本号已经追上Windows Vista(NT 6.0)的Windows CE 6.0 Yamazaki,能够延续Windows CE在其专有领域中所获得的成功。Yamazaki最终将成为Windows Vista产品群的一部分,届时将提供可以搭建伴侣型设备的独立嵌入式OEM系统构建工具及配套工具软件,嵌入式和非嵌入式系统的区别将更加模糊。