Windows CE简史(四)

作者:蓬岸 Dr.Quest
知乎文章编号:22974222
创建于:2016-10-18 3:11:51
修改于:2016-10-18 6:55:45


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中的文件有一些是只读而且不可更改的,有一些则可以被存储内存区的同名文件覆盖,厂商通常利用这种方式提供系统的补丁,但当设备完全断电或硬重启之后,由于存储内存区的数据被清除,以这种方式安装的补丁也就失效了。

为了让更好的配合Longhorn的推出,CE 5添加并完善了一系列通信协议的支持,Macallan支持Smart Display Remote Protocol(智能显示器远程协议 - 代号Mira,于2003年底取消),让使用CE 5的“远程显示器”设备利用远程桌面协议(Remote Desktop Protocol)扩展桌面PC的使用范围。


在Windows CE 5.0中,加入了为PDA设备优化的简化版工具条,因为授权费用较Windows Mobile更便宜(同时没有了Pocket Office等应用程序),所以被广泛用于工业设备中

于此同时,Windows CE 5.0针对开发工具的改进成为其重要卖点之一。微软在Windows的历史上,第一次允许开发者利用Platform Builder查看并修改超过250万行Windows CE源代码。这被称作 Microsoft Shared Source Directive(微软共享源代码计划 - MSSD),设备开发者可以对操作系统的底层进行自定义修改,并且没有将其修改与微软共享的义务,与被GNU GPL所约束的开源社区不同,Platform Builder没有附带与其他OEM厂商或竞争对手分享修改的义务。


对Platform Builder的改进还包括了可扩充性的改进,CE5 RTM将可以支持其发布之后出现的新技术。这些新功能让OEM厂商可以在第一时间内将最新的硬件技术集成到自家的产品中,而无需在意原版的CE 5平台是否支持它们。像802.11i,802.11n和WPA2等新技术,都可以由OEM厂商扩充到Platform Builder当中。


CE 5还加入了一些使设备更加“智能”的特性,UPnP支持的改进增强了设备的位置感知能力和对不同的网络与安全系统的支持。一个叫做位置服务的新系统使应用程序可以根据用户物理位置的变动做出反应,比如说当用户在办公室时,提供与家中不同的,更加正式的人体工学布局和屏幕信息。

使用Windows CE 5.0的艾利和G10可以支持像跑跑卡丁车这样的3D游戏


Macallan兑现了对移动游戏玩家提所承诺的改进,替换了CE 3.0 Platfrom Builder中加入的DirectX子集,CE 5提供完整的DirectX 8 DirectX 3D支持,被称作DirectX 3D Mobile。游戏开发者从此可以在移动设备使用更加先进的3D图形技术。

Windows Mobile 5.0

Windows Mobile 5.0扩展了Windows Embedded平台,为在市场上奋力拼杀中的Pocket PC和Smartphone产品线带来了巨大的功能和性能的提升。

Windows Mobile 5.0内置了.Net Compact Framework 1.0 SP3,并加入了与Exchange Server配合的邮件推送功能与黑莓竞争。

为了适应手机市场的用户习惯,Windows Mobile 5.0加入了功能机上常见的左右软键功能,可以根据当前运行的程序提供不同的快捷键操作

2005年9月五日,比尔盖茨与时任Palm CEO的Ed Colligan宣布合作推出使用Windows系统的Palm手机,实际上宣告了“PDA大战”的结束

Windows Mobile 6.0 ~ 6.1

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 版本历史


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项目团队的新计划。


Yamazaki原定于2006年下半年推出,并在2006年9月15日交付给设备制造商(RTM)。这一版本的改进讲集中致力于解除外界Windows CE内核扩展能力的怀疑,微软对CE6.0解除了一系列对设备平台最严格的限制条件,包括一些之前所有版本的Windows CE都存在的限制。

由于Windows CE 6.0丰富的硬件支持和灵活的系统配置,使之广泛的用于嵌入式系统的开发和教学

最为明显的低层改变是系统内核的寻址与资源分配机制。之前版本的Windows CE内核中有一个名叫32/32的限制条件,既系统只能支持32个进程,而每个进程只能寻址32MB虚拟内存(VM)。Windows CE 6.0所使用的新一代核心将解除这一限制,作为新内核在进程、寻址、驱动和应用程序交互方面的诸多改进之一,新的宏内核将支持高达32,000个独立或虚拟进程,每个进程的虚拟内存上限也达到2GB。这是继Windows CE5.0内核将内存寻址上限增加到2GB之后的又一大改变。


微软嵌入式部门对CE 6.0的设计思路主要集中于对系统底层特性的改变,他们试图让消费者们在新的Windows CE产品中看到下面所列的一系列新特性:


保持Windows CE 5.0现有的功能(并增加新功能)


2006年5月9日的MEDC移动开发者大会上,Yamazaki对外公布了beta版本,除了上述的底层改进,Yamazaki的系统功能也大大加强,其改进之大绝不仅仅是在上一个的版本上添加一些用户层应用程序那么简单。

首先,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在多媒体方面的其他重要改进包括


微软承诺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 版本历史

走向未来

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系统构建工具及配套工具软件,嵌入式和非嵌入式系统的区别将更加模糊。

基于Windows XP的Windows Embedded POSReady 2009

Windows CE开发的主要主要动力将不可避免的来自于Windows Mobile项目的需求。而后者正是微软推进其简单易用的“数字生活”这一战略目标的一部分。由于开发Windows Mobile的消费者部门首要的任务仍是配合Vista,未来一段时间我们可能都无法看到Windows CE的显著变化,而Windows Embedded至今仍然没有明显进展。微软的怠慢可能会改变Windows CE社区对该平台的看法。微软的嵌入式部门在2004财政年度结束时亏损高达4600万美元,实际上这一从未盈利的部门总共已经让微软损失了2.19亿美元。除非更加彻底的切割Windows CE和Windows Mobile,并且清楚的向十分谨慎的嵌入式系统开发社区表明Windows CE的独立性,不然Windows CE将会出于一着不慎全盘皆输的危险境地。

我们不能排除一种可能,如果人们对Windows Mobile的缺乏足够的热情,Windows CE平台一直以来所依靠的的市场基础将逐步瓦解,而并非如微软所期望的那样将从Handheld PC到嵌入式媒体重心的开发者统一到其全新的平台上来。

智器Q5,支持Windows CE 6.0的同时也支持Ubuntu Linux for ARM

如果这些限制因素长期持续下去,将最终损害到Windows CE本身的发展,削弱其竞争力并在市场上造成混乱。嵌入式Linux社区目前正在通过创新扩展其使用范围,而大名鼎鼎的苹果电脑也在摩拳擦掌地准备随时闯入嵌入式设备领域。微软不应当继续严格限制使用它们的接口和外壳技术。

总之,Windows CE的未来并非取决于开发者和大型OEM厂商,而是取决于微软内部负责Windows Mobile的官员们。(全文完)