Windows操作系统发展简史

20世纪80年代后期,当时的UNIX操作系统已经发展得相当成熟,例如在人机界面上已经有了X Window,已经开始使用鼠标器,也已经有了“客户机/服务器(Client/Server)”的结构模式。当时的一些“工作站”实际上已经具备了现代桌面应用所需的大多数基本要素。同时,由于PC功能与性能的日渐提高,当时甚至已经有人将UNIX移植到PC上,例如当时的Xenix就是PC上的UNIX。而微软为PC开发的操作系统,则还是采用命令行模式的DOS。相比之下,当时微软的产品无论从哪一个角度说都还只能是下里巴人,与阳春白雪的UNIX不可同日而语。然而,那时的绝大部分公众对于计算机基本上相当于文盲,对于计算机应用的要求也还很低,所以下里巴人的DOS恰好获得了“和者众”的效果,而阳春白雪的UNIX则反倒不免曲高和寡。然后,到了90年代前期,在UNIX这一边有了类似于Xenix但是公开源代码的Linux。而微软这一边,则先后有了Windows 3.1、Windows 95,并已开始开发Windows NT。然而相比之下当时微软所提供的操作系统产品仍只能说是下里巴人,因为Windows 3.1和Windows 95乃至Windows 98实际上都是基于DOS的,而DOS在严格的意义上至少称不上是现代的操作系统。所以,UNIX/Linux阵营的人们长期以来从技术上鄙视Windows也是事出有因,并非全是门户之见。但是,经过这么多年的发展,微软的操作系统产品走过了一条与用户水平同步提高的过程。到了现在,如果继续从技术上鄙薄微软的操作系统产品,那就错了。事实上,现在的Windows与UNIX/Linux一样都是阳春白雪,只是现在用户的水平也已提高,不再会因为曲高而和寡,更何况用户早已熟悉了Windows,进而竟离不开Windows了。回顾从20世纪80年代至今的历程,微软的操作系统产品与用户一起走过了一个从低到高同步提高,从而日益普及的历程,获得了商业上的巨大成功。
     现在的Windows操作系统,问题不在于技术上是否先进,而在于不公开源代码,使人们无法根据第一手的资料深入了解其实现,使公众在一定程度上处于不知情的境地。不过,这种不知情主要是在具体实现方面的,而不是机理方面的。事实上,如果只从机理、技术方面考察,则现在的Windows与Linux其实是很相似的。事实上微软的操作系统产品一直在从UNIX/Linux吸取营养,最明显的就是Windows的“视窗”机制显然借鉴了X Window。即便是在DOS时代,例如DOS命令行的输出“重定向”和“管道”机制,就不能不令人联想起UNIX命令行中的相应机制,所不同者倒是UNIX中的这些机制功能更强、更灵活。
    另一方面,正因为微软的操作系统产品一直是商品,其技术上的发展就受到一定的限制,这是因为:
    作为商品,其更新换代的速度不能过快,技术上的步子不能迈得太大。
    作为商品,新老产品兼容的问题更为突出。这样,如果某种机制的设计“先天不足”,后面就比较难以弥补。
    尽管如此,经过二十多年的发展,现在的Windows操作系统从技术上说大体与现代的UNIX/Linux相当,在一些细节上则各有千秋。当然,要是从市场占有率上说,那就具有压倒性优势了。
    在Windows操作系统的发展历程中,Windows NT特别是Windows NT 4.0的开发有着划时代的意义。在此之前的Windows版本,以及与此同期的Windows 95/98都是基于DOS的,大体上只是在DOS外面包了一层类似于X Window的外壳,使它看起来像个现代的操作系统而已。微软自己也知道,沿着这条路很快就会走到尽头,必须采用较新的操作系统技术才有出路;所以从80年代末90年代初就决心要开发新一代的Windows,并将其称为NT,即采用“新技术(New Technology)”的Windows。事有凑巧,当时的DEC公司正好有一批研发VMS操作系统的骨干人员想要离开,于是就一起到了微软,这里面技术上的领头人就是后来成为Windows NT总设计师的David Cutler,还有后来写了《Microsoft Windows Internals》一书的David Solomon。VMS是DEC公司为其VAX小型机开发的操作系统,虽然没有UNIX和后来的Windows那么流行,却确实可以说是个现代意义上的操作系统。与UNIX大体上属于同一时代。这些人为微软带来了VMS的技术和经验,使Windows NT特别是Windows NT 4.0的开发取得了成功。很自然地,今天的Windows NT带着来自VMS的基因,以至于有人调侃说:把VMS三个字母各加上1,就成了WNT。但是,从另一个角度来看,这也说明所谓“新技术”其实基本上就是VMS和UNIX已经采用了的技术。
    当然,Windows NT并不是VMS的简单重构,在Windows NT里面也可以看到MACH的影子。MACH是卡内基•梅隆大学开发的一个微内核操作系统,其实MACH也是从  UNIX变过来的。微内核操作系统的特点是把内核尽量缩小,而改由各种服务进程来提供原本由内核提供的功能,微内核系统的最大优点就是灵活性好。所以,早期的Windows NT带有明显的微内核痕迹,但是后来发现由服务进程提供的服务毕竟效率比较低,所以又逐步移回到内核中,后来甚至变本加厉,把图形功能也移到了内核中。因此,现在的Windows内核实际上包括了两大部分,一部分是本来意义上的操作系统内核,另一部分则是移到了内核中即系统空间中的视窗服务,前者的映像是ntoskrnl.exe,后者的映像是win32k.sys。而在Linux中,则后一部分就是用户空间的视窗服务进程X Server。有时候可以听到人们在说Windows的内核比Linux的大很多,似乎本不应该有这么大,之所以有这么大是因为设计或实现得不好。其实不然,Windows内核之所以大,是因为把图形界面也移到了内核中,如果把X Server也移到Linux内核中,那么Linux内核一样也会有这么大。
    在早期的Windows系统中,视窗应用只是三个“子系统”之一,另两个子系统是POSIX和OS/2。前者提供类似于UNIX的应用界面,是出于政府采购的要求;后者提供与OS/2操作系统的兼容性,那是因为当时的微软与IBM有着比较密切的合作关系。当然,微软的主要精力都集中在视窗子系统上。在后来的发展中,渐渐地另两个子系统变得不那么重要了,因而就慢慢淡出了。另一方面,早期的Windows操作系统并非专门针对Intel的x86系列CPU,特别是当时还有由DEC公司开发的ALPHA处理器,可是后来几经周折ALPHA处理器也慢慢淡出,现在的Windows特别是作为桌面系统的Windows,就变成专门针对x86系列的了;只有用于(小型)嵌入式系统特别是手持设备的WinCE是个例外。
    从老一代Windows包括Windows 95/98向新一代Windows的过渡,到了Windows 2000才基本完成。许多人把Windows 2000称为Windows NT 5.0,就是因为Windows NT 4.0是个转折点,是个新的基础。至于Windows XP,那又是一个新的Windows NT版本。甚至更新的Longhorn,其基础仍旧是Windows NT。所以,Windows NT 4.0之于微软的操作系统,就像80386之于Intel的微处理器一样,都是具有划时代意义的。从那以后,无论是Intel的微处理器还是微软的Windows,都没有发生进一步的根本性的质的变化,虽然也在发展,但是总体上属于小修小补,属于“量变”的范畴。

Windows操作系统的缘由相关推荐

  1. 使用Windows操作系统的13个窍门

    Windows操作系统的13个使用窍门,很适用. 1.删除Windows下不让删除的文件 有时想删除某个文件,系统会告诉无法删除,换到DOS下或是安全模式虽然可以删除,但是有点麻烦.这时可以用鼠标右键 ...

  2. Windows 操作系统的安全设置

    Windows 操作系统的安全设置 ,微软认证考试也需要学的. 一.系统与磁盘格式选择 1.不要使用Ghost版的Windows XP系统 在选用操作系统时,最好不要选择Ghost版的Windows ...

  3. Windows操作系统的各进程的作用

    btwdins.exe是为了微软Windows操作系统支持蓝牙技术的程序. cisvc.exe是微软Windows操作系统自带的程序.它用于监测CIDAEMON.exe内存使用状态,防止可用内存过低问 ...

  4. windows操作系统的使用 —— 资源监视器

    工具的使用--windows操作系统的使用 工具的使用--windows的使用(二) 1. 基本常识 修改文件名(包括修改拓展名)都不会影响文件的修改时间的:只有如下的两种情况会影响文件的修改时间的: ...

  5. 工具的使用——windows操作系统的使用(二)

    工具的使用--windows操作系统的使用 (1)域名解析文件的位置:C:/Windows/System32/drivers/etc/hosts (2)windows7 启动屏幕保护程序 [桌面右键] ...

  6. 国内首个基于Windows操作系统的GPU高性能计算集群研制成功

    国内首个基于Windows操作系统的GPU高性能计算集群研制成功 一个普通的实验室里,在一台普通的台式机上发出一条集群工作的指令,通过一个小小的交换机,三台计算机同时进行演算,一个蒙特卡洛的计算问题在 ...

  7. Windows操作系统的日志分析

    Windows操作系统的日志分析 Windows日志简介 Windows操作系统在其运行的生命周期中会记录其大量的日志信息,这些日志信息包括:Windows事件日志,Windows服务器角色日志,FT ...

  8. 如何在安装了Windows操作系统的电脑上安装Linux操作系统

    [原创]如何在安装了Windows操作系统的电脑上安装Linux操作系统 一.不得不知道的一件事 相信中国大多数个人用的电脑在买回来时已经 安装了Windows,并且大家习惯了用Windows,而且有 ...

  9. 转:使用DOS命令chcp查看windows操作系统的默认编码以及编码和语言的对应关系

    代码页是字符集编码的别名,也有人称"内码表".早期,代码页是IBM称呼电脑BIOS本身支持的字符集编码的名称.当时通用的操作系统都是命令行界面系统,这些操作系统直接使用BIOS供应 ...

  10. Windows操作系统的版本

    Windows操作系统的版本 Windows操作系统的版本号一览 操作系统 PlatformID 主版本号 副版本号 Windows95 1 4 0 Windows98 1 4 10 WindowsM ...

最新文章

  1. macOS配置Apache服务器
  2. asp.net mvc 简易上传功能
  3. Hexo+github搭建个人博客-环境搭建篇
  4. 简单哈弗曼树(Java)
  5. Java面试2021,java数据可视化项目
  6. Rafy 框架 - 为数据库生成注释
  7. C++开发技术的应用有哪些?
  8. 金融危机和丘处机的关系
  9. 华为培训视频-AAA培训
  10. 软件设计文档示例模板 - 学习/实践
  11. PowerBuilder制作纸牌游戏
  12. 春节假期,我把父母家的网络整瘫了……
  13. PostgreSQL如何拼接字符串
  14. unity技美31——Curvy Splines寻路插件绘制赛道,并且生成OBJ教程
  15. 74ls20设计半加器_组合逻辑电路(半加器全加器及逻辑运算)实验报告
  16. excel中将两列交叉合并为一列
  17. Python学习笔记(5),Battleship 游戏
  18. C++/MFC 面试题(六、逻辑题)
  19. (原创)制作一个采用 LCD1602 显示的电子钟,在 LCD 上显示当前的时间。显示格式为“时时:分分:秒秒”。设有 4 个功能键k1~k4,功能如下:(1)k1——进入时间修改。
  20. 玩吧斗兽棋的一些攻略 同级子谁胜负问题

热门文章

  1. Shell-cat url-list.txt | xargs wget -c
  2. day9http协议
  3. VS2015中搭建lua环境
  4. windows8 开发教程 教你制作 多点触控Helper可将任意容器内任意对象进行多点缩放...
  5. TYVJ1613 不和谐的公司
  6. 将 varchar 值转换为数据类型为 int 的列时发生语法错误
  7. Minimum Size Subarray Sum (二分)
  8. 20165218 《网络对抗技术》Exp0 Kali安装 Week1
  9. 简述redux(1)
  10. CentOS 7 重装mysql编译过程报错解决方法