“我绝不会使用Windows Embedded Standard!”相当强硬的申明,对不对?那么,为什么我们不能用Windows Embedded Standard呢?
原因1:该操作系统系统太大。
原因2:不支持实时功能。
原因3:该操作系统不安全。
原因4:很难按我的需要来配置该操作系统。
原因5:这些工具太昂贵了。”
原因6:许可证费用太高。
原因7:“没有任何支持。”
原因8:没有任何驱动程序支持我的硬件
原因9:我不希望我的嵌入式设备看起来像Windows。
原因10:没有任何培训资料可以协助我的项目。
原因11:没有任何合作伙伴可以提供硬件、驱动程序、引导程序或培训。
原因12:很难找到从事我们项目的工程师。
原因13:很难使开发者从一个平台迁移到另一个平台
我想这上面已经提到了很多,可能还遗漏一些。如果你还发现了其他一些关于在嵌入式设备中使用Windows Embedded Standard系统的缺点,请通知我。
如果以上列出的原因都是真实可靠的,我理所应当的不会再对使用Windows Embedded Standard感兴趣。列表中给出了一些我们的客户关于使用Windows Embedded Standard操作系统共同的看法,让我们从头到尾的以《流言终结者》(一个美国的科普电视栏目)的风格,来依次澄清这些看法。
1. 该操作系统系统太大。
首先这里要指出的是,Windows Embedded Standard是组件化的操作系统,所以你要挑选适合你所构建的设备的操作系统组件。Windows Embedded Standard大概有12000个组件。(其中大约有9000个组件是设备驱动程序,其余组件才是操作系统自身的部分)。
Windows Embedded Standard的最小构建规模是5MB,但这仅仅是内核部分。在这种规模下,你除了启动和运行系统外(或许还能完成像在输出设备上显示“Hello World”这样简单操作),不能处理其他任何有用的事物。Windows Embedded Standard的平均规模是300MB,这当然远小于在个人电脑上安装的一个专业版的Windows XP系统(其规模大概在1.5GB左右)。当你在安装Windows Embedded Standard系统时,可以挑选在你的平台上所需要的硬件、软件组件。比如,如果你不需要Windows Media Player、DCOM、RPC和IE,在安装系统时你不安装这些组件就可以了。
这种以“根据客户需求”的原则来安装嵌入式设备操作系统的方式,意味着你可以按你自己特定的应用场合来安装所需的设备组件。而对于其他一些系统而言,常常是在安装你的项目所需组件时,也自动的安装很多系统所附带的程序。在你的嵌入式设计中减少操作系统相应的组件,并不是为减少原系统的痕迹,而主要是为提高系统的安全性。
2. 不支持实时功能。
我不知道为什么我总是能听到这种观点。虽然Windows Embedded Standard的确不是一个实时的操作系统,但是有很多针对该系统的第三方实时软件,比如Real-Time Systems、Tenasys、Interval-Zero。
3. 该操作系统不安全。
Windows Embedded Standard 2009系统是在Windows XP SP3专业版的基础上开发出来的,先了解一下SP3概述文档或许对你会有帮助。这里首先要说的是Windows Embedded Standard是一个组件化的系统,你可以选择你所需要的组件安装在你的系统中。如果你不需要诸如MSMQ、DCOM、RPC或其他一些网络应用程序,可以不将它们安装到你的系统中去。回头看看你会发现一些攻击桌面系统的病毒和蠕虫,大多数是通过MSMQ、DCOM、RPC和其他一些开放的端口进入个人电脑中的。而使用Windows Embedded Standard 2009的客户,你拥有SP3的系统升级权限,包括像防火墙这类程序(除80外的所有端口都是默认关闭的),还支持缓冲区溢出不执行(No Execute)和检测功能(这些都在Joe Morris专访Windows XP Embedded开发团队时做出过相应的解释)。此外,第三方的反病毒保护措施也可被运用,比如像CA、趋势科技等。
4. 很难按我的需要来配置该操作系统。
Windows Embedded Standard系统是一个组件化的操作系统。类似于Windows Embedded CE,有许多的起步模板来辅助你进行系统配置。这些模板可用于配置包括set-top boxes、基于Windows的客户终端、互联网应用等。你也可以完全从头开始,按你的需要来挑选硬件和软件组件。从安装Windows Embedded Standard到运行这个新平台,这一过程是很简单的,从安装工具开始到启动这个客户Windows Embedded Standard镜像,你只需要花不到一个小时的时间。由于Windows Embedded Standard所支持的底层的硬件是x86并基于PC架构,你可以运行一个工具来分析你的硬件,并产生包含硬件列表的XML格式输出文件,为开发提供参考。通过这个XML文件的说明,你能够准确的掌握硬件的基本概况,从而可以相应的调整自己的项目目标。而在掌握了硬件概况的基础之上,你只需要根据相应的模板或安装单个软件组件来配置你的操作系统。这些听起来也很简单,不是吗?根据教程这一过程看上去是多么的简单啊。以上述同样的方式,你可以在虚拟的环境中安装和运行Windows Embedded Standard镜像,比如在虚拟机上。
5.“这些工具太昂贵了。”
好吧,这个解释起来比较简单。 Windows Embedded Standard评估工具可以免费从微软官方网站下载获得。再次郑重强调,这一工具是免费的!你现在就可以下载Windows Embedded入门套件。在过了操作系统和工具的评估试用期120天之后,你需要购买完整的产品。这篇文章发布的时候,Windows Embedded Standard产品的售价为995美元。请注意,如果你下载的是Windows Embedded CE的试用版,你也会得到完整产品及其包含的250万行源代码。
6.“许可证太贵了。”
什么时候是你该为嵌入式操作系统购买许可证呢?这很简单:当你真正开始销售产品给用户的时候。你无需任何许可证即可使用评估版工具(或完整的产品)建立和发送操作系统镜像测试版给客户。
但操作系统许可证的费用是多少呢?Windows Embedded Standard许可证的费用是很便宜的,大约为每台设备90美元。同样,请注意在你销售实际产品的时候才需要购买运行时(run-time licenses)许可证,因此开发成本是相当低的。开发工具可免费从Microsoft Embedded Web站点下载,并运行120天。之后,完整的产品售价为995美元。访问 “如何购买Windows Embedded操作系统”的网页可以获得更多信息。
7. “没有任何支持。”
有许多途径可以得到对于Windows XP Embedded的支持(注意“免费”一词再次被使用!),包括从免费支持到培训课程,合作伙伴协助开发,以及来自微软开发人员的支持。其中免费支持包括由我们的合作伙伴和开发团队维护的新闻组、在线聊天和教程。
8、“没有驱动程序支持我的硬件”
Windows Embedded Standard拥有与Windows XP Professional台式机版本相同的驱动程序,包括在Windows Embedded Standard中作为独立组件的9000多个驱动程序。通过Windows Embedded Standard开发工具,你可以轻松地添加其他的驱动程序。在Windows 2000或Windows XP下三分之一的驱动程式可以通过输入驱动的INF文件直接导入到windows Embedded Standard目录下。随着INF文件输入和组件被检查进入组件数据库,你可以像使用任何在这个开发工具中的其他驱动程序那样来使用这些新的驱动。
9. “我不希望我的嵌入式设备看起来像Windows”
每个嵌入式系统都有自己的用户界面需求。在某些情况下,嵌入式系统可能没有用户界面,唯一的用户界面可能是基于Web的。组建基于HTML / DHTML的用户界面非常灵活,可以为你的远程用户界面可提供完全定制的外观。在某些情况下,基于HTML的用户界面也可以适用于headed设备,在这种情况下,你的设备用户界面可以使用Internet Explorer应用程序,或将IE ActiveX控件嵌入到定制的应用程序中。
你可能想让你的设备拥有一个像Windows桌面那样的用户界面,这对瘦客户端设备和手持终端来说是有用的。Windows Embedded Standard有一个已经成为可选组件的Windows资源管理器shell,这意味着你可以建立一个没有用户界面设备(headless),或建立一个可以直接起动到定制应用程序或shell的设备。这种有完整shell体验集成的设备一个很好例子便携式导航设备。该设备的最终用户不需要任何Windows用户界面,没有访问到桌面的接口(因为桌面不存在),没有访问到控制面板的接口(因为没有控制面板),等等。你可以开发你自己的应用程序,使之成为设备其中的一个shell。Windows Embedded Standard工具包含了一定数量的shell,其中包括Windows资源管理器、命令shell和任务管理器shell。显然,开发人员可以为设备选择合适的用户体验。
10.“没有任何培训资料可以协助我的项目”
对于Windows Embedded Standard,培训是个可行的办法。Windows Embedded Standard培训课程需要2天。访问Windows Embedded伙伴的站点以找到离你距离最近的培训中心。
11、 “没有任何合作伙伴可以提供硬件、驱动程序、引导程序或培训。”
我们的合作伙伴比你所想象的更多,其数目接近600家,分布在世界各地的50多个国家。在Windows Embedded合作伙伴网站上你可以找到产品、服务或硬件合作伙伴,以协助你现在的或以后的项目。
12. “很难找到从事我们项目的工程师”
.NET Micro Framework、Windows Embedded Standard、Windows桌面和Windows Server的开发有什么共同之处?程序员使用C#和某个公共语言运行库(CLR)版本都对它们进行编程。Windows Embedded Standard(也包括桌面和server)对Win32、Microsoft基础类(MFC)和活动模板库(ATL)都能适用。因此,如果你的开发人员拥有在桌面上使用Win32、MFC或者ATL的Windows进行编程的经验,那么他们也可以为Windows Embedded Standard建立Windows应用程序。如果开发人员已经拥有应用程序开发的经验,也可以在.NET Micro Framework和Windows Embedded Standard上熟练的编程。此外,全世界有超过600万的开发者在Windows平台下学习编写代码,有大量的资源可以帮助对你和你的项目。
更有趣的是,大量的.NET Framework扩展正在开发,你需要只要访问The Code Project 和 OpenNETCF.org就能了解有关消息。此外,工程师可以轻松的从Windows Embedded CE迁移到Windows Embedded Standard项目上来,因为他们已经知道如何在该平台上进行编程。
13.“很难使开发者从一个平台迁移到另一个平台”
这正如刚才的话题基本一样。如果我们的工程师已经知道如何在WIndows平台上编程,那么他也会懂得如何在Windows Embedded Standard上编写代码。你还应该明白,Windows嵌入式平台是基于WIndows XP3补丁包的,现有的桌面操作系统应用程序和驱动程序不需要做任何的修改就可以直接应用于Windows Embedded Standard上。WIndows Embedded Standard的底层硬件平台是基于X86 PC构架,所以我们开发者不需要特别的去了解嵌入式平台,就可以进行开发的工作。
【编辑推荐】