对微软来说这无疑是一个重创式的打击。尽管微软的高层从未在正式场合承认Vista是一款失败的产品,但是市场的不接受、用户对兼容性和占用资源过大等抱怨反馈无疑给微软从头浇了一大瓢凉水。为了加快市场的接受度,让用户尽快从XP升级到Vista,微软不得不采用停止XP升级和服务的措施迫使用户选用Vista。2009年4月14日,微软宣布停止对WindowsXP的升级和相关服务,后又因用户的强烈呼吁而将服务延期。一个拥有30多年软件开发经验、做Windows操作系统超过20年历史的全球最大软件公司,在它推动Windows产品进入第六代(Vista)之时,遭遇了前所未有的“滑铁卢”。
美国西部城市西雅图郊区的雷蒙德从来不是平庸之地,对许多人来说,雷蒙德代表着软件研发的极致:桌面软件的不断创新让人们生活在自信中,失败和失望在这里没有容身之处。在微软公司发展的30多年历史中,微软曾经历过无数次的挫折,但都挺过来了,原因是比尔·盖茨和微软善于快速纠正错误,这次也不例外。当Vista不能让微软的用户买账,一场真正的反思在这里开始酝酿。
2008年夏季的一天,微软的实验室里一项被称为“Mojave”的实验正在进行。几名来自不同行业的用户被请来给WindowsVista打分,在1~10分的范围内,他们给WindowsVista打了3分。这些“评委”大部分之前只是听说过WindowsVista。随后,实验者向这些客户展示了一款Windows的新产品,在演示了这款名为“Mojave”的软件功能和易用性后,这款新产品得到了8分。实验场景的视频片段被放到微软的官方网站上,并在电视节目中播放,很快微软的客服就收到很多电话订单,说他们要购买“WindowsMojave”。而事实是,“Mojave”根本不存在,那就是WindowsVistaSP1。
失败的迷雾开始消散,工程师们找到了Vista的真正软肋——兼容性,虽然相比XP系统Vista稳定性更好,安全性更高,画面也更加精美,但至少要有1GB的内存才可能运行Vista系统,而要流畅地运行就必须有2GB以上的内存,CPU的要求也相应提高,这就是说,基本上前两年的PC都不能够有效运行并体现出Vista的优势。
微软由此开始了长达三年的不懈努力,以便设计出一款新的Windows软件,既要轻便易用又不能降低Windows的品牌价值。为了完成这一目标,微软的工程师在开发周期的最初就对产品雏形进行明确规划,让合作伙伴能在微软正式发布产品之前一年甚至更早就开始针对它的下一代Windows7进行产品开发。
2009年10月23日,微软全球发布了它新一代的操作系统Windows7。虽然Windows7并没有改变Vista的内核,但为了纠正Vista的错误,Windows7对原来的Vista进行了瘦身优化。在架构方面,更模块化;在代码方面,把很多过去的旧代码清除掉;在用户界面方面,把复杂的功能都屏蔽掉,当需要时再调用出来。而且从开发Windows7的第一天起,微软就布下了天罗地网,在全球范围内对硬件、软件、网络进行广泛的信息收集,进行兼容性测试。当2009年9月1日,微软宣布在中国市场Windows7与92%以上的硬件和91%以上的应用软件、95%以上的网络都实现兼容的时候,这些数字的背后,是一个无法用数字来描述的巨大付出。除此以外,Windows7在用户体验上进行了很多改进,通过全球化采集用户体验,进行互动式开发,在满足用户的需求上提供了更多的地区化和个性化的选择。
从1985年微软推出第一款产品Windows1.0开始到Windows7,微软做Windows操作系统已经28年,Windows产品也已更新进入了第七代。1993年即加入微软并参与了微软全球WindowsNT开发、现任微软亚太研发集团首席运营官的申元庆接受《中国电子报》记者独家采访时表示:“在20多年的7代产品中,有颠覆性跨大步的产品也有革新性优化迈小步的产品,其中Windows3.1、WindowsNT和WindowsXP属于里程碑式的跨大步产品,而Windows95、Windows98、WindowsMe、Windows2000算是对上一代产品的完善和优化,Vista是颠覆性的产品。”“Vista这一步迈得太大,而且技术性能的提升超越了业界全方位准备,包括微软自己的准备,所以暴露出很多的问题”。“业界和用户不会给微软第二次机会,Windows7必须修正Vista的所有失误。”
至2010年底,Windows7操作系统的销量已经突破了2.4亿套,成为微软Windows系列中销售速度最快的操作系统。在全球约14亿台的个人电脑中,仍有超过90%的用户在使用微软的操作系统,微软继续保持着操作系统的霸主地位。
(2)Unix/Linux的传奇
计算机行业的工作者大概都知道,Unix是目前还在存活的操作系统的元老了,在计算机技术更新如此迅速的今天,Unix始终保持它那神圣的光环。它那曲折和令人叹息的历史,由它引发的人们在计算机软件开发和使用上的思想变革,以及它对当今计算机文化所造成的深远影响,都让它成为了一个传奇,不能不让人为之感叹。
回顾Unix的诞生历史,我们必须要从一个叫MULTICS的项目说起。20世纪60年代时,大部分的计算机都是采用批处理的方式(例如前文提到的DOS系统)运行程序。为了提高计算机的运行效率,美国电话电报公司、通用电气公司及麻省理工学院计划合作开发一个多用途、分时及多用户的计算机操作系统,合称MULTICS。可是,由于这个项目太过复杂,整个工作量过于庞大,糅合了太多的特性,导致项目进展太慢,几年下来所开发出来的成果在计算机上实际运行性能低下,效果很不理想。于是到了1969年2月,AT&;T的主要参与单位贝尔实验室决定退出这个项目。
贝尔实验室中有个叫肯·汤普逊的人,他曾经为MULTICS这个操作系统写了个叫“星际旅行”的游戏,但是游戏在MULTICS上实际运行时不但速度很慢而且耗费昂贵(每次运行会花费75美元)。在退出MULTICS项目以后,他为了让这个游戏还能玩,就找来同事丹尼斯·里奇一起为这个游戏开发一个极其简单的操作系统,这就是后来的Unix。有意思的是,当时他们本想在DEC-10(一种小型计算机)上写,但没有申请到,他们只好在实验室的墙角边找了一台被人遗弃的DigitalPDP-7来进行他们的计划。这两位程序高手仅用了一个月的时间,就采用汇编语言开发了一个简单的操作系统原型,他们的同事布赖恩·凯尼汉非常瞧不起这个系统,嘲笑汤普逊说:“你们写的系统好差劲,干脆叫Unics算了。”Unics也就是UNiplexed Information and Computing System的缩写,是相对于MULTICS的一种戏称,后来人们取其谐音改成了Unix。于是,Unix就在这样在游戏和玩笑中被创造了出来,当时是1969年8月。1971年,汤普逊他们正式申请到了一台PDP-11/24用于Unix第一版的研发。这台PDP-11/24电脑只有24kB的物理内存和500kB磁盘空间。Unix占用了12kB的内存,剩下的一半内存可以支持两个用户进行“星际旅行”的游戏。
1973年,汤普逊与里奇认为用汇编语言做应用程序移植太过于头痛,于是想用高级语言来重新开发Unix,这在当时完全以汇编语言来开发程序的年代,算是相当疯狂的想法。一开始他们想尝试用Fortran,可是失败了。后来他们用一种叫BCPL的语言开发,他们重新整合了BCPL形成了B语言,后来里奇觉得B语言还是不能满足要求,就再次改良了B语言,也就诞生了直至今天仍大名鼎鼎的C语言。接下来,汤普逊与里奇成功地用C语言重写了Unix的内核,Unix和C语言也完美地结合成为一体,这为Unix日后的普及打下了坚实的基础。
1974年7月,汤普逊与里奇在《Communication softheACM》杂志上发表了关于Unix的第一篇文章《The Unix Time Sharing System》,文章立刻引起了学术界的广泛兴趣,许多人开始向他们索取源代码用于学习。于是,汤普逊与里奇就将Unix以“仅用于教育目的”为协议,提供给各大学作为教学之用,Unix也就成为当时各大学操作系统课程中的范例教材。随后,各大学以及公司开始通过Unix源代码对Unix进行各种各样的改进和扩展,Unix逐渐广泛流行起来。
1978年,加利福尼亚州大学伯克利分校推出了一版经过改进的Unix,也就是著名的“1BSD(1stBerkeley Software Distribution)”,这开创了Unix的一个分支——BSD系列。在同一时期,AT&;T专门成立了USG(Unix Support Group),意图将Unix变成商业化的产品。从此,BSD的Unix便和AT&;T的Unix分庭抗礼,这两大Unix主流各自开始蓬勃发展。
1982年,AT&;T开发了Unix的第一个版本,称为SystemⅢ,这是一个商业版本的Unix,仅供出售。随后,AT&;T综合了其他大学和公司开发了各种Unix,开发了Unix System V Release1,这个新的Unix商业版本不再包含源代码。而加利福尼亚州大学伯克利分校则继续开发BSDUnix,作为UnixSystemⅢ和Ⅴ的替代选择。同时,其他一些公司也开始为自己的小型机或工作站提供商业版本的Unix系统,有些选择SystemⅤ作为基础版本,有些则选择了BSD。
1991年,一群BSD开发者离开了加利福尼亚州大学,创办了伯克利软件设计公司(Berkeley Software Design,Inc,简称BSDI)。BSDI是第一家在Intel平台上提供全功能商业Unix的厂商。后来比尔·周里茨从BSDI离开,开始了386BSD的研发工作,而386BSD后来被认为是FreeBSD、OpenBSD和Net BSD、Dragon Fly BSD的始祖。
实际上,1986年美国电气和电子工程师协会(IEEE)曾成立一个委员会制定了一个开放作业系统的技术标准,称为POSIX(Portable Operating Systems Interface),最后加上个X,有人推测是因为本质上这是一个关于Unix的标准。AT&;T的商业Unix最后成为了这个标准制定有利的一方,取得了Unix这个注册商标,并且专门注册了一个名为UNIX Systems Laboratories(USL)的附属公司来从事Unix的商业化。当时,AT&;T的Unix与BSDUnix在开发和改进过程中彼此都有相互借鉴和采用对方的新创造,到1990年时,AT&;T与BSDI的Unix版本已难以明显区分。于是,BSDI很快就与USL产生了法律纠纷,1992年,AT&;T为了拥有SystemⅤ的版权,以及Unix商标,更为了垄断Unix,正式对BSDI提起了诉讼,说BSDI剽窃它的源代码。这场官司旷日持久,一直打到AT&;T将自己的Unix系统实验室卖掉,BSDI也因此停止了研发工作。接手AT&;TUnix实验室的Novell公司采取了一种比较开明的做法,允许BSDI继续自由发布自己的BSD,但是前提是必须将来自于AT&;T的代码完全删除,于是诞生了4.4BSDLite版,由于这个版本不存在法律问题,4.4BSDLite成为了现代BSD系统的基础版本。这桩诉讼最终在1994年1月了结,随后BSDUnix终于走上了复兴的道路,BSD的开发也分成了几个不同的方向,最终导致了FreeBSD、OpenBSD和NetBSD的出现。
从AT&;T意识到了Unix的商业价值,不再将Unix的源代码授权给学术机构到以后的几十年,Unix仍在不断变化,其版权所有者也不断变更,授权者的数量也在增加。有很多大公司在取得了Unix的授权之后,开发了自己的Unix产品。由于Unix是由C语言写的,所以修改和移植都很容易,因此很多商业公司及学术机构都加入了这个操作系统的研发,各个不同版本的Unix也开始蓬勃发展,产生了各式各样的Unix衍生产品,但商业化的Unix基本上都是源于AT&;T授权的UnixSystemⅤ。