香港大学中文论坛

 找回密码
 注册
搜索
查看: 21580|回复: 0
打印 上一主题 下一主题

走进Windows系统的发展进化史

[复制链接]
跳转到指定楼层
1#楼
发表于 2008-9-9 16:46:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
自从Windows Vista发布后,Windows的进化进程达到了顶峰,本文将带领我们回顾操作系统的历史。 

  当微软1983年11月邀请计算机媒体参加一次会议的时候,这些媒体的编辑们都为自己收到的毛巾和刷子以及一张印有“微机软件业的全新视角(a clear view of what’s new in microcomputer software)”字样的请柬感到困惑。然后,伴随着简短的发言,微软Windows在纽约的Plaza大酒店里首次出现在世人面前,随后为了该产品的最终发布,人们开始了第一次漫长的等待。

  微软演示了一种针对自己的MS-DOS操作系统的图形化“外壳”,这种外壳被设计为可以让用户同时运行多个DOS应用程序以及使用全新的Windows应用程序接口(API)编写的带有图形界面的应用程序。严格来说,Windows并不是IBM PC上的第一个图形环境,Visicorp公司的Vision已经在一年前面世了,但是该公司曾经承诺过这个软件可以在更便宜的硬件上运行,而实际情况则是以比495美元的基本售价便宜不了多少的价格销售了很多。

  这些没有兑现的诺言直接导致很多人等了两年,直到1985年Windows 1.0的发布。Windows操作系统的目标市场是1983年的标准配置的计算机,而当时的标准配置是4.77MHz的Intel 8088处理器、128KB内存、两个软驱,以及一个80×25像素的纯字符显示器,只有大企业以及很有钱的人才能买得起PC/XT的10MB硬盘,而当时昂贵的CGA彩色显示器分辨率最高只能达到320×200以及16色(4位色深)。当时的标准DOS应用程序都是基于字符的,例如Visicalc、Lotus 1-2-3以及Wordstar,而图形用户界面和鼠标都是为Xerox Star以及Apple的Lisa这样的高端工作站准备的。

  第一步

  虽然到了1985年,情况已经有所改善,康柏和其他PC仿造商开始着手降低PC的售价,很多第三方附件也使得显卡和硬盘的价格可以被大部分人接受,Apple公司在1984年为Macintosh举行的发布会已经让大部分市场开始接受图形用户界面的概念。因此跳票的Windows 1.0遇到了比准时发布时更好的市场环境。



  第一个Windows用户界面。请留意有标题栏的窗口、弹出对话框以及简陋的图形界面,另外MS-DOS Executive file manager中还缺乏图标。

  但是从今天的眼光来看,当时的产品显得很古老。来自Apple公司的法律诉讼中指出,“桌面环境”的很大一部分元素,例如可以互相覆盖的应用程序和文档窗口,甚至回收站都曾被Windows弃用。在当时的Windows中,窗口只能被平铺,而程序只能通过一个叫做MS-DOS Executive的文件管理器启动。虽然“多任务”功能最先出现在Windows中,不过当时一些具有图形界面的程序,例如Windows Write以及Paint看起来就像Macintosh中类似程序的简陋版本,这类程序和当时常用的MS-DOS应用程序相比,似乎只是简单地增加了图形界面而已。在当时,你可以看到很多版本的时钟程序并排运行,但是要想运行Lotus 1-2-3就只能使用一个全屏的DOS会话界面,就好像你正在使用一个没有窗口的机器。

  微软已经尽了全力,他们给自己的软件中附带了鼠标,而且也曾尽力协调了其他相关的问题,不过他们的产品依然遇到了很多阻力。因为当时的Windows不仅不怎么实用,而且会让计算机的运行速度变慢。无论是图形界面的计算器程序还是游戏,Windows依然有很多问题需要解决。

  
  

  Windows 2.0系统,该系统已经开始支持重叠,因此才能实现所见即所得的表单。    

  其中最主要的一个问题是内存。当时的IBM PC因为内存映射的工作原理,只能寻址1MB的内存,和Apple II类似,只有640KB内存可以被应用程序使用,而多余的内存都会保留供屏幕图像的显示和设备驱动使用。Windows的正常运行需要256KB内存,每个在Windows上运行的程序都需要自己的内存空间。因此当时并没有非常强烈的动力让用户购买这套软件,没有杀手级的应用程序,与此相比,当时已经有很多受人欢迎的DOS应用程序,例如IBM的Topview、Quarterdeck的Desq,以及Software Carousel和Borland的Sidekick。

  不过微软很守承诺。他们在1983年为MS-DOS发布了可以充分利用鼠标功能的Word,并且随后也成为了Macintosh平台上一个关键的软件开发商。在Windows 1.0发布之前,Excel表单软件已经在Macintosh平台上发布了,并且Excel被公认为比Lotus 1-2-3更好用,随后还出现了Macintosh平台上的Word。当时最需要的是一个可以满足最新硬件的新版本Windows,这样微软的程序才能更适合在PC上运行。

  这种情况一直持续到1987年,在这一过程中PC市场也在持续发展。当时很流行的PageMaker桌面出版软件也被从Macintosh平台移植到PC平台,并伴随Windows一起发布,这终于给了顾客一个使用新系统的理由。同时PC仿造商开始通过使用更快的处理器、更好的显卡以及超过1MB的内存降低兼容PC/AT的计算机的成本。而到了1987年底,微软正式发布了Windows 2.0,该系统支持英特尔的80286和80386处理器。

 第二次进化

  新的Windows看起来更像Macintosh,该系统中重新引入了可重叠的窗口以及回收站,而且开始使用图标来代表程序和文件,而不是MS-DOS Executive的列表模式。该系统同时还支持扩展内存,同时其中有一个版本还捆绑了新的PC版的Excel一起发售。不过当时最重要的一次更新是Windows/386,该系统和Windows 2.0以及Excel同时发布,这套系统使用了80386处理器的高级内存管理功能,这样就可以让多个MS-DOS和Windows应用程序同时运行在受保护的内存区域中。这意味着一个程序的崩溃不会影响到其他程序或者整个系统的正常运行。

  其他软件开发商这时候也开始为Windows 2.0环境编写应用程序,例如Corel Draw、Samna的Ami文字处理软件,以及Micrografx Designer都是首先为PC编写并在随后几年内开始销售的。

  

  

  OS/2的Presentation Manager看起来类似Windows 3.0,但是在图形和应用程序方面则完全不兼容。在最初发布后,IBM接手了后续的开发。

  不过此时Windows的历史产生了分歧。1987年4月,为了从仿造商手中夺回市场占有率,IBM发布了PS/2计算机。该系统中包括了一种新型的,叫做MCA(Micro Channel Architecture,微通道体系结构)的扩展插槽,该插槽和现有的扩展卡并不兼容,而且只有在经过授权后才能被其他厂商用在自己的产品上。

  基于上述原因,IBM认为自己需要一个全新的操作系统来取代MS-DOS。OS/2原本就是和微软一起开发的,其中包含了一种叫做Presentation Manager的全新图形用户环境,而这个系统正好不同于、也不兼容于Windows。

  

  Windows 3.0是一个全新的突破,支持高级内存管理和多任务功能,它吸引了第三方开发人员开发了大量重要的程序。    

  IBM的计划是,PC仿造商必须得到自己的技术授权,这样OS/2和Presentation Manager才能取代MS-DOS和Windows,重新令自己的公司控制住PC的开发。更为重要的是,IBM相信仿造商们不敢放弃PS/2标准去生产基于80386的系统,如果他们这样做了会导致出现更多互相不兼容的32位扩展插槽标准。

  但是IBM的计划并不成功,康柏在1986年底用Deskpro/386回应了PS/2的发布,那是一种完全兼容32位80386处理器,并且具有标准的16位AT扩展插槽,可以使用现有扩展卡的系统。仿造商们最终使用了ISA(Industry Standard Architecture,工业标准体系结构)插槽,而PS/2成了IBM在企业客户端领域外的一大败笔。

  微软此时也遇到了问题。他们当时已经有了可以正常运行在带有ISA总线的新一代计算机上的Windows,而且所有应用程序都可以正常使用,但是他们和IBM还有一条合约,因此微软在开发自己操作系统的同时还必须继续OS/2的开发。

  这个问题一直持续到1989年OS/2 1.1以及Presentation Manager的发布,虽然该系统发布了,但是缺少用户和第三方应用程序开发商的支持。最终的决裂在微软发布了第一个PC版的Word后正式发生了,IBM抱怨说微软承诺过要首先发布OS/2版的Word,因此他们的合约正式作废,而IBM开始独自继续OS/2的开发。微软终于可以一门心思专注于对Windows的改良。

  第三次飞跃

  Windows 3.0的发布使其成为微软最具突破性的产品之一。当时的内存管理技术已经发生了改头换面的更新,而且首次加入了对虚拟内存的支持。这个操作系统可以使用80286和80386处理器提供的每个操作模式,同时依然可以运行在老的基于8088的机器上。这意味着Windows 3.0可以使用用户添加的所有内存,并控制分配所有的内存和其他资源,以保证Windows应用程序的多任务运行。

  新版的Windows还受益于1989协议(1989 settlement),解决了所有和Apple有关的用户界面的版权问题,这也意味着Windows 3.0更像Macintosh了。

  微软售出了一千万份Windows 3.0,并吸引了大量第三方开发商。当时Windows 3.0已经可以在主流硬件配置的计算机上提供很高的性能以及流畅的图形效果,Windows又一次达到顶峰。   

  Windows NT 3.1是第一个32位,具有保护模式的可移植(Portable)操作系统,因为缺乏硬件驱动以及对硬件的过高要求,因此通常都是用在服务器上。

  但是有关OS/2的故事还没有结束。1988年,在和IBM的协议依然有效的时候,微软从Digital Equipment公司请了Dave Cutler开发“可移植的OS/2”,这个版本的操作系统应该可以在多种硬件平台上运行。当时的打算是希望同一个软件能像在英特尔处理器的平台上那样运行在RISC(Reduced Instruction Set Computer,精简指令集计算机)平台上,不过当时尚不明了到底哪个系统架构可以在未来成为主流。

  但是Cutler决定开发一种全新的操作系统替代OS/2,这种系统是源自scratch的,可以被叫做Windows New Technology或Windows NT。这应该是一个32位操作系统,其内核运行在一个“硬件抽象层”上,这样就可以隔离来自系统平台的代码。

  在开发Windows NT的同时微软还在继续改进16位的Windows,当时的意图是希望这两种操作系统可以共用通用的用户界面以及API(Application Programming Interface,应用程序接口)。1992年发布的第一个版本的Windows NT被编号为3.1,以符合Windows系统的版本编号。尽管包含了可缩放的TrueType字体、多媒体扩展以及更广泛的硬件支持,但随后发布的Windows 3.1更像是一个修复补丁后重新发布的系统。

  

  Windows 95用户界面显示了一些与Internet有关的元素,而且通过设置,该系统可以使用单击操作代替“传统”的双击操作。

  类似的,Windows for Workgroups 3.11也仅包含了一些小的升级,例如增加了点对点网络的支持。虽然默认没有包含,不过它是第一个以安装补丁的形式提供TCP/IP协议的系统。

  Windows 3.1和Windows for Workgroups 3.11继承了Windows 3.0的成功,但是NT的市场却遇到了麻烦。硬件抽象模式使得为该系统编写特定外设或组件的驱动变得异常困难,而且NT的体积、严格的安全和内存管理技术意味着该系统不仅需要更昂贵的硬件来运行,而且在这些硬件上运行的性能会相当好。要将现有的Windows应用程序移植到NT平台很困难,而且很不值得这样做,因此该系统的市场份额就要比Windows小很多。NT注定是为以后的网络服务器编写的。

  微软计划在未来通过将Windows和NT合并到一起的方法解决这些问题。名为“芝加哥”的下一代Windows可以使用新一代NT中的Win32 API,但同时还包含了一个叫做Win32s的Win32子集,这样开发人员就能开发可以同时运行在Windows 3.1和NT上的程序,而且“芝加哥”通过兼容模式依然可以运行老的16位Win16应用程序。通过上述方法产生了一个开发代号为“开罗”的操作系统,其中包含了通用API,不过事实证明通往开罗的路并不平坦。

 启航   

  “芝加哥”最后成了Windows 95,该系统第一次对硬件PnP(Plug and Play,即插即用)技术提供了支持。这也是第一个可以运行在32位80386增强模式下的Windows操作系统,具有平坦(Flat)32位内存空间,虚拟内存寻址最高达到了4GB,而且这些地址空间可以被操作系统和应用程序一起使用。从Windows 3.1开始,用户界面就没有太大的变化,不过在“开罗”项目快要结束时,随着发布日期的临近,用户界面也经过了适当的改进。   

  随着Windows 98的发布,互联网功能被完全集成在这一操作系统中,这直接导致了针对微软的反垄断诉讼。这是当时一本从互联网角度介绍Windows的书。

  Windows 95主要是面向新的消费领域,当时的家庭和办公室中,PC的普及速度越来越快,但是微软依然没有充分认识到互联网的重要性,只不过是在日后的OEM版Windows中包含了Internet Explorer。同时该系统增加了对USB设备的支持,而很多包含了内置硬件的老计算机上捆绑的操作系统都无法使用这类设备。

  在接下来的几年里,Windows和NT的开发持续了相对独立的趋势。NT 4.0中增添了Windows 95所用的用户界面,但同时通过将显卡驱动设计为内核模式以图增强性能。Windows 98增加了对大硬盘的支持,并将Internet Explorer更深入地集成进用户界面和文件管理器中,这一行动直接导致了美国和欧盟持续很久的反垄断诉讼。Windows 98第二版原本被计划为16位Windows产品线上最后一代产品。

  但事实并非如此。NT 5.0(也就是Windows 2000)依然不适合大部分用户,虽然该系统采用了统一的驱动模块,但是受限于NT的硬件抽象模型,性能问题依然很严峻。一些Windows应用程序和某些游戏都习惯于直接访问硬件以便获得更高性能的,虽然微软自己试图通过类似DirectX和OpenGL之类的驱动解决这个问题,不过对于家庭用户,Windows 2000在这方面做得并不好。

  正因为如此,为了填补Windows 2000和下一代开发代号为Whistler的操作系统之间的空白,一个匆忙推出的,叫做Windows Millennium Edition(或Windows ME)的16位Windows发布了。

  该系统对Internet的支持有所提高,而且首次出现了可以撤销对计算机的有害操作的系统还原功能,不过该系统并未获得目标用户的支持。这些用户大部分依然停留在Windows 98 SE系统下,并继续等待Whistler的发布。Whistler最后的发布名称是Windows XP,Windows XP是Windows历史上存活时间最长的系统,从2001年10月一直持续到2006年11月Windows Vista发布,而且该系统一共销售出了超过4亿套。

  该系统实际上是基于Windows 2000的,因为有了一些广泛采用的技术,例如DirectX和OpenGL可以访问显卡并进行加速,该系统更容易被家庭用户和游戏玩家接受。

  为了让界面更友好,Windows XP的用户界面经过了一些彻底的改进。虽然很多有经验的用户不喜欢那种界面,宁愿切换回“经典”外观。而在用户界面内部,所有为Windows开发的技术都已经在过去21年里的操作系统进化过程中经过了自然选择的过程。

  我敢说,在Windows XP或Vista中完全没有留下Windows 1.0的一点影子,我们甚至都已经看不到任何一点Windows的前辈,MS-DOS操作系统的影子。如果喜欢,一些怀旧的人依然可以打开一个全屏的命令提示行窗口,去体会一下Windows发布之前的漫长岁月里,个人电脑的样子。

  内存问题

  Windows总是会使用可以找到的所有内存,同时当内存不够用的时候还会将硬盘空间当作“虚拟内存”来使用。但是Windows可以使用的内存数量受到了英特尔的处理器以及内存芯片价格的限制。

  最初用于PC的8088和8086处理器只能寻址1MB的内存,而当时的PC架构导致只有其中的640KB可以被操作系统和程序使用。但是随着应用程序需要越来越多的空间以便能运行,解决这种限制的方法出现了。其中一个是EMS(Expanded Memory Specification,扩展内存规范),该技术使用了一块64KB的内存区域映射物理地址超过1MB地址线(Address Line)的更高容量的内存区域。最初该标准允许我们添加最多8MB的EMS内存,但是这些内存只能用来保存数据,程序依然无法从超过640KB的内存空间中运行。

  另一种对立的标准是EEMS(Enhanced Expanded Memory Specification,增强的扩展内存规范),这种标准使得低于640KB地址线的内存可以被映射,这样应用程序就可以使用扩展的内存空间了。EMS和EEMS标准最终被合并为LIM EMS 4.0,微软在Windows 3.0中对该标准提供了支持。

  80286处理器可以寻址16MB物理内存,但是只能在操作系统被引导为一种特殊的“保护模式”下才能实现,而这种情况下将无法运行MS-DOS。在保护模式下,超过1MB的内存被叫做“扩展内存”。在Windows/286中,微软使用了底层驱动在80286处理器的扩展内存空间中模拟扩展内存,这样这些控件就可以被应用程序使用了。

  32位80386处理器具有更多的内存选项。Windows/386同时使用了保护模式和虚拟8086模式让MS-DOS实现多任务功能。     

  64位,苹果熟了?

  在Windows XP的众多版本中,Windows XP Professional X64 Edition支持Intel和AMD的芯片使用的32位处理器架构上的64位扩展功能。该功能实际上意味着64位操作系统可以在同一台计算机上同时运行64位和32位的应用程序,不过前者可以访问到的内存地址空间要比32位的4GB大不少。

  那么,我们是否都需要尽快迁移到64位Windows中?很遗憾的是,事情并不是那么简单。其中一个很重要的问题是,64位操作系统需要所有设备的驱动都重新编写为支持64位系统的形式,哪怕只有32位程序要使用这些驱动。这意味着很多设备都无法支持64位的Windows XP和Vista,而且除非这些设备制造商认为值得开发64位驱动,否则这些设备永远无法用在64位系统中。随后还有硬件要求方面的问题,不过目前看上去还不是很严重。虽然32位应用程序可以寻址4GB内存,不过大部分用户的计算机还只有1GB甚至更少的内存,这对64位运算来说还有点少。

  目前看来,在64位Windows上,微软遇到的问题和当年在早期版本的Windows NT中遇到的问题基本类似:缺乏足够的应用程序,驱动支持有限,硬件要求超过大部分用户的接受范围或者实际需要。而且和Windows NT类似,64位Windows可能只适合运行在服务器以及高端系统,例如专门的图形工作站上,并使用专门的少数应用程序和驱动。64位市场正式活跃起来还要等很久。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机访问本页请
扫描左边二维码
         本网站声明
本网站所有内容为网友上传,若存在版权问题或是相关责任请联系站长!
站长电话:0898-66661599    站长联系QQ:7123767   
         站长微信:7123767
请扫描右边二维码
www.jtche.com

小黑屋|手机版|Archiver|香港大学中文论坛 ( 渝ICP备17010310号-15 )

GMT+8, 2024-5-10 19:58 , Processed in 0.062889 second(s), 14 queries .

Powered by 重庆爱这代科技有限公司 X3.3

© 2001-2020 香港大学中文论坛

快速回复 返回顶部 返回列表