访微软公司 Windows Embedded 事业部软件架构师Mike Hall
近日,微软公司Windows Embedded事业部软件架构师Mike Hall作为展会现场授课主讲人出席了IIC China 2008深圳站的展会,嵌入式在线的记者有幸采访了这位曾经是名英国警官的软件架构师。Mike Hall和大家分享了他作为一名警察的经历以及基于Windows Embedded的产品设计和开发。
做软件比做警察更有乐趣
作为一名工程师,你曾想过白天在公司里编写着代码进行着软件设计,而到晚上穿着警服在街上巡逻?微软Windows Embedded事业部软件架构师Mike Hall先生就曾同时体验过这两种完全不同的职业。面对记者好奇的提问,Mike Hall介绍道:“因为在读书的时候,我的兴趣分两个方面,一方面我对电子产品和软件比较感兴趣,另一方面我希望成为一名警察;这是个很困难的决定,到底走技术的道路,还是走警官的道路呢。一开始我接受的培训是关于硬件和软件的,学习一段时间以后,我发现我对软件产生了浓厚的兴趣,因为我发现面对在软件上的困难要比面对在一个主板上的困难要简单一些,所以我最终决定走技术的道路。”
据Mike Hall介绍,在英国,警察分两种,全职警察和兼职警察,这种兼职警察白天有其他的工作,到晚上做警察。“我就报名加入他们的团队,在白天我在公司进行编码工作,到晚上就带上英国警察特有的高帽子在街上巡逻。” Mike Hall风趣的说。
揭秘Windows Embedded操作系统的研发策略
大多数情况,工程师在项目开发时,都是基于某种嵌入式操作系统之上的开发,我们通常只关心这个操作系统有哪些特点和功能,而很少会去考虑操作系统本身是怎么设计研发的。作为微软Windows Embedded 团队的软件架构师,Mike Hall给大家讲述了微软Windows Embedded操作系统的设计理念。
“关于操作系统的设计,我觉得有一点很重要,那就是要给开发人员提供足够好的工具和技术,才能确保他们设计上的生产效率。那就是为什么我们在Visual studio和Windows XP里面给他们提供了先进的工具和最好的技术。与此同时,还可以帮助他们在需要的情况下增加价值。” Mike Hall介绍道:“用户可以使用我们给他的工具和基础的框架,能够把精力更好地关注在设计产品,而不是调节质量以适应操作系统之上。在Windows CE和Windows XP Embedded里面,我们给他们提供一些工具让他们可以把所有的精力都关注于产品设计,以及怎么样让这个产品体现更大的价值,而不是关注怎么样调整操作系统。我们操作系统从一开始设计,就围绕这个点,使你不用分心再管其他的工作。”
Mike Hall接着说道,操作系统必须用在客户硬件上面,所以说,我们必须要使开发人员在开发过程中,能够在使用源代码的时候,遇到最小的障碍,从而保证他的开发性能。每次我们推出一个新版本的操作系统,实际上会开发更多的源代码,在Windows Embedded CE 6.0的时候,我们把整个内核用源代码的形式分配出去,这样我们的开发人员,一方面能够更好对系统进行检查,另一方面能够帮助他们修改和调整软件,从而满足在发展过程中和开发过程中的不同需要。
我们再看Windows CE的架构,它的操作系统分为两层,第一层叫做内核内层,主要把操作系统导入设备里面,另外高的一层是技术层面的,一般来讲在开发人员使用的时候,主要关注是内核层。实际上,我们在提供源代码的时候,很多部分是符合应用于较高技术层面的一层。
“对于开发人员来说,他们可以轻易访问源代码是非常重要的。这样的话,他们可以比较方便地把操作系统输入到他们的硬件之中,而且对现有的嵌入式系统做出任何改变。”Mike Hall补充道:“但是我们看Windows XP Embedded,对于开发人员,他们并不需要知道源代码,因为他们使用的是传统的PC主板,来应对这个目标设备,它不需要把相关的操作系统导入进去,只要选择原来的操作系统,建立一个相关的运行项目就可以。Windows CE架构过程中,因为我们要把它植入一个新的操作系统和新的硬件之中,因此取决于这个硬件的复杂性和整个导入的过程,可能需要好几个月,和几年的时间。但是Windows XP Embedded相对来说时间比较快。从概念成型到发货,一般我们只需要12个星期就够了。”[page]
基于Windows Embedded的开发策略
在过去,电子企业在开发一个消费设备或者是嵌入式设备的时候,采取是单一的设备开发方式,但这些产品常常要被新产品淘汰,这就意味着我们的开发人员必须重新开发软件组件,给开发人员带来了很多重复的工作。
对此,Mike Hall介绍道,Windows CE和Windows XP Embedded是组件化的操作系统,例如在Windows CE里面,提供了700个操作系统功能组件。如果我们在设计的时候,一开始在理念上可以想到可以采用组件化的方式,整个设计过程会更加简单,也可以更加轻易地重新使用相应的组件和相应技术。对Windows CE和Windows XP Embedded来说,开发人员可以很容易在硬件层次,以及在驱动层面进行设计。
在组件化的环境里面,用户可以一方面设计一个产品使用一种芯片组,使用这种外设,在设计另外一个产品的时候,可以使用同样的芯片组,只是更换不同的外设,这样的话在设计第二个产品的时候,工作就比较简单,因为他可以采用原来芯片上所采用的技术,只要把工作的重点放在采用新的外设上,这就更加地简便。
微软一般发布新的嵌入式操作系统的周期是两年。每两年都会推出一些新的操作系统。在这两年之间,会有一些技术方面的改进,如功能包等。刚发布的Windows Embedded CE 6.0 R2版本,就提供了一些新的组件和新技术,对开发人员来讲,可以有比较多的选择。一方面可以有效的重新使用原来的技术,而另一方面可以使用一些新的特性和新技术,能够把现有产品升级,让他们发挥新的功能,增加新的价值。这对开发人员,对其公司来讲是非常重要的。这可以更好的使用原有的组件,提高工作效率,让产品更快地上市。
当问到开发人员对源代码的使用时,Mike Hall表示,Windows CE版本分两个,一个是评测版,另外一个是完整版,里面有更小的源代码,源代码包括所有内核方面的代码,还有一部分是操作系统方面的。这种源代码就是操作系统其他部分的源代码,不包括其他第三方软件许可,所以开发人员在开发的时候,所能够使用的源代码,就是包括内核和操作系统里面一部分,还包括管理器,WEB服务器等,这在使用的评估版本和完整版本都可以获得。
“但是如果想获得更多的源代码,必须要取得第三方软件的许可。这里面有一个申请的过程。实际上,在这两种层次上,开发人员获取源代码是完全相同的,他们一方面可以观察源代码,了解它,为他做进一步调整改进,或者是重新构建,同时可以把修改的结果进行分享,在所有分享过程中,他们不需要向微软回报,他们可以把所有的改进与微软分享,所有的改进上面所体现出的知识产权,是由他们自己保持的。” Mike Hall补充说。
在开发工具方面,今年2月份微软公司向开发者们正式发布了新一代开发套装Visual Studio 2008,新版本的开发工具对Windows CE的支持可以说是开发人员最为关注的问题。
对于这个问题,Mike Hall介绍道,对于应用程序的技术开发人员来说,如Windows 32,MSCE,.net应用程序方面的语言,他们现在可以使用Visual studio 2008来编写适用于Windows CE的应用程序。
对Windows CE来讲,我们需要一个SDK,就是软件开发的一个工具包。如果要开发操作系统的话,他们可以通过APL来选择最好的平台,对他们来说,他们可以既选择Visual studio 2005也可以选择Visual studio 2008。
Mike Hall特别介绍道:“对于操作系统的开发人员,目前Windows CE是Visual studio 2005的插件,Windows Embedded CE 6.0只是在Visual studio 2005里面可以找到。不过,我们看客户是否需要把这个插件也导入到Visual studio 2008之中,我们要根据他们的反馈,是否重要,所以我们再考虑是否要把Windows CE变成Visual studio 2008插件。”[page]
从多个层面解决嵌入式设备的安全问题
嵌入式设备的上网、互连越来越成为一种趋势,然而设备的安全问题也越来越受到人们的关注。
“设备的安全问题越来越重要,我们可以回顾一下嵌入式产品的发展,在好几年前的时候,所有的设备实际上都没有相互连接,那个时候我们讲的安全是物理上面的安全。” Mike Hall说道。
针对设备的安全问题,Mike Hall介绍道,实际上,在安全方面有不同层次,其中有两个方面比较突出,这就是在操作系统和技术方面。比如公司里使用的投影仪和家里的自助系统,如果我们使用WSD(Web Services on Devices网络通信协议,Windows Vista中最新的网络协议)最新技术,我们可以发现这个技术里面已经内建安全方面的程序。你的设备制造商在进入这个系统的时候,可以做出选择,当您选择建立一个完全开放的系统时,系统就没有任何限制措施,所有的机器之间设备之间可以自由对话;也可以选择加入安全措施的架构,这样新设备进入以后,需要通过一定授权方式,才可以实现机器之间的对话。
据Mike Hall透露,一开始微软在于2006年11月份发布的Windows Embedded CE 6里面加入了一些基础的WSD技术,主要是用于网络投影仪组件。即可以通过寻找网络投影机的方式,或者是插件方式插入到投影机里面,来实现网络投影。而在2007年11月份发布的Windows Embedded CE 6.0 R2版本里面,把这个功能拓展了,使WSD技术在更广泛的层面上得到应用,让它可以用在更重要的领域,或WSD的端口,这样开发商都可以轻易建立相应的设备。
Mike Hal继续介绍道,这里所说的安全措施在整个操作系统里面分为不同的层面,对Windows CE和Windows XP Embedded,这两个是组件化的操作系统,意味着开发人员在开发的时候,只要选择他们所需要的操作系统的组件和驱动程序的组件就可以了。这样的话,一方面使整个系统占用空间更小,另一方面系统的安全隐患也比较小。可以选择其他的组件,从而相对于其他的系统开发商来讲,他们就不用选择一些系统安全隐患较大的组件了。
在看整个操作系统可以发现,在Windows CE里面使用操作系统架构与台式电脑完全不一样的。他主要采用在内核里面有一个OEM的认证模式,这个模式的作用使开发人员能够只在内核里面使用自己编写的编码,或者是信任的编码,只有这些编码才能在他的设备里面运行。他就可以把自己的设备锁住,不让任何新的编码使用。如果他允许第三方的编码在他的设备上面使用,这些第三方的编码一方面需要一些数据证书,或者需要其他的一些机制,才能保证这操作系统可以认证,可以信任地使用。
“在Windows CE和Windows XP Embedded里面,我们只能用客户自己的外核,如第三方软件是不能在你那儿使用的。这就意味着你不能使用其他Windows外核或者是其他用户界面。在Windows XP Embedded,如果你想试图关闭客户的外核,而使用自己的外核的话,是不行的。因为你一旦关闭,他会自动开启确保你不能使用任何第三方的程序。”Mike Hall补充道:“安全是我们重点关注的一个领域,所以我们在这方面花了很多的时间和精力。
上一篇:微软总经理在IIC上揭示未来嵌入式应用的3大发展方向
下一篇:微软制订Windows Embedded事业部发展蓝图
推荐阅读最新更新时间:2024-05-02 20:40