时间:2017-02-21 15:12
Windows CE相对于其它嵌入式工业平板电脑操作系统在技术方面的优势所在,则几乎可以一言以蔽之——Windows操作系统在桌面操作系统中的技术优势其实就是Windows CE在嵌入式操作系统中的技术优势。下面以Windows CE与嵌入式的Linux作比较,分四个方面说明Windows CE操作系统的技术优势。
(1)Windows CE有易于使用的集开发与调试于一体的集成开发环境
微软正确地认识到原先只在高校和科研单位供专业技术人员使用的操作系统要进入普通人的工作、学习和生活当中,稳定性并不十分重要,安全性也可以先放一放,而操作简单、易于使用的特点对于非专业的人士来说才是压倒一切的优点,Windows甚至因此而获得了“傻瓜操作系统”的美名。这正是微软的领导者的高瞻远瞩,抓住了这一点他们做成功了,操作简单、易于使用的特色就在微软后来的所有产品中被一直保持下来。虽然Windows CE的开发工具主要是给专业的技术人员使用的,但是操作简单、易于使用的特点加上集开发与调试于一体的集成开发环境仍可以帮助用户提高开发的效率和减少学习如何使用的时间。
(2)微软可以帮助Windows CE的用户解决技术专利的问题
技术专利的问题主要集中在音视频多媒体方面,比如MP3、MPEG-2、MPEG-4等。就我的经验来看,嵌入式电子产品的厂商对待技术专利的问题再怎么小心也做不到百分之百的放心,往往是一项技术会有多家公司或组织宣称对它持有专利,比如MP3就有汤姆逊和Sysvel同时对它拥有专利,而MPEG-2和MPEG-4的情况就更复杂。比这更麻烦的情况是,随着一项多媒体技术的应用范围不断扩大和知名度不断上升,就不断地有厂家冒出来宣称对它持有专利。微软虽然不能帮客户解决所有的技术专利问题,但是微软承诺凡是在Windows CE开发工具里以操作系统特性的形式提供给使用者的多媒体编码解码器,用户都不用担心这个问题,如果用户在这里遭遇了法律纠纷,微软可以出面帮客户打官司,微软有专门的部门和经费负责这件事。
(3)Windows CE有大量的经过嵌入式处理的应用软件和操作系统特性可供用户灵活选用
任何的计算机系统总是要依靠应用软件才能向用户提供使用价值,除用户自己或者第三方开发以外,桌面版操作系统的厂商都会随操作系统一起向用户提供一些常用的应用程序和操作系统特性(feature),前者主要包括网页浏览器、媒体播放器、办公软件等,后者则以网络协议栈、文件系统、多语言的支持库、音视频多媒体的编码解码器为代表。Windows CE是嵌入式的操作系统,微软也随它一起向使用者提供了大量的这两种类型的软件,并且给它们起了一个更时髦、更有抽象意义的名字——用户体验(user experience)。操作系统的厂商无疑是想通过这些用户体验向用户提供开发使用时的最大便利从而吸引客户,应用软件可以代替用户在需要时自己开发或者花钱另买,而操作系统特性可以在用户自己或者第三方开发应用软件时提供强有力的支持。
(4)Windows CE可以保证操作系统的软件产品质量
Windows CE毕竟是由世界知名度最高的软件厂商设计开发的操作系统,质量比较有保证。相比之下,Linux则主要是由一群组织松散的所谓“黑客”提供的程序软件。负责组织和管理Linux开源项目的GNU组织希望打破软件厂商对操作系统源代码的垄断,在他们看来这样做不利于软件技术的推广和交流,所以鼓励以开放源代码的形式开发和使用嵌入式系统。这样的目标在我们所处的这个时代虽然显得有些不够务实,却也还算崇高。但是对于大多数的通过国际互联网联系起来的做基础工作的Linux开源项目的开发者来说,除去纯粹的兴趣爱好以外,他们为Linux做事情的主要目的是出名。没有人向他们付费,他们也不用为软件的质量问题承担责任,于是重开发而轻测试就成了必然。此外,还有一个问题是由于组织松散以致各个开源项目之间缺乏协调一致,比如某个版本的Linux内核只能或者不能用某个或者某些版本的GCC工具进行编译,否则就会出错。类似这样的现象给Linux的使用者带来了不少的麻烦。这些问题对于版本众多、使用不够充分、对提高开发者的知名度又帮助较小的嵌入式版本的Linux操作系统尤其严重,我曾经亲身经历过,从Linux的官方网站下载的源代码,一字不改的情况下竟然编译不能通过。
客观地说,Linux操作系统也不缺少丰富的应用软件和操作系统特性,但是与Windows CE相比较,它所欠缺的就是这个嵌入式处理。很多软件就功能和性能来说也是很不错的,可惜它没有经过精简的版本可供嵌入式Linux的用户直接使用。Linux的使用者们如果想自己做精简的工作,只能是逐行最多是逐个函数地裁剪开放源代码,工作量之大可想而知。更严重的是,对原版代码改动越大,引入新的错误的可能性也就越大,解决的办法只有做大量的测试,而这又进一步地加大了所需的工作量。这不是GNU项目的组织者和开发者们考虑不周,他们的兴趣和目标都只在软件技术,对于任何一个开源项目他们只管实现功能,至于是应用桌面环境还是嵌入式的环境,那就是带有商业色彩的产品运作的问题,那不是他们需要考虑的。