第1章 操作系统概述 - 烟台大学_第1页
第1章 操作系统概述 - 烟台大学_第2页
第1章 操作系统概述 - 烟台大学_第3页
第1章 操作系统概述 - 烟台大学_第4页
第1章 操作系统概述 - 烟台大学_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章操作系统概述PAGEPAGE1第1章操作系统概述教学要点本章主要介绍操作系统的基本概念、操作系统的发展历史、操作系统的功能和主要特征以及常用的操作系统。读者应重点掌握操作系统基本概念、操作系统的功能,并对操作系统的发展历史有一定的了解,进而对现在流行的操作系统及其发展方向能有深刻的认识。教学要点本章主要介绍操作系统的基本概念、操作系统的发展历史、操作系统的功能和主要特征以及常用的操作系统。读者应重点掌握操作系统基本概念、操作系统的功能,并对操作系统的发展历史有一定的了解,进而对现在流行的操作系统及其发展方向能有深刻的认识。在现代计算机系统中,如果不安装操作系统,很难想象还会有谁使用计算机。操作系统是计算机系统中重要的系统软件,是整个计算机系统的控制中心。操作系统不仅将裸机改造成为功能强、服务质量高、使用方便灵活、运行安全可靠的虚拟机来为用户提供使用计算机系统的良好环境,而且采用合理有效的方法组织多个用户共享计算机系统中的各种资源,最大限度地提高系统资源的利用率。1.1什么是操作系统应用程序操作系统是配置在计算机硬件平台上的第一层软件,是一组系统软件。一个新的操作系统往往融合了计算机发展中的一些传统的技术和新的研究成果。在计算机系统中,处理机、内存、磁盘、终端、网卡等硬件资源通过主板连接构成了看得见摸得着的计算机硬件系统。为了能使这些硬件资源高效地、尽可能并行地供用户程序使用,为了给用户提供通用的使用这些硬件的方法,必须为计算机配备操作系统软件。操作系统的工作就是管理计算机的硬件资源和软件资源,并组织用户尽可能方便地使用这些资源。操作系统是软硬资源的控制中心,它以尽量合理有效的方法组织用户共享计算机的各种资源。为了使读者对操作系统有更清楚地了解,我们从系统软件、资源管理器和接口三个方面介绍操作系统。应用程序语言处理程序1.1.1操作系统是最重要的系统软件语言处理程序计算机系统可以看成是由硬件和软件按层次结构操作系统组成的系统,如图1.1所示。硬件系统是指构成计算操作系统硬件系统机系统所必须配置的硬件设备。现代计算机系统一般硬件系统都包含一个或多个处理器、内存、磁盘驱动器、光盘驱动器、打印机、时钟、鼠标、键盘,显示器、网络接口以及其它输入/输出设备。计算机硬件系统构成了图1.1计算机系统组成计算机本身和用户作业赖以活动的物质基础。只有硬件系统而无软件系统的计算机称为裸机。用户直接使用裸机不仅不方便,而且将严重降低系统效率。软件系统是一个为计算机系统配置的程序和数据的集合。软件系统又有应用软件和系统软件之分。应用软件是为解决某一具体应用问题而开发的软件,如:财务软件、字处理软件等;系统软件是专门为计算机系统所配置的,如操作系统、各种语言处理程序等。操作系统是以硬件为基础的系统软件,是硬件层的第一次扩充,在这一层上实现了操作系统的全部功能,并提供了相应的接口。其它各软件层都是在操作系统的基础上开发出来的。语言处理程序层包括各种程序设计语言的编译程序以及动态调试程序等实用性程序。语言处理程序层是操作系统层的扩充,而应用程序层是语言处理程序层的进一步扩充。在应用程序层,用户可以使用各种程序设计语言,在操作系统的支持下,编写并运行满足用户需要的各种应用程序。由此可见,操作系统是计算机系统中最重要的系统软件。1.1.2操作系统是资源管理器计算机系统的资源包括硬件资源和软件资源。站在资源管理的角度,把计算机系统资源分为四大类:处理机、存储器、输入/输出设备和信息,前三类为硬件资源,最后一类为软件资源。操作系统的任务就是使整个计算机系统的资源得到充分有效的利用,并且在相互竞争的程序之间合理有序地控制系统资源的分配,从而实现对计算机系统工作流程的控制。作为资源管理器,操作系统要完成以下工作:①跟踪资源状态。时刻维护系统资源的全局信息,掌握系统资源的种类和数量、已分配和未分配的情况。②分配资源。处理对资源的使用请求,协调请求中的冲突,确定资源分配算法。当有多个用户争用某个资源时,进行裁决。同时,根据资源分配的条件、原则和环境决定是立即分配还是暂缓分配。③回收资源。用户程序在资源使用完毕之后要释放资源。此时,资源管理器应及时回收资源,以便下次重新分配。④保护资源。资源管理器负责对资源进行保护,防止资源被有意或无意地破坏。系统资源的使用方法和管理策略决定了操作系统的规模、类型、功能与实现方法,基于这一点,可以把操作系统看成是由一组资源管理器(即资源管理程序)组成的。根据资源的分类情况,可以为操作系统建立相应的四类管理器:处理机管理、存储器管理、输入/输出设备管理和信息管理(通常指文件系统)。因此说,操作系统是资源管理器。1.1.3操作系统是用户(应用程序)与计算机硬件系统之间的接口在计算机系统组成的四个层次中,硬件是最低层。操作系统处于用户与计算机系统硬件之间,用户通过操作系统来使用计算机。对多数计算机而言,在机器语言级的体系结构(包括指令系统、存储组织、I/O和总线结构)上编程是相当困难的,尤其是输入/输出操作。为了让用户和程序员在使用计算机时不涉及硬件细节,使程序员与硬件细节独立开来,需要建立一种高度抽象。这种抽象就是为用户提供一台等价的扩展计算机,这样的计算机称为虚拟计算机,简称虚拟机。操作系统作为虚拟机为用户使用计算机提供了方便,用户可不必了解计算机硬件工作的细节,通过操作系统来使用计算机,操作系统就成了用户和计算机之间的接口。用户可通过三种方式使用计算机:①命令方式。用户可通过键盘输入由操作系统提供的一组命令,来直接操纵计算机系统;②系统调用方式。用户可在自己的应用程序中,通过调用操作系统提供的一组系统调用,来操纵计算机系统;③图形、窗口方式。用户通过屏幕上的窗口和图标,来操纵计算机系统和运行自己的程序。有了这几种方式,用户就可以不涉及硬件的实现细节,方便而有效地取得操作系统为用户所提供的各种服务,合理地组织计算机工作流程。所以说,操作系统是用户与计算机硬件系统之间的接口。综上所述,我们来给操作系统下个定义:操作系统是一组控制和管理计算机系统的硬件和软件资源,合理地组织计算机工作流程并为用户使用计算机提供方便的程序和数据的集合。在计算机系统中设置操作系统的目的在于提高计算机系统的效率,增强系统的处理能力,提高系统资源的利用率,方便用户使用计算机。1.2操作系统的发展历史1.2.1手工操作阶段在计算机刚刚出现时,由于计算机的存储容量小,运算速度慢,输入/输出设备只有纸带输入机、卡片阅读机、打印机和控制台。人们使用这样的计算机只能采用人工操作方式,根本没有操作系统。在人工操作情况下,用户一个挨一个地轮流使用计算机。每个用户的使用过程大致如下:先把手工编写的程序(机器语言编写的程序)穿成纸带(或卡片)装上输入机,然后经人工操作把程序和数据输入计算机,接着通过控制台开关启动程序运行。待计算完毕,用户拿走打印结果,并卸下纸带(或卡片)。在这个过程中需要人工装纸带、人工控制程序运行、人工卸纸带,进行一系列的“人工干预”。这种由一道程序独占机器的情况,在计算机运算速度较慢的时候是可以容忍的,因为此时计算所需的时间相对而言较长,人工操作时间所占比例还不算很大。随着计算机技术的发展,计算机的速度、容量、外设的功能和种类等方面都有了很大的发展。比如,计算机的速度就有了几十倍、上百倍的提高,故使手工操作的慢速度和计算机运算的高速度之间形成了一对矛盾,即所谓人―机矛盾。随着计算机速度的提高,人―机矛盾已到了不可容忍的地步。为了解决这一矛盾,只有设法去掉人工干预,实现作业的自动过渡,这样就出现了批处理技术。由于当时软件发展处于初级阶段,用于管理的软件还没有产生,因此所有的运行管理和具体操作都由用户自己承担。为了实现作业建立和作业过渡的自动化引入了批量监督程序(常驻内存的核心代码),每一种语言翻译程序(汇编语言或高级语言的编译程序),或实用程序(如链接程序)都作为监督程序的子例程。1.2.2联机批处理系统监督程序的工作对象是以作业流形式提供的。每个用户需要计算机解决的计算工作均组织成一个作业。每个作业有一个和程序分开的说明文件,即作业说明书,它提供了用户标识、用户要使用的编译程序以及所需要的系统资源等基本信息。每个作业还包含一个程序和一些原始数据,最后是该作业的终止信息。终止信息给监督程序一个信号,表示此作业已经结束,应为下一个用户作业做好服务准备。各用户把自己的作业交给机房,由操作员把一批作业装到输入设备上(如果输入设备是纸带输入机,则这一批作业在一盘纸带上。若输入设备是读卡机,则该批作业在一叠卡片上),然后在监督程序控制下送到外部存储器,如磁带、磁鼓或磁盘上。为了执行一个作业,批处理监督程序将解释这个作业的说明书,若系统资源能满足其要求,则将该作业调入内存,并从外部存储器(如磁带)上输入所需要的编译程序。编译程序将用户源程序翻译成目标代码,然后由链接装配程序把编译后的目标代码及其所需的子程序装配成一个可执行的程序,接着开始执行。计算完成后输出该作业的计算结果。只有一个作业处理完毕后,监督程序才可以自动地调度下一个作业进行处理,依次重复上述过程,直到该批作业全部处理完毕。在这种批处理系统中,作业的输入/输出是联机的,也就是说作业从输入机到磁带,由磁带调入内存,以及结果的输出打印都是由CPU直接控制的。随着CPU速度的不断提高,CPU和输入/输出设备之间的速度差距就形成了一对矛盾。因为在进行输入/输出时,CPU是空闲的,高速的CPU要等待慢速的输入/输出设备的工作,不能发挥CPU应有的效率。1.2.3脱机批处理系统为了克服联机批处理存在的缺点,在批处理系统中引入了脱机输入/输出技术,从而形成了脱机批处理系统。脱机批处理系统由主机和卫星机组成,卫星机又称外围计算机,它不与主机直接连接,只与外部设备打交道。作业通过卫星机输入到磁带上,当主机需要输入作业时,就把输入带同主机连上。主机从输入带上把作业调入内存,并予以执行。作业完成后,主机负责把结果记录到输出带上,再由卫星机负责把输出带上的信息打印输出。这样,主机摆脱了慢速的输入/输出工作,可以较充分地发挥它的高速计算能力。同时,由于主机和卫星机可以并行操作,因此脱机批处理系统与早期联机批处理系统相比大大提高了系统的处理能力。批处理系统是在解决人―机矛盾以及高速度的CPU和低速度的I/O设备间矛盾的过程中发展起来的。它的出现改善了CPU和外设的使用情况,实现了作业的自动定序、自动过渡,从而使整个计算机系统的处理能力得以提高。但仍存在着许多缺陷,如卫星机与主机之间的磁带装卸仍需人工完成,操作员需要监督机器的状态等等。如果一个程序进入死循环,系统就会踏步不前,只有当操作员提出请求,要求终止该作业,删除它并重新启动,系统才能恢复正常运行。当目标程序执行一条引起停机的非法指令时,机器就会错误地停止运行。此时,只有操作员进行干预,即在控制台上按启动按钮后,程序才会重新启动运行。并且,由于系统没有任何保护自己的措施,无法防止用户程序破坏监督程序和系统程序。系统保护的问题亟待解决。1.2.4执行系统60年代初期,计算机硬件获得了两方面的发展,一是通道的引入,二是中断技术的出现,这两项重大成果使操作系统进入执行系统阶段。通道是一种输入/输出专用处理机,它能控制一台或多台外设工作,负责外部设备与内存之间的信息传输。它一旦被启动,就能独立于CPU运行,这样就可使CPU和通道并行操作,而且CPU和各种外部设备也能并行操作。中断是指当CPU接到外部硬件(如I/O设备)发来的信号时,马上停止原来的工作,转去处理这一事件,在处理完了以后,CPU又回到原来的工作点继续工作。借助于通道、中断技术,输入/输出工作可以在CPU控制之下完成。这时,原有的监督程序不仅要负责调度作业自动地运行,而且还要提供输入/输出控制功能(即用户不能直接使用启动外设的指令,它的输入/输出请求必须通过系统去执行),它比原有的功能增强了。这个扩展后的监督程序常驻内存,称为执行系统。执行系统比脱机处理前进了一步,它节省了卫星机,降低了成本,而且同样能支持主机和通道、主机和外设的并行操作。在执行系统中用户程序的输入/输出工作是委托给执行系统实现的,由执行系统检查其命令的合法性,提高了系统的安全性,可以避免由于不合法的输入/输出命令造成对系统的威胁。批处理系统和执行系统的普及,发展了标准文件管理系统和外部设备的自动调节控制功能。许多成功的批处理操作系统在50年代末到60年代初期开发成功,比较著名的有FMS(FORTRANMonitorSystem)和IBSYS(IBM为7094机配备的操作系统)。1.2.5多道批处理系统中断和通道技术出现以后,输入/输出设备和CPU可以并行操作,初步解决了高速CPU和低速外部设备的矛盾,提高了计算机的工作效率。但不久就发现,这种并行是有限度的,并不能完全消除CPU对外部传输的等待。比如,一个作业在运行过程中请求输入一批数据,当纸带输入机花1000ms输入1000个字符后,CPU只花300ms就处理完了,而这时,第二批输入数据还需等700ms时间才能输入完毕。因此,尽管CPU具有和外部设备并行工作的能力,但是在这种情况下无法让它多做工作,如图1.2所示。计算请求输入继续计算用户程序CPU工作监督程序启动I/OI/O完成I/O操作结束中断t图1.2单道程序工作示例在输入操作未结束之前,CPU处于空闲状态,其原因是输入/输出操作与本道作业相关。商业数据处理、文献情报检索等任务涉及的计算量比较少,而输入/输出量比较大,所以需要较多地调用外部设备。当由慢速的机械传动读卡机、纸带输入机或从磁带、磁盘等设备输入数据到存储器时,CPU不得不等待。在处理结束后,又有很多时间被耗费在处理机等待通道将结果送到磁带、磁盘或用机械打印机打印在纸上。而对于科学和工程计算任务,主要涉及的是计算量大而使用外部设备较少的作业,因而当CPU运算时,外部设备经常处于空闲状态。此外,计算机在处理一些小题目时,存储器空间也未能得到充分利用。以上种种情况说明了单道程序工作时,计算机系统的各部件的效能没有得到充分发挥。那么,为了提高设备的利用率,能否在系统内同时存放几道程序呢?于是引入了多道程序的概念。多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互交替地运行。当某道程序因某种原因不能继续运行下去时(如等待外部设备传输数据),管理程序便将内存中的另一道程序投入运行,这样可以使CPU及各外部设备尽量处于忙碌状态,从而大大提高了计算机的使用效率。例如,用户程序A首先在CPU上运行,当它需要从光电机(即纸带输入机)输入新的数据而转入等待时,系统帮助它启动光电机进行输入工作,并让用户程序B开始在CPU上运行,直到程序B需要进行输入/输出操作时,再启动相应的外部设备进行工作。如果此时程序A程序B程序A程序BCPU····外部设备磁盘输入输出结束输入结束外部设备磁带输入绘图输出结束输入结束输出图1.3多道程序工作示例程序A的输入尚未结束,也无其它用户程序需要运行,则CPU就处于空闲状态,直到程序A或程序B在输入结束后重新运行。若当程序B的输入/输出处理结束时,程序A仍在执行,则程序B需等待,直到程序A计算结束请求输出时,才转入程序B的执行。从图1.3中可以看出,在有两道程序执行的情况下,CPU的效率已大大提高。因此,当有多道程序工作时,CPU将几乎始终处于忙碌状态。多道程序设计技术使得几道程序在系统内并行工作。但在冯·诺伊曼型计算机结构中(在单CPU情况下),CPU严格地按照指令计数器的内容顺序地执行每一个操作,即一个时刻只能有一个程序在处理机上执行。那么,如何理解多道程序的并行执行呢?多道程序设计技术可以实现同时被接受进入计算机内存的若干道程序相互交替地运行,即当一个正在CPU上运行的程序因为要进行输入/输出操作而不能继续运行下去时,就把CPU让给另一道程序。所以,从微观上看,一个时刻只有一个程序在CPU上运行;但从宏观上看,几道程序都处于执行状态(因为都已存放在内存),有的正在CPU上运行,有的在打印结果,有的正在输入数据,它们的工作都在向前推进。我们把多道程序在单处理机上的逻辑上的同时执行称为并发执行。综上所述,多道程序运行的特征如下:多道。即计算机内存中同时存放几道相互独立的程序。宏观上并行。同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。微观上串行。从微观上看,内存中的多道程序轮流地或分时地占有处理机,交替执行(单处理机情况)。在批处理系统中采用多道程序设计技术就形成了多道批量处理操作系统,简称多道批处理系统。该系统把用户提交的作业(相应的程序、数据和处理步骤)成批送入计算机,然后由作业调度程序自动选择作业运行。这样能缩短作业之间的交接时间,减少CPU的空闲等待,从而提高了系统效率。在多道批处理系统中,交到机房的一批作业由操作员负责将其由输入机转储到辅存设备上,等待运行。当需要调入作业时,作业调度程序按一定的调度原则选择一个或几个作业装入内存,内存中的几个作业交替运行,直到某作业完成计算任务,输出其结果,收回该作业占用的全部资源。在这种系统中,机器的利用率是很高的。因为,作业的输入、作业的调度等完全由系统控制,并允许几道程序同时投入运行,只要合理搭配作业,比如把计算量大的作业和输入/输出量大的作业合理搭配,就可以充分利用系统的资源。多道批处理的优点是系统的吞吐量高,缺点是对用户的响应时间(用户向系统提交作业到获得系统的处理这一段时间为响应时间)较长,用户不能及时了解自己程序的运行情况并加以控制。1.2.6分时系统尽管多道批处理系统很适于大型科学计算和繁忙的商务数据处理,但实际上许多程序员希望即时地调试自己的程序。在批处理系统中,一个作业从提交到取回运算结果往往需要几个小时。更有甚者,有时一个逗号就会导致编译失败,浪费程序员半天时间。程序员们希望很快得到响应,这种需求导致了分时系统的出现。分时系统实际上是多道程序的一个变种,不同之处只是每个用户都有一个联机终端,让用户在终端直接操作、控制自己程序的运行,这种操作方式称为联机工作方式。在这种方式下,用户可以通过终端(控制台)及时与机器交互。当计算机硬件技术和软件技术发展到60年代中期时,便产生了一种新的、既能实现用户的联机操作、又能保证机器使用效率的计算机系统——分时系统。在分时系统中,一个计算机和许多终端设备连接,每个用户可以通过终端向系统发出命令,请求完成某项工作,而系统则分析从终端设备发来的命令,完成用户提出的要求。之后,用户又根据系统提供的运行结果,向系统提出下一个请求,就这样重复上述交互会话过程,直到用户完成全部工作为止。如著名的CTSS和MULTICS等。在分时系统中,计算机能同时为许多终端用户服务,而且能在很短的时间内响应用户的要求。因为系统采用了分时技术,把处理机运行时间划分成很短的(如几百毫秒)时间片轮流地分配给各个联机作业使用,如果某个作业在分配给它的时间片用完之前计算还未完成,该作业就暂时中断,等待下一轮继续计算,此时处理机让给另一个作业使用。这样,各个用户的每次请求都能得到快速响应,给每个用户的印象就好像他独占一台计算机一样。在多道系统中采用分时技术就形成了分时操作系统。它一般采用时间片轮转的办法,使一台计算机同时为多个终端用户服务。对每个用户都能保证足够快的响应时间,并提供交互会话功能。分时系统通过给每个用户提供一台“个人计算机”的方法提高了整个系统的效率。分时系统具有以下特点:①多路性。众多联机用户可以同时使用一台计算机,所以亦称同时性。系统按分时原则为每个用户服务。宏观上,是多个用户同时工作,共享系统资源;而微观上,则是一个CPU轮流地按时间片为每个用户作业服务。②独占性。由于所配置的分时操作系统是采用时间片轮转的办法使一台计算机同时为许多终端用户服务的,因此,客观效果是这些用户彼此之间都感觉不到别人也在使用这台计算机,好像只有自己独占计算机一样。一般分时系统在3秒之内响应用户要求,用户就会感到满意,因为这时用户在终端上感觉不到需要等待。③交互性。用户与计算机之间进行“会话”,用户从终端打入命令,提出计算要求,系统收到命令后分析用户的要求并给予执行,然后把运算结果通过屏幕或打印机输出,用户可以根据运算结果提出下一步要求,这样一问一答,直到全部工作完成。④及时性。用户的请求能在很短的时间内获得响应,此时时间间隔是以人们所能接受的等待时间来确定的,通常不超过3秒。多道批处理系统和分时系统的出现标志着操作系统的形成。在某些计算机系统中配置的操作系统结合了批处理能力和交互作用的分时能力。它以前台/后台方式提供服务,前台以分时方式为多个联机终端服务,当终端作业运行完毕时,后台系统就可以运行批量的作业。1.2.7实时系统早期的计算机基本上用于科学和工程问题的数值计算。50年代后期,计算机开始用于生产过程的控制,产生了实时系统。随着计算机硬件的更新换代,整个计算机系统的功能大大增强了,计算机的应用领域越来越广泛。例如,炼钢、化工生产的过程控制,航天和军事防空系统中的实时控制等等。更为重要的是计算机广泛用于信息管理,如仓库管理、医疗诊断、教学、气象、地质勘探、图书检索、飞机订票、银行储蓄、出版编辑等。实时操作系统是操作系统的又一种类型。对外部输入的信息,实时操作系统能够在规定的时间内处理完毕并做出反应。“实时”二字的含义是指计算机对于外来信息能够及时进行处理,并在被控对象允许的时间范围内做出快速反应。实时系统对响应时间的要求比分时系统更高,一般要求响应时间为秒级、毫秒级甚至微秒级。实时系统按其使用方式不同分为两类:实时控制系统和实时信息处理系统。实时控制系统是指利用计算机对实时过程进行控制和提供环境监督。过程控制系统是把从传感器获得的输入数据进行分析处理后,激发一个活动信号,从而改变可控过程,以达到控制的目的。例如对轧钢系统中炉温的控制,就是通过传感器把炉温传给计算机控制程序,控制程序通过分析后再发出相应的控制信号以便对炉温进行调整,系统响应时间要满足温控要求。实时信息处理系统是指利用计算机对实时数据进行处理的系统。这类应用大多属于实现服务性工作,比如:自动订购飞机票系统、情报检索系统等。用户可以通过这样的系统预定飞机票、查阅文献资料。用户还可通过终端设备向计算机提出某种要求,而计算机系统处理后将通过终端设备回答用户,系统响应时间与分时系统相同,即满足人的反应时间。实时系统主要是为联机实时任务服务的,其特点如下:及时响应。系统对外部实时信号必须能及时响应,响应时间要满足能够控制发出实时信号的那个环境的要求。高可靠性和安全性。实时系统要求有高可靠性和安全性,系统的效率则放在第二位。系统的整体性强。实时系统要求所管理的联机设备和资源,必须按一定的时间关系和逻辑关系协调工作。交互会话功能较弱。实时系统没有分时系统那样强的交互会话功能,通常不允许用户通过实时终端设备去编写新的程序或修改已有的程序。实时终端设备通常只是作为执行装置或询问装置,是为特殊的实时任务设计的专用系统。1.2.8网络操作系统计算机技术和通信技术的结合使得共享资源和分散计算能力的愿望成为现实。这两种技术的结合已经对计算机的组织方式产生了深远的影响。“计算机中心”的概念正在迅速地变得陈旧,集中式计算机系统的模式正被一种新的模式所取代。在这种新模式中,计算任务是由大量分离而又互相连接的计算机来完成的,某一台计算机上的用户可以使用其它机器上的资源。于是引出了计算机网络的概念,计算机网络就是利用通信线路,将分散在不同地点的一些独立自治的计算机系统相互连接,按照网络协议进行数据传输和通信,实现资源的共享。这里要求计算机是“独立自治”的,即计算机网络中的各个计算机是平等的,可以独立工作的,任何一台计算机都不能强制性地启动、停止或控制另一台计算机。“互连”指的是两台计算机之间能彼此交换信息。连接不一定必须经过导线,也可以采用激光、微波来实现。计算机联网的目的有以下两点:①各计算机间资源共享、负载均衡。②通过提供可替换的资源而达到高度的可靠性。计算机网络能够使用户突破地域条件的限制使用远程计算机,并借助网络互相交换信息,从而大大拓展了计算机的应用范围。计算机网络分为两大类:广域网和局域网。两者之间的主要区别是网络覆盖区域的大小不同。因特网(Internet)是一种广泛区域内的数据包交换网络,已成为世界上连接范围最广、用户数量最多的广域网。网中的每一台主机都作为客户服务器运行。实际上,因特网的每一个组元节点都被看作一台主机,甚至路由器也被视为主机。每一台主机都有一个惟一的因特网协议(IP)地址。网络上的计算机是独立自治的,即各个计算机有自己的处理器、存储器、外部设备、各种软件资源和自己的用户。用户只能利用特定的语言和操作命令使用计算机。当计算机联网后,怎样才能适应网络环境的需要?一种较简单的方法是对原有的操作系统做某种改造,这样,既不会使原有的软件失效,又可以实现网络通信的需要。这种方法是在原有的操作系统中增加一个模块——网络通信模块。它负责本机系统同网上其它系统之间的资源共享和负载均衡,并实现网上信息的传输。目前流行的网络操作系统以及具有连网功能的操作系统主要有NETWARE系列、Windows9x、WindowsNTserver、Windows2000、VINES、Linux等。网络操作系统已比较成熟,它必将随着计算机网络的广泛应用而得到进一步的发展和完善。1.2.9分布式操作系统一组相互连接并能交换信息的计算机形成了一个网络。这些计算机之间可以相互通信,任何一台计算机上的用户可以共享网络上其它计算机的资源。但是,计算机网络并不是一个一体化的系统,它没有标准的、统一的接口。网上各站点的计算机有各自的系统调用命令、数据格式等。若一台计算机上的用户希望使用网上另一台计算机的资源,他必须指明是哪个站点上的哪一台计算机,并以该计算机上的命令、数据格式来请求才能实现资源共享。为完成一个共同的计算任务,分布在不同主机上的各合作进程的同步协作也难以自动实现。因此,计算机网络存在的问题之一,是在网络上的不同类型计算机中,用某一种计算机所编写的程序如何在另一类计算机上运行。存在的另一个问题,是如何在具有不同数据格式、不同字符编码的计算机系统之间实现数据共享。另外,还需要解决分布在不同主机上的多个进程如何自动实现紧密合作的问题。大量的实际应用要求一个完整的一体化的系统,而且又具有分布处理能力。如在分布事务处理、分布数据处理、办公自动化系统等实际应用中,用户希望以统一的界面、标准的接口使用系统的各种资源,实现所需要的各种操作。这就导致了分布式系统的出现。一个分布式系统有若干台独立的计算机构成,整个系统给用户的印象就像一台计算机。实际上,系统中的每台计算机都有自己的处理器、存储器和外部设备,它们既可独立工作(自治性),亦可合作。在这个系统中各机器可以并行操作且有多个控制中心,即具有并行处理和分布式控制的功能。分布式系统是一个一体化的系统,在整个系统中要有一个全局的操作系统,它负责全系统(包括每台计算机)的资源分配和调度、任务划分、信息传输、控制协调等工作,并为用户提供一个统一的界面、标准的接口。于是,分布式操作系统便诞生了。有了分布式操作系统,用户通过统一界面实现所需操作和使用系统资源,至于操作是在哪个计算机上执行的或使用的是哪个计算机的资源则是系统的事,用户是无须了解,也就是说系统对用户是透明的。计算机网络是分布式系统的物理基础,因为计算机之间的通信是经由通信链路的消息交换完成的。它和常规网络一样具有模块性、并行性、自治性和通信性等特点。但是,它比常规网络又有进一步的发展。例如,常规网络中的并行性仅仅意味着独立性,而分布式系统中的并行性还意味着合作。原因在于,分布式系统已不再是一个物理上的松散耦合系统,而是一个逻辑上的紧密耦合的系统。分布式系统和计算机网络的区别在于前者具有多机合作和健壮性。多机合作表现在自动的任务分配和协调,而健壮性表现在,当系统中有一个甚至几个计算机或通路发生故障时,其余部分可自动重构成为一个新的系统,该系统仍可以工作,甚至可以继续其失效部分的全部工作。当故障排除后,系统自动恢复到重构前的状态。这种自动恢复功能就体现了系统的健壮性。研制分布式系统的根本出发点和目的就是因为它具有多机合作和健壮性。正是由于多机合作,系统才具有响应时间短、吞吐量大、以及可用性好和可靠性高等特点。分布式系统是具有强大生命力的新生事物,是当前正在进行深入研究的热点之一。1.2.10PC机操作系统随着个人计算机的出现,产生了一系列的个人计算机操作系统,其中最知名的有:DOS、Windows、UNIX、Linux、OS/2等。1.3操作系统分类根据操作系统在用户界面的使用环境和功能特征的不同,操作系统一般可分为三种基本类型,即批处理系统、分时系统和实时系统。随着计算机体系结构的发展,又出现了许多种操作系统,它们是嵌入式操作系统、个人计算机操作系统、网络操作系统和分布式操作系统。1.批处理操作系统批处理(BatchProcessing)操作系统的工作方式是:用户将作业交给系统操作员,系统操作员将许多用户的作业组成一批作业,之后输入到计算机中,在系统中形成一个自动转接的连续的作业流,然后启动操作系统,系统自动执行每个作业。最后由操作员将作业结果交给用户。批处理操作系统的特点是:多道和成批处理。但是用户自己不能干预自己作业的运行,一旦发现错误不能及时改正,从而延长了软件开发时间,所以这种操作系统只适用于成熟的程序。批处理操作系统的优点是:作业流程自动化、效率高、吞吐率高。缺点是:无交互手段、调试程序困难。2.分时操作系统分时(TimeSharing)操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户使用。用户向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据上一步的处理结果发出下一道命令。分时操作系统将CPU的运行时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。由于时间片非常短,所以每个用户感觉不到其他用户的存在。分时系统具有多路性、交互性、“独占”性和及时性的特征。多路性是指,同时有多个用户使用一台计算机,宏观上看是多个作业同时使用一个CPU,微观上是多个作业在不同时刻轮流使用CPU。交互性是指,用户根据系统响应结果进一步提出新请求(用户直接干预每一步)。“独占”性是指,用户感觉不到计算机为其他人服务,就像整个系统为他所独占。及时性是指,系统对用户提出的请求及时响应。常见的通用操作系统是分时系统与批处理系统的结合。其原则是:分时优先,批处理在后。“前台”响应需频繁交互的作业,如终端的要求;“后台”处理时间性要求不强的作业。3.实时操作系统实时操作系统(RealTimeOperatingSystem,RTOS)是指使计算机能及时响应外部事件的请求,在严格规定的时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。实时操作系统追求的主要目标是:对外部请求在严格时间范围内做出反应,具有高可靠性和完整性。4.嵌入式操作系统嵌入式操作系统(EmbeddedOperatingSystem)是运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件。5.个人计算机操作系统个人计算机操作系统是一种单用户多任务的操作系统。个人计算机操作系统主要供个人使用,功能强、价格便宜,可以在几乎任何计算机上安装使用。它能满足一般人操作、学习、游戏等方面的需求。个人计算机操作系统的主要特点是:计算机在某一时间内为单个用户服务;采用图形界面进行人机交互,界面友好;使用方便,用户无需专门学习,也能熟练操纵计算机。6.网络操作系统网络操作系统是基于计算机网络的,是在各种计算机操作系统上按网络体系结构协议标准开发的系统软件,包括网络管理、通信、安全、资源共享和各种网络应用。其目标是实现网络通信及资源共享。7.分布式操作系统通过高速互连网络将许多台计算机连接起来形成一个统一的计算机系统,可以获得极高的运算能力及广泛的数据共享。这种系统被称作分布式系统(DistributedSystem)。分布式操作系统的特征是:统一性,即它是一个统一的操作系统;共享性,即所有的分布式系统中的资源是共享的;透明性,其含义是用户并不知道分布式系统是运行在多台计算机上,在用户眼里整个分布式系统像是一台计算机,对用户来讲是透明的;自治性,即处于分布式系统的多个主机都可独立工作。网络操作系统与分布式操作系统在概念上的主要区别是:网络操作系统可以构架于不同的操作系统之上,也就是说它可以在不同的主机操作系统上,通过网络协议实现网络资源的统一配置,在大范围内构成网络操作系统。在网络操作系统中并不能对网络资源进行透明的访问,而需要显式地指明资源位置与类型,对本地资源和异地资源的访问区别对待。分布式操作系统比较强调单一性,它是由一种操作系统构架的。在这种操作系统中,网络的概念在应用层被淡化了。所有资源(本地的资源和异地的资源)都用同一方式管理与访问,用户不必关心资源在哪里,或者资源是怎样存储的。1.4操作系统的功能和主要特征1.4.1操作系统的功能从资源管理的角度来说,操作系统的主要任务是对系统中的硬件、软件实施有效的管理,以提高系统资源的利用率。计算机硬件资源主要是指处理机、主存储器和外部设备,软件资源主要是指信息(文件系统)。因此,操作系统的主要功能相应地就有处理机管理、存储管理、设备管理和信息管理。从用户使用的角度来说,操作系统为用户提供了用户接口。下面分别叙述这些功能。1.处理机管理在多道程序或多用户的环境下,要组织多个作业同时运行,就要解决处理机管理的问题。在多道程序系统中,处理机的分配和运行都是以进程为基本单位的,因而对处理机的管理可归结为对进程的管理。进程管理包括以下几方面:①进程控制。为多道程序并发执行而创建进程,并为之分配必要的资源。当进程运行结束时,撤消该进程,回收该进程所占用的资源,同时,控制进程在运行过程中的状态转换。②进程同步。为使系统中的进程有条不紊地运行,系统要设置进程同步机制,为多个进程的运行进行协调。③进程通信。系统中的各进程之间有时需要合作,需要交换信息,为此需要进行进程通信。④进程调度。从进程的就绪队列中,按照一定的算法选择一个进程,把处理机分配给它,并为它设置运行现场,使之投入运行。2.存储管理存储管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,并提高内存的利用率。存储管理包括以下几个方面:①内存分配。为每道程序分配内存空间,并使内存得到充分利用,在作业结束时收回其所占用的内存空间。②内存保护。保证每道程序都在自己的内存空间运行,彼此互不侵犯,尤其是操作系统的数据和程序,绝不允许用户程序干扰。③地址映射。在多道程序设计环境下,每个作业是动态装入内存的,作业的逻辑地址必须转换为内存的物理地址,这一转换称为地址映射。④内存扩充。内存的容量是有限的。为满足用户的需要,通过建立虚拟存储系统来实现内存容量的逻辑上的扩充。3.设备管理在计算机系统的硬件中,除了CPU和内存,其余几乎都属于外部设备,外部设备种类繁多,物理特性相差很大。因此,操作系统的设备管理往往很复杂。设备管理主要包括:①缓冲管理。由于CPU和I/O设备的速度相差很大,为缓和这一矛盾,通常在设备管理中建立I/O缓冲区,而对缓冲区的有效管理便是设备管理的一项任务。②设备分配。根据用户程序提出的I/O请求和系统中设备的使用情况,按照一定的策略,将所需设备分配给申请者,设备使用完毕后及时收回。③设备处理。设备处理程序又称设备驱动程序,对于未设置通道的计算机系统其基本任务通常是实现CPU和设备控制器之间的通信。即由CPU向设备控制器发出I/O指令,要求它完成指定的I/O操作,并能接收由设备控制器来的中断请求,给予及时的响应和相应的处理。对于设置了通道的计算机系统,设备处理程序还应能根据用户的I/O请求,自动构造通道程序。④设备独立性和虚拟设备。设备独立性是指应用程序独立于具体的物理设备,使用户编程与实际使用的物理设备无关。虚拟设备的功能是将低速的独占设备改造为高速的共享设备。4.文件管理处理机管理、存储管理和设备管理都属于硬件资源的管理。软件资源的管理称为信息管理,即文件管理。现代计算机系统中,总是把程序和数据以文件的形式存储在文件存储器中(如磁盘、光盘、磁带等)供用户使用。为此,操作系统必须具有文件管理功能。文件管理的主要任务是对用户文件和系统文件进行管理,并保证文件的安全性。文件管理包括以下内容:①文件存储空间的管理。所有的系统文件和用户文件都存放在文件存储器上。文件存储空间管理的任务是为新建文件分配存储空间,在一个文件被删除后应及时释放所占用的空间。文件存储空间管理的目标是提高文件存储空间的利用率,并提高文件系统的工作速度。②目录管理。为方便用户在文件存储器中找到所需文件,通常由系统为每一文件建立一个目录项,包括文件名、属性以及存放位置等,由若干目录项又可构成一个目录文件。目录管理的任务是为每一文件建立其目录项,并对目录项加以有效的组织,以方便用户按名存取。③文件读、写管理。文件读、写管理是文件管理的最基本的功能。文件系统根据用户给出的文件名去查找文件目录,从中得到文件在文件存储器上的位置,然后利用文件读、写函数,对文件进行读、写操作。④文件存取控制。为了防止系统中的文件被非法窃取或破坏,在文件系统中应建立有效的保护机制,以保证文件系统的安全性。5.用户接口为方便用户使用操作系统,操作系统必须为用户或程序员提供相应的接口,通过使用这些接口达到方便地使用计算机的目的。操作系统为用户提供了以下接口:①命令接口。命令接口分为联机命令接口和脱机命令接口。联机命令接口是为联机用户提供的,它由一组键盘命令及其解释程序所组成。当用户在终端或控制台上打入一条命令后,系统便自动转入命令解释程序,对该命令进行解释并执行。在完成指定操作后,控制又返回到终端或控制台,等待接收用户打入的下一条命令。这样,用户可通过不断键入不同的命令,达到控制自己作业的目的。②脱机命令接口。脱机命令接口是为批处理系统的用户提供的。在批处理系统中,用户不直接与自己的作业进行交互,而是使用作业控制语言(JCL),将用户对其作业控制的意图写成作业说明书,然后将作业说明书连同作业一起提交给系统。当系统调度到该作业时,通过解释程序对作业说明书进行逐条解释并执行。这样,作业一直在作业说明书的控制下运行,直到遇到作业结束语句时,系统停止该作业的执行。③程序接口。程序接口是用户获取操作系统服务的惟一途径。程序接口由一组系统调用组成。每一个系统调用都是一个完成特定功能的子程序。早期的操作系统(如UNIX、MS-DOS 等),系统调用都是用汇编语言写成的,因而只有在用汇编语言写的应用程序中可以直接调用。近年来推出的操作系统中,如UNIXSystemV、OS/22.x版本中,系统调用是用C语言编写的,并以函数的形式提供,从而可在用C语言编写的程序中直接调用。而在其它高级语言中,往往提供与系统调用一一对应的库函数,应用程序通过调用库函数来使用系统调用。④图形接口。以终端命令和命令语言方式来控制程序的运行固然有效,但给用户增加了不少负担,即用户必须记住各种命令,并从键盘输入这些命令以及所需数据来控制程序的运行。大屏幕高分辨率图形显示和多种交互式输入/输出设备(如鼠标、光笔、触摸屏等)的出现,使得改变“记忆并键入”的操作方式为图形接口方式成为可能。图形用户接口的目标是通过出现在屏幕上的对象直接进行操作,以控制和操纵程序的运行。这种图形用户接口大大减轻或免除了用户记忆的工作量,其操作方式也使原来的“记忆并键入”改变为“选择并点取”,极大地方便了用户,并受到用户的普遍欢迎。图形用户接口的主要构件是:窗口、菜单和对话框。国际上为了促进图形用户接口(GUI)的发展,1988年制定了GUI标准。到了20世纪90年代各种操作系统的图形用户接口普遍出现,如Microsoft公司的Windows95、Windows98、WindowsNT等。1.4.2操作系统的主要特征安装操作系统的目的在于提高计算机系统的效率,增强系统的处理能力,提高系统资源的利用率,方便用户的使用。为此,现代操作系统广泛采用并行操作技术,使多种硬件设备能并行工作。例如I/O操作和CPU计算同时进行,在内存中同时存放并执行多道程序等。以多道程序设计为基础的现代操作系统具有以下主要特征:1.并发性并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。倘若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可同时执行。两个或多个事件在同一时刻发生称为并行。在操作系统中存在着许多并发或并行的活动。例如,系统中同时有三个程序在运行,它们可能以交叉方式在CPU上执行,也可能一个在执行计算,一个在进行数据输入,另一个在进行计算结果的打印。由并发而产生的一些问题是:如何从一个活动转到另一个活动,如何保护一个活动不受另一个活动的影响,以及如何实现相互制约活动之间的同步。为使并发活动有条不紊的进行,操作系统就要对其进行有效的管理与控制。2.共享性共享是指系统中的资源可供内存中多个并发执行的程序共同使用。由于资源属性的不同,对资源共享的方式也不同,目前主要有以下两种资源共享方式:(1)互斥共享方式。系统中的某些资源,如打印机、磁带机,虽然它们可以提供给多个用户程序使用,但为使所打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个用户程序访问该资源。这种资源共享方式称为互斥式共享。(2)同时访问方式。系统中还有另一类资源,允许在一段时间内由多个用户程序“同时”对它们进行访问。这里所谓的“同时”往往是宏观上的,而在微观上,这些用户程序可能是交替地对该资源进行访问。例如对磁盘设备的访问。并发和共享是操作系统的两个最基本的特征,它们又互为对方存在的条件。一方面,资源共享是以程序的并发执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题;另一方面,若系统不能对资源共享实施有效管理,协调好多个程序对共享资源的访问,也必然影响到程序并发执行的程度,甚至根本无法并发执行。3.虚拟性虚拟是指将一个物理实体映射为若干个逻辑实体。前者是客观存在的,后者是虚构的,是一种感觉性的存在,即主观上的一种想象。例如,在多道程序系统中,虽然只有一个CPU,每次只能执行一道程序,但采用多道程序技术后,在一段时间间隔内,宏观上有多个程序在运行。在用户看来,就好像有多个CPU在各自运行自己的程序。这种情况就是将一个物理的CPU虚拟为多个逻辑上的CPU,逻辑上的CPU称为虚拟处理机。类似的还有虚拟存储器、虚拟设备等。4.不确定性在多道程序环境下,允许多个程序并发执行,但只有程序在获得所需的资源后方能执行。在单处理机环境下,由于系统中只有一个处理机,因而每次只允许一个程序执行,其余程序只能等待。当正在执行的程序提出某种资源要求时,如打印请求,而此时打印机正在为其它某程序打印,由于打印机属于互斥型共享资源,因此正在执行的程序必须等待,且放弃处理机,直到打印机空闲,并再次把处理机分配给该程序时,该程序方能继续执行。可见,由于资源等因素的限制,使程序的执行通常都不是“一气呵成”,而是以“停停走走”的方式运行。内存中的每个程序在何时能获得处理机运行,何时又因提出某种资源请求而暂停,以及程序以怎样的速度向前推进,每道程序总共需多少时间才能完成,等等,都是不可预知的。因此,在操作系统中,存在着不确定性。1.5常用操作系统介绍目前最常用的操作系统是Windows、UNIX和Linux。其中,UNIX目前常用的变种有SUN公司的Solaris、IBM公司的AIX、惠普公司的HPUX等。其它比较常用的操作系统还有MacOS、NetWare、zOS(OS/390)、OS/400、OS/2等。在20世纪80年代和90年代初,DOS曾经是最常用的操作系统之一。1.5.1MS-DOS及Windows系列 Windows系列与MS-DOS都是微软公司的产品,1975年微软公司成立之初,只有一个BASIC程序及比尔·盖茨和保罗·艾伦两个人。时至今日,微软公司已成为世界上最大的软件公司,其产品涵盖操作系统、编译程序、数据库管理系统、办公室自动化软件等各个领域。Windows系列操作系统是由微软公司从1985年起开发的一系列视窗操作系统产品,包括个人(家用)、商用和嵌入式3条产品线(图1.4)。个人操作系统包括WindowsMe、Windows95/98,及更早期的版本Windows1.x、2.x、3.x等,主要在IBM个人机系列上运行。商用操作系统是Windows2000和其前身版本WindowsNT,主要在服务器、工作站等上运行,也可以在IBM个人系列机上运行。嵌入式操作系统有WindowsCE和手机用操作系统stinger等。WindowsXP将使家用和商用两条产品线合二为一。截止至20世纪末,全世界运行各种Windows版本的计算机有两亿台左右。微软公司从1983年开始研制Windows操作系统。当时,IBMPC进入市场已有两年,微软公司开发的磁盘操作系统DOS和编程语言BASIC随IBMPC捆绑销售,取得了很大的成功。Windows操作系统最初的研制目标是在DOS的基础上提供一个多任务的图形用户界面。不过,第一个取得成功的图形用户界面系统并不是Windows,而是Windows的模仿对象——苹果公司于1984年推出的MacOS(运行于苹果公司的Macintosh个人计算机上),Macintosh机及其上的操作系统当时已风靡美国多年,是IBMPC和DOS操作系统在当时市场上的主要竞争对手。当年苹果公司曾对PC机和Windows操作系统不屑一顾,并大力抨击微软公司抄袭MacOS的外观和灵感。但苹果机和MacOS是封闭式体系(硬件接口不公开、系统源代码不公开等),而IBMPC和MS-DOS 是开放式体系(硬件接口公开、允许并支持第三方厂家做兼容机、公开操作系统源代码等)。这个关键的区别使得IBMPC后来者居上,销量超过了苹果机,并使得在IBMPC上运行的Windows操作系统的普及率超过了MacOS,成为个人计算机市场占主导地位的操作系统。1.MS-DOS DOS是微软公司与IBM公司开发的、广泛运行于IBMPC及其兼容机上的操作系统,全称是MS-DOS 。上世纪80年代初,IBM公司开始涉足PC领域时,曾多方考察选择合适的操作系统。1980年11月,IBM和微软公司正式签约,之后的IBMPC均使用DOS作为标准的操作系统。由于IBMPC大获成功,微软公司也随之得到了飞速发展,MS-DOS 从此成为个人计算机操作系统的代名词,发展成为个人计算机的标准平台。IBMPC机上所配的操作系统称PCDOS或IBMDOS,是IBM向微软公司买下MS-DOS 的版权,另外作了修改和扩充而产生的。MS-DOS 最早的版本是1981年8月推出的1.0版,至1993年6月推出了6.0版,微软公司推出的最后一个MS-DOS 版本是DOS6.22,以后不再推出新的版本。MS-DOS 是一个单用户操作系统,自4.0版开始具有多任务处理功能。20世纪80年代DOS最盛行时,全世界大约有1亿台个人计算机使用DOS系统,用户在DOS下开发了大量应用程序。由于这个原因,20世纪90年代新的操作系统都提供对DOS的兼容性。个人操作系统商用操作系统1985年Windows1.01987年Windows2.01990年Windows3.0Windows3.xWindowsNT3.1(NT第1版)1993年WindowsNT3.5(NT第2版)1994年1995年Windows95WindowsNT3.51(NT第3版)1995年WindowsNT4.0(NT第4版)1996年1998年Windows98WindowsCE1998年2000年10月WindowsMeWindows2000(NT5.0)2000年2月2001年下半年WindowsXP图1.4微软公司Windows操作系统产品线2.Windows3.x、Windows95/98及WindowsMe从20世纪90年代起,在个人操作系统领域,微软公司的Windows个人操作系统系列占有绝对的垄断地位。微软公司Windows操作系统的个人产品线是由20世纪80年代的DOS平台演变而来。其中,影响较大和较突出的版本是Windows3.0和Windows95。Windows3.0的大量全新特性以压倒性的优势确定了Windows操作系统在PC领域的垄断地位,而Windows95则一上市就风靡世界。Windows3.1及以前的版本均为16位系统,不能充分利用硬件的强大功能,还须与DOS共同管理系统硬件资源,依赖DOS管理文件系统,只能在DOS之上运行,所以,不能算完整的操作系统。而Windows95(及稍前的WindowsNT)则已摆脱DOS的限制(不用从DOS下启动Windows),在提供强大功能(如网络和多媒体功能等)和简化用户操作(如桌面和资源管理器等新特性)这两个方面都取得了突出的成绩。Windows95和Windows98在上市的第一个月和前半年分别在零售商店销售出了60万套和200万套。2000年9月,微软公司推出Windows98的后续版本WindowsMe(视窗千禧版,MicrosoftWindowsMillenniumEdition),较之Windows98没有本质上的改进,只是扩展了一些功能,是微软公司推出的最后一种基于DOS系统的操作系统,零售价每套40美元左右,上市4天售出25万套。WindowsMe的后续版本是把微软公司的个人操作系统与商用操作系统合二为一(即把WindowsMe和Windows2000合二为一)的WindowsXP。这种产品线的合并,意味着微软公司从此不再有基于DOS平台的操作系统,以后的Windows操作系统都基于NT平台。3.WindowsNT及Windows2000微软公司在20世纪80年代中后期的主流产品Windows和DOS都是个人计算机上的单用户操作系统。1985年开始,IBM公司与微软公司合作开发商用多用户操作系统OS/2,但这次合作并不十分融洽,1987年OS/2推出后,微软公司开始计划建立自己的商用多用户操作系统。1988年10月,微软公司聘任DaveCulter作为NT的主设计师,开始组建开发新操作系统的队伍。1993年5月24日,经过几百个人四年多的工作,微软公司正式推出WindowsNT。在相继推出WindowsNTl.0、2.0、3.0、4.0后,2000年2月推出Windows2000(原来称为WindowsNT5.0)。而Windows2000的下一个版本是WindowsXP。WindowsNT及后来的Windows2000是商用多用户操作系统,其开发目标是作为工作站和服务器上的32位操作系统,以充分利用32位处理器等硬件的新特性,并使其易于适应将来的硬件变化,能容易地随着新的市场需求而扩充,同时与已有应用程序保持兼容。WindowsNT最初采用OS/2的界面,后来因Windows操作系统的成功推出又改为用Windows系列的界面。WindowsNT最初计划基于Inteli860CPU,1990年时转为基于Intel80386/486和RISCCPU。WindowsNT较好地实现了设计目标(充分利用硬件新特性、可扩充性、可移植性、兼容性等),采用和实现了大量的新技术,其结构具有微内核、客户/服务器、面向对象等先进特性。WindowsNT支持对称多处理、多线程程序、多个可装卸文件系统(FAT、HPFS、CDFS、NTFS等),还支持多种常用API和标准API(WIN32、OS/2、DOS、POSIX等),提供源码级兼容和二进制兼容,内置网络和分布式计算。WindowsNT安全性达到美国政府C2级安全标准。WindowsNT是1999年销量第一的服务器操作系统。2000年2月18日,微软公司正式推出了Windows2000,其性能与可靠性都比WindowsNT有了很大改善。Windows2000的下一个版本与WindowsMe的下一个版本合二为一,称为WindowsXP。WindowsXP的设计理念是,把以往Windows系列软件家庭版的易用性和商用版的稳定性集于一身。1.5.2UNIX家族:Solaris,AIX,HPUX,SVR4,BSD1.UNIX概述UNIX是一种多用户操作系统,是目前的三大主流操作系统之一(另外两个是Linux和Windows)。它1969年诞生于贝尔(电话)实验室,由于其简洁、易于移植等特点而很快得到注意、发展和普及,成为跨越从微型机到巨型机范围的惟一操作系统。除了贝尔实验室的“正宗”UNIX版本外,UNIX还有大量的变种。例如,目前的主要变种有SUNSolaris、IBMAIX和HPUX等,不同变种间的功能、接口、内部结构基本相同而又各有不同。除变种外,UNIX还有一些克隆系统,如Math和Linux。克隆与变种的区别在于:变种是在正宗版本的基础上修改而来(包括界面与内部实现),而克隆则只是界面相同,内部则完全重新实现。有时也将克隆和变种统称为变种。2.UNIX的发展历史UNIX的发展历程如图1.5所示。⑴UNIX的产生过程“UNIX”这个名字是取“Multics”的反义,其诞生背景与特点一如其名。Multics项目(MULTiplexedInformationandComputingService)由贝尔(电话)实验室(Bell(Telephone)Laboratories,简称BTL)、通用电气公司(GeneralElectric)和麻省理工学院联合开发,旨在建立一个能够同时支持数千个用户的分时系统,该项目因目标过于庞大而失败,于1969年撤销。退出Multics项目后,1969年中期,贝尔实验室的雇员Thompson开始在公司的一台闲置的只有4KB内存的PDP-7计算机上开发一个“太空漫游”游戏程序。由于PDP-7缺少程序开发环境,为了方便这个游戏程序的开发,Thompson和公司的另一名雇员Ritchie一起用GE-645汇编语言(以前曾用于Multics开发)开发PDP-7上的操作环境。最初是一个简单的文件系统,很快又添加了一个进程子系统、一个命令解释器和一些实用工具程序。他们将这个系统命名为UNIX。此后,随着贝尔实验室的工作环境的需要,他们将UNIX移植到PDP-11上,并逐渐增加了新的功能。很快,UNIX开始在贝尔实验室内部流行,许多人都投入到它的开发中来。1971年,《UNIX程序员手册》第1版出版,这之后直到1989年,贝尔实验室又相继发行了10个版本的UNIX和相应的手册。1973年Ritchie用C语言重写了UNIX(UNIX第4版),这使得UNIX的可移植性大大增强,这是UNIX迈向成功之路的关键一步。1973年10月,Thompson和Ritchie在ACM(AssociationforComputingMachinery,计算机协会)的SOSP(SymposiumOperatingSystemsPrinciples,操作系统原理讨论会)会议上发表了首篇UNIX论文,这是UNIX首次在贝尔实验室以外亮相。⑵免费扩散阶段在SOSP上发表论文后,UNIX立即引起了众人的注意和兴趣,UNIX软件和源码迅速以许可证形式免费传播到世界各地。一些大学、研究机构在免费使用的同时,对UNIX进行了深入的研究、移植和改进。AT&T又将这些改进与移植加入其以后的UNIX版本中。另外,众多大学对UNIX的免费使用,使学生们得以熟悉UNIX,这些学生们毕业后又把UNIX传播到各种商业机构和政府机构,这对UNIX早期的传播和普及起到了重要作用。UNIX的第一次移植是由Wollongong大学于1976年将其移植到Interdata机上。其它几次较早的移植包括:1978年,微软公司与SCO公司合作将UNIX移植到Intel8086上,即XENIX系统(最早的UNIX商业变种之一);1978年,DEC公司将UNIX移植到VAX上,即UNIX/32V(3BSD的前身)。第一版(1971年)第一版(1971年)第三版(1973年)第三版(1973年)第六版(1975年)第六版(1975年)SYSTEMⅢ(1982年)SYSTEMⅢ(1982年)第七版1BSD(1978年)SYSTEMⅤ(1982年)SYSTEMⅤ(1982年)第八版2BSD(1978年)SVR(1984年)第九版3BSD(1979年)SVR(1984年)第九版3BSD(1979年)SVR(1987年)MACH2.54.xBSD(DARPA)第十版(1989年)SVR(1987年)MACH2.54.xBSD(DARPA)第十版(1989年)OSF/1(1989年)4.4BSD(1993年)SVR(1989年)OSF/1(1989年)4.4BSD(1993年)SVR(1989年)DECOSF/1DECOSF/1SVR(1989年)SVR(1989年)SVR(1989年)SVR(1989年)SVR(1989年)SVR(1989年)DigitalUNIXDigitalUNIXTru64UNIXTru64UNIX图1.5UNIX发展图⑶商用版本的出现和三大主线的形成UNIX的不断发展导致许多计算机公司开始发行自己机器上的UNIX增值商业版本。UNIX的第一个商业变种是1977年InteractiveSystems公司的IS/1(PDP-11)。20世纪80年代著名的商业变种有SUN公司的SunOS、微软公司与SCO公司的XENIX等。20世纪70年代中期到80年代中期,UNIX的迅速发展,众多大学和公司的参与,使得UNIX的变种迅速增多。这些变种主要围绕3条主线:由贝尔实验室发布的UNIX研究版(FirstEditionUNIX到TenthEditionUNIX,或称V1到V10,以后不再发行新版;由加利福尼亚州大学伯克利分校发布的BSD(BerkeleySoftwareDistribution)和由贝尔实验室发布的UNIXSystemⅢ和SystemV。1984年的AT&T大分家使得AT&T可以进入计算机市场,因此,除了贝尔实验室研究小组继续研究和发行UNIX研究版之外,AT&T成立了专门的UNIX对外发行机构。最初是UNIX支持小组,后来是UNIX系统开发小组,接下来是AT&T信息系统。这些机构先后发行了SystemⅢ(1982年)、SystemV(1983年)、SystemVRelease2(SVR2,1984年)、SVR3(1987年),许多商业UNIX变种都是基于这条主线实现的。加利福尼亚州大学伯克利分校是最早领取许可证的UNIX用户之一(1973年12月),最初的BSD版本发行(1978年初的1BSD和1978年末的2BSD)仅包括应用程序和实用工具(如Vi、Pascal、CShell等),没有对操作系统核心本身进行修改和再发行。1979年末的3BSD则基于UNIX/32V设计实现了页式虚存管理,是由加利福尼亚州大学伯克利分校发行的第一个操作系统。在3BSD中所做的虚存工作使该校得到美国国防部资助,推出了4BSD(1980年的4.0BSD到1993年的4.4BSD),其中集成了TCP/IP,引入了快速文件系统(FastFileSystem,简称FFS)、套接字等大量先进技术。BSD对UNIX的发展具有重要影响,有许多新技术是BSD率先引入的。SunOS就是基于4BSD的。伯克利分校对UNIX的开发工作一直由计算机科学研究小组(ComputerScienceResearchGroup,简称CSRG)承担,1993年发行4.4BSD时,CSRG宣布因缺少资金等原因而停止UNIX开发,因此4.4BSD是伯克利分校发行的最后一个版本。到20世纪80年代,UNIX已在从微型机到巨型机等众多不同机型上运行。作为通用操作系统,当时UNIX的主要竞争对手是各计算机厂商的专有系统,如IBM的OS360/370系列等。⑷两大阵营对峙和标准化的出现20世纪80年代后期,UNIX已经出现了很多变种,变种增多导致了程序的不兼容性和不可移植(同一应用程序在不同UNIX变种上不能直接运行)。因此,迫切需要对UNIX进行标准化。这就导致了两大阵营的出现。1987年,在统一市场的浪潮中,AT&T宣布与SUN公司合作,将SystemV和SunOS统一为一个系统。其余厂商十分关注这项开发,认为他们的市场处于威胁之下,于是联合开发新的开放系统。他们的新机构OpenSoftwareFoundation(开放软件基金会,简称OSF)于1988年成立。作为回应,AT&T和SUN公司联盟亦于1988年形成了UNIXInternational(UNIX国际,简称UI)。这场“UNIX战争”将系统厂商划分成UI和OSF两大阵营。UI推出了SVR4,而OSF则推出了OSF/1。虽然两者都是UNIX,但他们在系统构架、命令操作以及管理方式上都有所不同。两者在市场上展开了激烈的竞争。两种UNIX系统并存,却又不能相互兼容,这对用户非常不利,因而直接影响了UNIX对用户的吸引力。随着Microsoft公司的迅速崛起,并以惊人的速度由传统的PC机市场向工作站和网络市场扩张,迫使UI和OSF两大阵营不得不相互让步、握手言和,从而共同制定了应用程序接口A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论