Windows 7背后的中国秘密
Windows 7正式发布了,大家很关心开发过程中的中国智造,在中国的Windows 7.0研发团队,在过去两年当中到底经历了什么样的故事?下面还从微软内部的“白发魔男组”说起。
一位来自微软的“白发魔男”
张琪是来自服务器与开发工具事业部的员工,负责MSXML和WDAC。MSXML对计算机而言是计算机交流的普通话,WDAC呢,就是当用户通过程序或浏览器查询航班信息、交易股票时,在幕后负责于对应的数据库建立访问接口。
这两个组件是Windows7的核心组件之一,他们的性能对整个Windows 7性能提升是非常有益处的。“我们在开发过程中看了很多代码,特别是性能调优部分,甚至做到了逐行的阅读Windows代码。我加入微软之前有人告诉我 说,Windows的程序员一年改十行代码就可以了,这个我也同意,但是你要读一百一千行的代码才可以保证这个性能。”
张琪他们曾经遇到一个奇怪BUG,大家知道Windows开发过程中,编程模型和硬件条件都有很大的变化,以前很多小概率的事件,在 Windows 7就会频繁发生,给他们带来很多麻烦,而且这个事情是随机事件,重现很困难,更不用说修复了,导致这些年轻工程师头发都急白,就差去烧香拜佛了。最终经过 自己的努力,最后还是这个问题解决掉,白发魔男由此得名。
Windows7研发的“何首乌式”自救
3G上网卡的火爆,微软不得不重视如何让WINDOWS7支持3G上网卡,微软硬件创新中心的宋鸿鸣团队,从08年初的时候发现国内大概有 50%的上网卡在Windows 7上不能正常工作,于是通过与运营厂商合作,测试了大概300款上网卡,已经把上网卡的兼容性从50%提高到了近90%。正在他们踌躇满志的等待发布这一 天到来的时候,突然市场发生一个快速变化,今年517电信日的时候,电信运营商大范围的部署上网卡,这样市场上的厂商从主流的6家变成31家,市场兼容性 也从90%跌到60%,这是因为厂商数量的突增引起的的,面对这个问题又一团队几乎是一夜白了头!
还好,微软人都是名医出身,知道如何自救,宋鸿鸣说“我们有三大何首乌,第一是和运营商合作,把兼容性纳入产品规范。第二是和硬件厂商合作,帮 助他们开发符合Windows徽标的产品。第三个是用Windows 7中最新的特性为用户提供高级的用户体验,使用户从五次点击可以上网变成两次点击。目前运营商和硬件厂商已经在国内开始大幅部署相应产品。“
银行不急微软急
网银的使用日渐普及,但是银行最讲究的是稳定,他们并不想和微软一起升级冒风险,他们认为目前最多的用户是XP用户,对WINDOWS7缺少足够的热情。
许建志称他们的团队经历其实可以分成苦辣酸甜几个阶段来形容,为什么苦呢?因为非常复杂,从技术层面上非常复杂,因特网上有个人银行、企业银 行、个人用户,这个搭配就非常多了,加上USB key,许建志拿起一串20多个USB key给记者看“这是我们部门测试的部分而已,就有这么多,所以搭配起来的组合让我们知道这个非常非常复杂。”
第二个当然是银行的态度,因为银行觉得以前多数用户来自XP,他们觉得不急,微软很急,于是就反复跟他们谈,这个过程总算是渡过了。然后还有一 些成果纳进来,包括跟支付宝合作,刚宣布说了支付宝已经支持Windows 7了,网友就进行了测试,然后反馈就回来了,说这里不行,那里不行,然后许建志们就非常痛苦。第三个,就是酸了,其实是工程师过去一年,跟银行的人,从完 全不理到跟他们的工程师变成拜把兄弟,甚至开发会出来之后银行经理还送他们去搭电梯,这个过程是非常辛酸的。最后是乐,现在也有很多成果了,也得到内部研 发集团的肯定,这是非常有趣的历程。
这样让Windows7性能提升
每一个新产品的发布,得意之处都是性能的提升,WIN 7的性能提升依靠谁来完成?李杭团队从收据数据开始发现问题。
这个团队在过去两年中,分析了大量性能数据,找出很多性能问题,并协助相关性能团队进行优化。他们收集性能数据主要从两个方面,一个是内部用 户,一个是外部用户,“从Windows 7第一个版本开始,Windows内部就有上千人在试用,他们试用当中发现问题就会把这个问题记下来让我们分析。我们在Windows 7研发过程中,及早就开始这个工作,从而保证每一个内部版本都有分析。外部部分呢,我们通过一个用户体验改善计划,来帮助终端用户解决他们实际使用中遇到 的问题。”
从两个例子中可以看到他们平常是怎么分析数据提高性能的。包括如何减少电池使用时间,还有一个如何减少系统启动时间。对于笔记本和上网本用户来 说,如何减少电池使用时间是非常关键的性能问题,这个性能主要因素就是CPU过多使用电量使电池使用过快,微软的研发人员发现有些工具里面过多的设置了定 时中断,导致CPU很难进入休眠时间,于是通过合理的定时中断达到减少使用量的目的。另外启动时间过长也是大家关心的问题,他们分析大量性能数据和相关团 队改进性能问题,使引导时间得到显著提升。比如引导过程中,Windows会对服务分组,按组依次启动这个服务,“我们发现有些情况下,前面组的服务会依 赖于后面组的服务,从而导致较长的等待时间,从而影响系统的启动时间。”
像这样的研发故事还有很多,像WINDOWS7的28000个硬件兼容性问题,1300个软件兼容,中国用户关心的数字电视的使用,Windows7的中国团队以他们出色的能力给Windows7通行世界给出完美的答案。