使用计算机的人就会接触到操作系统,微软对W

时间:2020-02-13 02:27来源:手机美高梅游戏网址
Win7之家:微软对Windows 7的多核心处理能力进行优化改进 Win 1.0 到 Win 7 Windows 操作系统二十六年-1 Win 1.0 到 Win 7 Windows操作系统二十六年-2 Win 1.0 到 Win 7 Windows操作系统二十六年-1 Win

Win7之家:微软对Windows 7的多核心处理能力进行优化改进

  • Win 1.0 到 Win 7 Windows 操作系统二十六年-1
  • Win 1.0 到 Win 7 Windows 操作系统二十六年-2
  • Win 1.0 到 Win 7 Windows 操作系统二十六年-1
  • Win 1.0 到 Win 7 Windows 操作系统二十六年-2

双核,四核和多核处理器在现在已经不是什么新鲜的名词了,但是各种软件和系统对于多核心处理器的支持依然不够完善.不过在下一个版本的Windows系统平台中,多核心的支持肯定会更加完善,微软首席战略官Craig Mundie最近讨论了这一话题.



他认为,Win32从来就没有被设计为一个设计高度并行,异步处理的系统,但他承认需要调节各个级别堆栈中不同任务,不同层次的平衡,这一改进将在下一个版本的Windows中体现出来.这意味着Windows 7的多核心计算和优化分配能力将更强,Windows 7作为一个桌面系统将对8个或者更多CPU处理器的核心做好准备.

无论是 Windows、Linux 还是 Mac OS X,使用计算机的人就会接触到操作系统。尽管原始的计算机是不需要操作系统的,然而现在的大大小小的计算机已经离不开操作系统,实际上,一般人最经常接触到的软件就是操作系统。只要你在运行程序,那么背后就会有一个操作系统在支持。

在 1988 年开始,微软在研发 Windows 2.0 的时候,同时也在寻找新的道路,盖茨一直渴望研发一个可以运行在大多数处理器上,并具有 Unix 系统上的多种强大功能的、运行在 PC 机上的全新的操作系统。这或许是对比 Unix 和 Windows 下得到的结果的影响。盖茨对 Unix 和 Windows 都很了解,盖茨曾开发过一个叫做 Xenix 的 Unix 操作系统。

OS,Operating System(操作系统)是什么?按照一般的定义:操作系统控制和管理计算机系统内各种硬件和软件资源、合理有效地组织计算机系统的工作,为用户提供一个使用方便可扩展的工作环境,从而起到连接计算机和用户的接口作用。操作系统就是通过更好、更方便的方式组织、使用硬件资源,并提供更多的功能和更好的性能。操作系统和硬件紧密结合,由于硬件不停的发展,操作系统也需要不停地发展。

美高梅手机游戏网站 1
IBM OS/2 2.0,1992年

美高梅手机游戏网站 2
Windows 7,2009年10月22日

在1988年10月31日,比尔·盖茨做了一个现在来看非常重要的决定:雇用一群以David Cutler为首的来自DEC的员工,Cutler领导开发了DEC VMS系统。很快他们加入了和IBM合作的OS/2 2.0开发,OS/2 2.0是一个纯32位的操作系统,它大概就是盖茨梦想中的强大的高端桌面操作系统,而Windows 2.0/3.0则算是低端的桌面操作系统。然而后来在开发方向上的分歧,最后两家终于分道扬镳。

对于大多数电脑而言,没有操作系统是无法使用的,而个人电脑上最常见的系统就是Windows,为什么Windows如此常见?因为按照定义,操作系统的一个重要作用就是就是给用户提供一个方便使用各种硬件资源的工作环境,以易用性作为主要诉求的Windows系统就符合了这个要求。当然,充分地发挥硬件的作用也是操作系统的任务,从下面Windows的历史当中,我们可以看到Windows的易用性和功能、性能是如何地发展的。

合作决裂之前,微软本来负责OS/2 3.0的开发,在决裂之后,这些来自原DEC的人马开始专心制作盖茨梦想中的操作系统,新的操作系统部分基于OS/2 3.0,同时还带有DEC VMS的因素,这个操作系统被命名为Windows NT,NT就是New Technology新技术的意思。从现在来看,在名字中出现New这个单词不算是一个好主意,因为新旧总是相对的,昔日的新到了现代就很难称之为新。因此现在沿袭Windows NT架构的系统都已经不再使用Windows NT这个名字,而是千奇百怪,无所不有。

我们都知道Windows操作系统是Microsoft微软公司的一个产品,一些较老的用户可能还接触过微软的MS-DOS,一个操作系统。在谈到Windows诞生的时候,就不能不谈到DOS,因为一开始的Windows需要DOS才能运行。

美高梅手机游戏网站 3
Microsoft Windows NT 3.1,1993年,一直到现在,发展了16年

美高梅手机游戏网站 4
字符界面:MS-DOS,版本3.30是笔者刚接触电脑时流行的操作系统;1987年发布

为此什么称之为NT呢?Windows NT采用了全新的设计思想,这牵涉到操作系统内核上的理念。在80年代前,主流的操作系统,要么是属于原始的没有内核的产品,要么属于单内核产品,到了80年代,学术界开始流行一种微内核的风潮,出现了如Mach(1985年)这样的经典微内核操作系统。典型的单内核系统则有各种Unix和类Unix。

MS-DOS的第一个版本——1.0是在1981年配合IBM PC推出的,当时,市面上的PC都是封闭式的结构,并且市面上具有各种各样的处理器。1978年,IBM打算进入微型计算机市场,到了1980年,它们决定进行一个前无古人的创举:建立一个开放性标准的PC架构,公开了除BIOS之外的全部技术资料,使不同厂商的标准部件可以互换。这个计划被非官方地称为“Manhattan Project(曼哈顿计划)”。我们知道这个架构将会开创IBM PC的历史。然而在当年,在硬件准备好了之后,还需要软件搭配。IBM公司同样也希望这个软件规范也是开放型的,8月21日他们决定向微软购买BASIC、FORTRAN、COBOL、Pascal编程软件。IBM当时决定使用Intel 8088作为处理器,而微软的编程语言已经在8086上进行了许多工作,只需要略为改动就可以运行(8088是8086的一个简化版本)。

在一个分层设计的操作系统中,为其他组件提供最基本的系统功能的部件就叫做内核。单内核就是单个大的进程映像中集成了操作系统中所有基础功能,而微内核就是在内核中仅集成了经过挑选的、基本的功能,其它的操作系统功能构建在其上——用户应用程序再构建其上。微内核的设计可以让系统变得更模块化,带来可移植性和新功能开发上的好处,此外操作系统层次更明晰,维护也会更加方便。

美高梅手机游戏网站 5
8088主板,1979年。Intel 8088是以8086为基础的处理器,拥有16位寄存器和8位数据总线。因为采用16位数据总线的8086需要的大资料总线宽度的电路板还是相当地昂贵。8088的prefetch queue(预取序列)是4个字节,8086是6个字节。8088 的后代包括到现在还在使用的Intel 80188、80288(不再制造或使用)、和80388

美高梅手机游戏网站 6
微内核架构:Windows NT架构图,适合3.1~3.51版本

获得16位编程语言之后,IBM还需要一个16位的操作系统,当时8086上流行的操作系统是CP/M-86,而微软当时的操作系统是盖茨发展的一个16位的叫做XENIX的UNIX操作系统。由于种种原因IBM并没有采用CP/M-86,在9月25日,微软和一家叫做Seattle Computer的公司签约获得无限发布及颁发86-DOS操作系统许可证的能力(Seattle Computer也可以同样继续发布),随后的1980年11月6日微软和IBM协议,微软将DOS提供给IBM,同时微软和IBM都可以继续开发DOS(但是IBM不可以授权给第三方而微软可以),接着,随着IBM的个人电脑发布(1981年11月12日),MS-DOS(1981年8月)和PC-DOS两条路线就出现了。86-DOS就是这两个操作系统的前身,而86-DOS(Disk Operating System)之前叫做QDOS(Quick and Dirty Operating System),由Tim Patterson在1980年基于部分CP/M部分DEC操作系统开发,并具有一个FAT文件系统来处理外部存储。

谈到了内核之后,必须介绍一下特权等级(Privilege Level)和双模式(Dual Mode)的概念,操作系统必须安全地在多个程序间共享资源。资源不能让应用程序随意访问而必须由操作系统进行管理,它需要具有特殊的权限,因此在一些处理器上,设计了多种指令等级,不同的等级可以运行的指令并不相同。在80386处理器上,除了以前提到的各种改变之外,还有一个重要的改进就是在保护模式下引进了特权等级的概念:一共四个,从Ring 0到Ring 3,特权依次下降。Ring 0是被用于运行操作系统最核心的部分:内核,Ring 1和Ring 2用于不那么关键的部分:操作系统服务,Ring 3则用于应用程序。然而实际上很多当时的RISC处理器都只有两个特权等级,所以大多数操作系统包括Windows NT都只使用了两个等级,即Ring 0和Ring 3,如下图所示。

随着IBM PC的成功,拥有DOS就像是拥有一座金矿一样——微软在81年7月买下了86-DOS,不过Seattle Computer可以继继续随着它们的机器销售86-DOS。

Windows NT之前的Windows由于并不支持这个设计,任意程序都可以直接操作硬件并破坏其它软件,系统十分脆弱。运行在两种特权等级下的系统模型就叫做双模式(Dual Mode),分别是用户模式(User Mode)和监察者模式(Monitor Mode)或者系统模式(System Mode ),后者通常叫做核心模式(Kernel Mode)。基于种种强大的特性,很多比较高级的操作系统都构建在386之上。

1981年8月发行的Microsoft DOS 1.0由4000行汇编代码组成,可以运行在8KB的内存中。DOS是基于命令行的——直到最后都是如此(但是在后期出现了DOSSHELL这样的类似于图形界面的DOS外壳程序),当时,图形界面(GUI,Graphics User Interface)已经出现,甚至已经出现了很多年:


Ring 0~Ring 3:80386处理器引入的四层特权等级架构

美高梅手机游戏网站 7
最早的GUI:Xerox Alto,1973年

特权模式也让真正的多任务功能成为了可能:处理器的定时器每隔一段时间就会产生一个中断,操作系统内核通过管理这个中断来获得不断的对系统的控制权,并根据特定的策略来调度多个程序的执行。Windows NT实现了基于优先级的抢先式多任务,操作系统可以随时中断其它程序的运行;而Windows 1.x/2.x/3.x只能实现协同多任务,也就是说一个程序愿意放出控制权的时候,其他程序才能继续执行,操作系统也一样。微内核设计给Windows NT带来了更好的灵活性和健壮性。

最早的GUI源自Xerox施乐内部的研究,不过很奇怪地在很长一段时间内没有得到应用,1979年Steve Jobs(史蒂夫·乔布斯)在访问Xerox PARC之后回来立即就建立了Apple Lisa,一个不太成熟也不太成功的GUI系统:

美高梅手机游戏网站 8
Windows NT 3.1的界面和Windows 3.x的界面很相像

美高梅手机游戏网站 9
软硬捆绑的计算机:Apple Lisa Office System,1983年

基于可移植性和健壮性的要求,Windows NT还引入了新的内核模式驱动程序体系,它在实际的硬件上放加入了一层叫做硬件抽象层(Hardware Abstraction Layer)的东西,或许它也可以认为是内核的一部分,这取决于你怎么定义。硬件抽象层建立在驱动程序和实际的硬件之间,为驱动程序隐藏了硬件的不同,这样就可以编制出跨处理器(比如Intel x86和DEC Alpha、IBM PowerPC等)、源代码兼容的设备驱动程序,每一种硬件体系都有着不同的HAL版本,这部分需要针对不同的架构针对编写。这些依赖于具体硬件的部分使用了汇编语言来编写。在硬件抽象层之上,就是设备无关的部分了,在不同的体系之间进行移植至需要重新编译。

  很快Apple Lisa被Macintosh计划代替:

总的来说,Windows NT是一个全新的、基于微内核的、模块化分层的纯32位操作系统,符合了盖茨当年的想法:强大、健壮,可移植,功能齐全。Windows NT很快获得了学术界的认可。

美高梅手机游戏网站 10
Apple Mac OS System 1.0,1984年

美高梅手机游戏网站 11
美高梅手机游戏网站 ,Microsoft Windows NT Advanced Server 3.1,1993年

然而早在1981年底的时候,盖茨就已经见过Macintosh的原型机了,在1982年的时候盖茨还与Apple协议为Macintosh写一个图形化的表格程序(叫做Multiplan)。盖茨很清楚,图形用户界面(GUI)这种更直观的操作方式显然要比DOS的命令行来得更加友好,并毫无疑问是未来的方向(记得一开始我们说操作系统就是为了更方便地使用电脑么?)。在81年末82年初,盖茨和艾伦(Paul Allen)决定为IBM PC做一个GUI界面,这个动机就是Windows诞生的由来。

Windows NT发布后的第二年,微软发布了开发代号为Daytona的Windows NT 3.5,从这个版本开始,微软把NT操作系统分为了工作站版本和服务器版本,它们在系统服务上有些不同,同时,内核的任务调度策略选择上也有不同的倾向。Windows NT 3.5包括了新的开机画面和类似于Windows for Workgroups 3.x的用户界面,以及改进的OLE (对象链接环境) 技术。Windows NT实质上是一个基于对象的操作系统,在内核内部,资源都按照Object对象为单位进行管理,管理对象的凭据叫做Handle句柄。Windows NT部分代码采用了C++,由于性能方面的考虑,大部分代码仍然使用了C。设备相关以及性能关键的部分则是汇编。

Windows的诞生并不是一帆风顺,在82年初微软打算做一个IBM PC的GUI之后,在同年秋季的时候,一个图形化的工作环境Lotus 1-2-3出现了,为了节约内存,它并不需要DOS系统而直接操作硬件。微软很明白被人抢先了,于是在1983年宣布11月10日正式宣布他们的GUI程序:Interface Manager(界面管理器),也就是Windows的前身,实际上,Windows在当时还没有准备好,不过这种预先放风的方式可以吸引到人的注意。

美高梅手机游戏网站 12
Windows NT Server 3.5,1994年

盖茨在DOS上面错过了开发的机会,他不想再错过GUI上面的机会。实际上,在83年6月,微软还为图形界面开发了一个专用的鼠标。为了支持鼠标的应用,在11月,微软还发布了WORD办公软件,可以充分利用鼠标的优势。毫无疑问,关于Windows,或者说界面管理器的种种行为导致了Apple的忧虑,并导致了最终微软和苹果关于开发软件的协议的中止。

美高梅手机游戏网站 13
手机美高梅游戏网址 ,Windows NT Workstation 3.5,1994年

美高梅手机游戏网站 14
Microsoft Windows 1.01,1985年11月20日

美高梅手机游戏网站 15
Microsoft Windows NT Server 3.51,1995年

美高梅手机游戏网站 16
实际上,发布的准确版本是Windows 1.01

微内核设计一切都很好,但是有一个主要的问题:性能,第一代微内核设计如Mach等都有这个问题,因此Windows NT一统江山的时候还没能到来,微软在Windows 3.x的基础上继续开发,实际上,在开发Windows NT的时候,微软就在酝酿着两条操作系统线的融合,首先是API,微软希望它能成为未来操作系统的基础:

  Windows 1.0支持鼠标操纵和多任务操作,Windows(窗口)成为了最基本的界面元素,它可以任意缩放, 并且每个Windows应用程序都有自己独立的菜单。Windows 1.0中的一些经典应用程序,如日历、记事本、计算器等一直保留到现在。

美高梅手机游戏网站 17
Win32 API,1991年1月

 

  显然Win32 API是一个32位的API,作为16位操作系统Windows x.x的替代。Windows NT就使用了这个API并替代了之前计划中的OS/2 API。最初的Windows NT面向服务器和工作站市场,在桌面系统上,微软希望能有一款不再依赖于MS-DOS、同样基于Win32 API的32位操作系统,于是代号为"Chicago" (芝加哥) 的操作系统被提上了开发日程,这就是后来的Windows 95:

美高梅手机游戏网站 18
Windows 1.01,基于MS-DOS2.0;MS-DOS 1.0大致上和买来的86-DOS类似,而MS-DOS 2.0则在1.0基础上进行了大范围的重写

美高梅手机游戏网站 19
Microsoft Windows 95,1995年

  显然,第一代产品不太成功是很常见的,虽然Microsoft Windows 1.0的设计工作花费了55个开发人员整整一年的时间,不过由于延期,以及IBM本身的抗拒,因此并没有流行起来。其时IBM已经转向了采用Intel 286处理器PC/AT架构,而DOS 2.0并不能完全发挥286的性能。不过无论如何,Windows 1.0总归是一个历史性的产品。 

1995年8月24日,Windows 95正式发行,这是一个里程碑式的作品,也是第一个以年份来命名的Windows,正式的版本号是4.0。为了实现对以往的兼容,Windows 95是一个16位/32位代码混合的单内核操作系统,大量的组件和新概念在Windows 95中被引入,如开始菜单和任务栏这样等。Windows 95还同样实现了抢占式多任务和多线程技术,虽然在16位程序仍然基于协同多任务调度。Windows 95还支持即插即用(Plug and Play)技术和更丰富的多媒体程序,系统最低必须提供640×480分辨率和256色的支持。Windows 95迅速成为了一个流行的游戏/多媒体平台。

美高梅手机游戏网站 20
Intel System 310,1985年,当时intel最先进的产品,通过多总线架构集成了一个80286和一个80287协处理器,但是软件发展还没有跟上

95年年底,微软发布了Windows 95 Service Release 1,第二年又推出了Windows 95 OEM Service Release 2(Windows 95 OSR2) ,开始正式支持FAT32文件系统,并开始捆绑Internet Explorer,这个举动引起了互联网浏览器格局的变迁。Windows 95 OSR2还开始集成了Direct X 2.0,这个API在图形界面上将会变得越来越重要。由于Windows 95 OSR2的重要性,人们叫它为Windows 97。

编辑:手机美高梅游戏网址 本文来源:使用计算机的人就会接触到操作系统,微软对W

关键词: