时间就这样走到了1995年秋季,尽管Chicago还远说不上完美(其实说是真正完成都勉强,其内核一年后就被重写),但微软已经不能再等。Windows 3.X占据市场已经5年,后继开始乏力,而Windows在市场上的实际主要对手OS/2 Warp 3.0已经上市,并获得一些硬件厂商大的OEM订单。在此刻盖茨再次展现商业的精明和赌徒的性格,他决心马上推出这个半成品Chicago占住市场,至于未完成的工作留到以后。有了市场成功推广经验的微软驾轻就熟,它投下了软件行业前无古人的5亿美元的行销费用。Chicago重新被命名为Windows 95后,定于8月24日午夜发售。为了成功微软用上了所有的商业推广元素,在宣传广告的轰炸之下,期待已久的人们在午夜排起长队,包括很多还没有电脑的顾客。而现场微软花大钱请的Rolling Stones高歌“Start Me Up”,吸引开始夜生活的人们不断地加入了队伍,他们甚至根本不知道Windows 95是什么。Windows 95粉墨登场,一夜成名,只用了4天零售市场就卖出了100万套。从这一夜起,微软从一个公司成为了一个帝国,从此微软有了重大产品发售放在午夜的传统。
Windows 95是一个混合的16位/32位图形操作系统(图23)。出于兼容性、运行效率和开发时间的多方面考虑,Windows 95并非是纯粹的32位代码系统,它保留了部分16位代码(不过不再使用实模式),也正是这个原因使为数众多的设计缺陷被带入了早期的Windows版本,而最终严重地影响到稳定性和工作效率。与以前相比,Windows 95的主要特征是对GUI以及底层工作技术的重要改进,而以后的视窗版本均沿着这个方向发展。Windows 95图形界面的改变是最明显的,与Windows 3.1差别巨大,这也正是不断死机中的消费者依然坚持忍受下去的主要原因。而Windows 95上那个初次登场著名的“开始”按钮以及个人电脑桌面上的工具条,一直保留到后来所有的视窗产品中(“Start Me Up”唱的就是它了)。由于抛弃了对前一代16位x86的支持,Windows 95必须运行在英特尔公司的80386处理器保护模式下或是兼容的速度更快的处理器。在386保护模式下Windows 95应用程序使用32位地址空间和虚拟内存,这意味着Win32程序可以访问2G的虚拟内存地址(另外2G留给操作系统本身),从而在理论上防止了一个Win32应用程序破坏另一个Win32的内存存储空间。再加上对于CPU时间的分片处理,这就形成了Windows 95的多任务技术,即在同一个时间片中处理多个任务,充分利用了CPU的资源空间,并提高了应用程序的响应能力。Microsoft Network算是比较成功的技术突破,这次Windows 95将TCP/IP协议集成在系统中,提供了拨号网络功能,而在Windows 3.X中,网络功能TCP/IP依靠于第三方软件,例如Trumpet Winsock。PNP即插即用是另一个重要技术,但在Windows 95中这个技术表现得如此拙劣,以致于被人们称作即插即祈祷(Plug and Pray)。不过对于Windows 95来说,最重要的技术是引入了Win32 API。Win32 API是微软公司的战略性系统接口,它第一次出现在Windows NT中,Windows 3.1引入了其子集Win32s API,正因为如此,当IBM新的OS/2上继续运行原来的Windows 3.1应用程序时就缺乏Win32 API的支持。IBM此时已经失去了获取Windows 95源代码的权利,而高傲的心态使他们拒绝模拟Win32 API(IBM后来也将此引入了“微软反托拉斯法案”),从而最终失去市场。
Windows 95是第一个捆绑了一个特别版本DOS(Microsoft DOS 7.0)的视窗版本。通过这种方式,微软可以保持由Windows 3.X建立起来的GUI市场的统治地位,同时使得非微软的产品不可以提供对系统的底层操作服务。也就是说,视窗95具有双重角色。它带来了更强大、更稳定、更实用的桌面界面,同时也结束了桌面操作系统间的竞争,因为消费者根本无法使用第三方厂商的DOS系统(从技术上说,Windows 9X图形用户界面是可以在DR-DOS上运行的,也可能可以在PC-DOS上运行——但这个情况直到几年后才在法庭上被揭示,而这时其他一些主要的OS市场的厂商已全部退出操作系统市场了)。正是依靠这种诡计,微软最终占据了操作系统市场份额的90%。Windows 95原始版本在微软的历史上有着不可估量的意义,不光是它带来的巨额财富,更重要的是它将微软推上了独霸市场的垄断之路。
20世纪80年代IBM和微软的关系是亲密的,这种情况一直保持到1986年,这一年IBM和微软协议合作开发MS-DOS的替代系统OS/2。出乎微软意外的是,IBM要将这种操作系统只应用在其秘密研发的采用MCA总线的PS/2系列机器上。IBM研制MCA系统是为了打击IBM兼容机的制造商,尤其是采用Intel 80386 CPU的兼容机,因为IBM在秘密研制自己的微机CPU。对于这种逆转业界“开放”潮流的行为结果可想而知,结果PS/2系列机器没有卖出几台,自然微软也没有从中赚到几个钱。正是这个不恰当的决策,埋下了IBM最终在软硬件市场全面失败的根源,因为Intel和微软从此开始站到了它的对面。OS/2 SE 1.0于1987年上市(图28),它克服了当时DOS系统640kB内存空间的限制,提供了图形界面,技术上保持了先进但没有赚到钞票。这件事情使微软意识到虽然大树底下好乘凉,但寄人篱下只能仰人鼻息。于是微软开始筹划自己的前途,它决心背着IBM自行开发完全自主意识的操作系统。
1993年,微软发布Windows NT 3.1(图29),由于它是专为网络而设计的,所以分为“Advanced Server”和“Workstation”两个版本。虽然Windows NT 3.1与Windows 3.1的界面很像,但它们完全是两个不同概念的操作系统,其主要技术包括新的Micro-kernel(微核心)操作系统架构、抢占式多任务排程程序、可容错的NT文件系统、多重处理器支持、Windows 32架构、强大的网域层级安全性、文件和打印服务等。而为人们最直观熟悉的特征,如新的磁盘格式NTFS、SCSI的支持、网络应用管理等,构成了人们对Windows NT系列的基本认识,并一直保留到现在。早期设计上的考虑使Windows NT上能够兼容包括Win32、OS/2、DOS和POSIX系统,但也给产品本身带来很多Bug,用户对NT 3.1怨声载道,当年只销售了29 000份。
1994年9月,Windows NT 3.5上市。新的Windows NT将“Advanced Server”版本重新命名为“Server”。由于系统技术进一步完善,这个版本获得了很大成功,企业纷纷将它用于执行部门级的数据库和其他应用程序。而它甚至获得“PC Magzine 94年度最佳操作系统”称号。Windows NT走向了成熟。
1995年5月,Windows NT 3.51发布(图30)。它的出现主要是为了配合新的操作系统Windows 95,所以它的主要技术变化是可以兼容Windows 95桌面应用程序,并增加了Web Server,使用户可直接设置自己的Web站点而无需其他软件。这个版本界面已经有点像Windows 95了,当时极受好评,直到现在仍然有人认为在网络方面,NT系列最好的操作系统是这个版本。
1996年7月,Windows NT 4.0问世(图31)。这是微软第一次企图创建用于大型数据处理任务的操作系统。从商业角度看,这是个成功的操作系统。为了吸引客户,在重新编写的内核上新增了广受欢迎的Windows 95使用界面、集成了IE浏览技术、强化的NetWare网络的支持等。但从这个版本起,微软操作系统的另一个问题开始被置疑,也就是系统的安全性问题,这对于网络操作系统是头等大事。由于重新编写的代码有1890万行,大约是Windows NT 3.0的两倍,已变得非常复杂。微软决定不再发布改写的升级版本,而新的应付办法是发布补丁包,从此Service Pack成为微软操作系统的重要标志,每个Service Pack都对系统的安全、性能等方面影响巨大,不亚于版本的升级。截至目前为止,微软已经为Windows NT 4.0发布了6个Service Pack以及无数的安全补丁。Windows NT 4.0销售了160万套,成为微软实际寿命最长的操作系统,不少服务器直到现在还在使用它。
作为当前主流的操作系统之一,除了上面所说的这些核心特征,更多的新功能还在被不断发现,但是它的继承者Windows XP和Windows Server 2003相继出现,Windows 2000能生存多久?
2001年10月,万众瞩目的Windows XP在烧掉了微软10亿美元后出现在人们面前(图33)。这是一个里程碑式的产品,它统一了最终用户和企业用户的操作系统。最初发行的Windows XP有两个版本,家庭版(Home)和专业版(Professional),以及为Intel Itanium 64位处理器开发的Windows XP 64位版本。Windows XP简化了Windows 2000的用户安全特性,整合了防火墙,增强了多媒体性能等,利用了新的技术手段解决了安全稳定性和兼容性融合的矛盾(关于XP新技术特征请参看往期《大众软件》)。不过Windows XP最有名的新技术应该是其产品的激活了,一时间网络研究破解成风。作为第一个完全32位的最终用户操作系统,它宣告了16位环境的死亡。
2002年,Windows XP的两个特殊版发布,Windows XP Media Center Edition(图34)与Windows XP Tablet PC Edition(图35)(参看本刊2002年第22期《微软新操作系统》)。这两个版本的主要变化就是支持相应的特殊硬件,由于这些硬件需要严格符合标准,所以这两个版本都必须捆绑在合作厂商的计算机上,并不单独销售。Windows XP Media Center Edition对应整合了WebTV的计算机,其核心技术是整合网络媒体服务,一些合作的厂商有HP Media Center电脑,以及Alienware Navigator系列。Windows XP Tablet PC版本,是为带有支持触屏智能手写特性的笔记本电脑设计,与一般的手写板技术不同,其核心的技术是数字墨水。另外Windows Service Pack 1也在9月发布,它为XP增加了一些新的功能。
2003年5月,Windows Server 2003发布(图36)。作为Windows 2000的继承者,Windows Server 2003同样分为Web Edition 、Standard Edition、Enterprise Edition、DataCenter Edition四个版本。作为微软.NET战略中的重要一环,它提升了相应的服务器能力。如提高了Active Directory(活动目录)能力——能够从计划中删除类。提高了磁盘管理和卷影备份能力——能够备份被打开的文件。提高了组策略管理。由于这个操作系统发布不久,大多数人甚至还没有使用过它。
渐行渐远——未来
预测未来总的来说是愚蠢的事情,但是幸好对于微软的操作系统来说并非无迹可寻……
2004年——微软网站上的操作系统周期表以及种种消息表明,明年将不会有新的操作系统发布。人们一直盼望的Windows XP SP2将会在2004年秋季发布,同时将提供Windows XP Tablet PC Edition和Windows XP Media Center Edition的新版本。
对于Windows XP SP2的细节,微软守口如瓶,人们对SP2会带来一些什么新的技术功能一无所知。但根据一些重要场合微软人员的谈话,SP2的新功能不会太多,推测大约会有以下变化。新的SP中很可能包含微软独立的PC Satisfaction包,其中主要可能的技术包括一个高级防火墙功能和一个病毒扫描服务功能。据一些专业分析师的意见,“冲击波”蠕虫病毒可能是促使微软推迟SP2发布并尽力完善它的原因,而新的防火墙和病毒扫描器就是这种考虑的结果。新的防火墙最主要的变化是它不再是一个底层后台的服务,这一版的防火墙将和第三方防火墙一样可以设置。出乎人们预料的是,新的病毒扫描器很可能并不出自GeCad(微软在6月份刚收购罗马尼亚的反病毒公司),McAfee表示通过对测试版代码的分析,它应该出自F-Secure公司。虽然集成上述的功能微软已经有过暗示,但考虑到此举明显可能触犯垄断法律条文,在SP2中能否最终看到这些仍然值得怀疑。另一个比较肯定在SP2中出现的新技术叫做“反射”。这个技术是对SP1中Freestyle(可像遥控电视一样进行操作)和Mira(可由无线LAN使用远程显示器)的综合扩展。在SP2没有释放出来前,一切都是揣测,至于事实会怎样,不妨拭目以待。
虽然美国微软已于当地时间9月30日发布了“Windows XP Media Center Edition 2004”(图37,图38)。但由于这是个非零售版本,所以当我们看到合作硬件厂商的计算机时,应该是2004年了。相对于上个版本,MCE 2004的主要技术变化如下。
1.组件化的新型架构:Longhorn操作系统和以往的桌面服务器操作系统不同,它是一个完全组件化的操作系统,这和Windows XP Embedded(XP嵌入式系统)非常相似。“组件化”技术并非简单的系统内应用软件的装卸,而是将计算机中任何软硬件资源都看作一个组件,然后通过SQL数据库技术有机结合起来。换句话说,一个组件的增加或去除(不管是软硬件),完全不会影响到系统本身。通过“组件化”技术,不同类的用户可对Longhorn系统进行定制。尽管都是Longhorn系统,但是一般用户和企业用户最终的配置可能不同。在系统安装的过程中,用户可以在“基本OS”上加载所需的组件,最终形成相当于XP系列的Profession版、Server版、Media Center版、Tablet PC版等,不过Longhorn最终名称并没有确定。
3.新的安装过程和软件部署:由于Longhorn架构组件化,带来一系列安装方式和维护的变化。在安装过程中,Longhorn会首先拷贝一些文件到硬盘,形成一个预启动区,然后由预启动区引导可启动镜像区。由于可启动镜像区是事先集成在预启动环境中的标准模块(典型的Windows XP Embedded技术,以后笔者会撰文说明),因此Longhorn的核心架构可以快速完成安装,然后才是系统检测加载PNP设备等工作。另外由于系统的底层架构完全独立于语言,因此不同语言的操作系统只需在“基本OS”上添加相应的语言组件模块即可,而不必同以往操作系统那样全盘国际化。对于以往Windows操作系统的升级维护,不同语言的系统需要使用不同语言的Service Pack。而Longhorn组件化系统中,所有的升级包完全相同,因为它只是一个标准组件。