• 沒有找到結果。

操作系统原理及应用(Windows Server 2003) - 万水书苑-出版资源网

N/A
N/A
Protected

Academic year: 2021

Share "操作系统原理及应用(Windows Server 2003) - 万水书苑-出版资源网"

Copied!
38
0
0

加載中.... (立即查看全文)

全文

(1)

第 1 章 操作系统引论

计算机系统由硬件和软件两部分组成,操作系统(Operation System,OS)是配置在计算 机硬件上的第一层软件,是对硬件的第一次扩充。它在计算机系统中占据重要的地位,为其 他所有软件奠定了重要基础。操作系统已成为所有的计算机必须配置的软件。

1.1 操作系统概述

1.1.1 计算机系统 计算机系统就是按人的要求接收和存储信息,自动进行数据的处理和计算,并输出结果 信息的机器系统,它是一个相当复杂的系统,即使相当普及的个人计算机也是如此。一个计 算机系统由硬件(子)系统和软件(子)系统组成。其中,硬件系统是借助电、磁、光和机 械等原理构成的各种物理设备的有机结合,是系统赖以工作的实体;软件系统是各种程序和 文件,用于指挥整个系统按照指定的要求工作的。 图 1-1 是一般计算机系统的层次结构。硬件是进行信息处理的实际物理装置。最外层 是使用计算机的人,即用户。人与硬件系统的接口是软件系统,它大致分为系统软件、实 用软件和应用软件 3 层。系统软件包括操作系统和各种语言处理程序等。一台没有任何软 件支持的计算机称之为裸机,用户直接使用裸机来编制和运行程序是相当困难的,几乎是 不可能的。必须有计算机厂商提供的系统软件的支持,计算机系统才能为用户程序提供一 个良好的编制与运行环境。因此,实际呈现在用户面前的计算机系统已是经过若干层软件 改造的计算机。这个层次结构表现为一种单向服务关系,即外层可以使用内层提供的服务, 反之则不行。 图 1-1 计算机系统的层次结构 应用软件 实用软件 系统软件 包括:操作系统 编译程序 …… 硬件 用户

(2)

1.1.1.1 计算机硬件 硬件是计算机系统中各种物理设备的总称,是计算机系统快速、可靠地自动完成工作任 务的物质基础。其主要逻辑功能是完成信息变换、信息存储、信息传送和信息处理等。硬件 系统主要由运算器、控制器、主存储器、输入设备/输出设备(I/O 设备)、辅助存储器和总线 等功能部件组成。 (1)运算器。其主要功能是进行算术运算和逻辑运算。操作时,运算器从主存储器取得 数据,执行指令指定的运算,将所得的运算结果留在运算器以备下次运算时使用,或存入主 存储器。整个运算过程是在控制器的控制下自动进行的。 (2)主存储器。主要功能是储存二进制信息。主存储器与运算器、控制器等快速部件直 接交换信息。从主存储器应能快速读出信息,并送到其他功能部件中,或将其他功能部件处 理过的信息快速写入主存储器。 (3)控制器。主要功能是按照机器代码程序的要求,控制计算机各功能部件协调一致地 动作,即从主存储器取出程序中的指令,对该指令进行分析和解释,然后向其他功能部件发 出执行该指令所需要的各种时序控制信号。如此连续运行下去,直到程序执行完毕。控制器 与运算器一起构成中央处理器(CPU),中央处理器与主存储器一起构成主机。 (4)输入设备。主要功能是将用户信息(数据、程序等)变换为计算机能够识别和处理 的二进制信息形式。信息载体通过相应的输入设备,将信息(如文字、图像、影像、语音等) 变换为电信号被计算机接收、存储和处理。输入设备的种类很多,如键盘、鼠标、扫描仪等。 (5)输出设备。主要功能正好与输入设备相反,是将计算机能够识别和处理的二进制信 息变换为用户需要的信息形式。输出信息的形式有多种,如文字、图像、表格等。输出设备 的形式也有多种,如打印机、绘图仪、显示器等。 (6)辅助存储器。主要功能是存储主存储器难以容纳但又为程序所需的大量信息。它的 特点是存储容量很大,存储成本很低,但存取速度较慢。它不能与中央处理器直接交换信息, 而是必须借助主存储器。辅助存储器一般为磁带、磁盘、光盘等。 (7)总线。是将数据从一个部件传送到另一个部件的一束连接线。在一台计算机系统中 可能有多条传输速度和功能都不同的总线。总线包括总线自身和总线控制器,在一条总线上 的某个时刻传输什么数据,以及把数据传送到哪里去,都是由总线控制器控制的。微型计算 机系统普遍采用总线结构。CPU 通过系统总线(含地址、数据和控制信息)与主存储器、I/O 接口相连,各种外围设备通过 I/O 接口挂接到系统总线上。例如,IBMPC 和 PC/XT 微型计算 机使用的标准 PC 总线(62 引脚)支持 8 位数据传输和 20 位地址总线,IBMPC/AT 微型计算 机使用的扩展 PC 总线(62+36 引脚)支持 16 位数据传输和 24 位地址总线。

(8)I/O 通道。主要是控制 I/O 设备的工作过程。具体功能是:向 I/O 设备发出动作命令; 控制数据的输入/输出;检查 I/O 设备的状态等。I/O 通道实际上是一台专用的 I/O 处理机,它接 收 CPU 的委托,独立地执行自己的通道程序,以不同的工作方式分别控制低速、中速和高速 I/O 设备的工作。I/O 通道使 CPU 摆脱了对各种 I/O 设备的繁杂控制,而且还可使各种外围设备之 间并行工作。目前大、中、小型计算机经常采用 I/O 通道,即这些计算机系统是以 CPU 和 I/O 系统之间以及各 I/O 设备之间尽可能地并行工作来组织硬件系统,以换取更高的性能/价格比。 当代计算机硬件正向微型化、智能化方向发展。硬件系统的组织结构也在不断地改进, 如多机系统、分布式系统、计算机网络以及嵌入式系统等。

(3)

1.1.1.2 计算机软件 计算机软件是指程序和与程序相关的文档的集合,是计算机系统的重要组成部分。按功 能划分,计算机软件可分为系统软件、实用软件和应用软件 3 种。 (1)系统软件。指由计算机生产厂家提供、具有通用功能的那些软件,比如:操作系统、 语言编译程序、文本编辑程序、调试程序、连接程序和系统维护程序等。系统软件的功能是 为上层软件提供服务,并为管理员提供对系统进行日常维护的手段。例如:Microsoft 32 位 Windows 操作系统的基础是 32 位内核软件,由内核进行系统调度和内存管理。另外由于 32 位操作系统支持 32 位设备驱动器,因此操作系统和设备间的通信就更为迅速。32 位 Windows 操作系统的其他许多特性来源于它对 Win32 API 的支持。这个 API 集合只能由 32 位内核系统, 如 Windows NT 和 Windows 95/98 方能完全实现。 (2)实用软件。指支撑其他软件的编制和维护的软件。由一组实用程序组成,如数据库 管理系统、各种接口软件和工具组。当然,操作系统和编译程序等系统软件也可以算做实用 软件。随着计算机科学技术的发展,软件的编制和维护代价在整个计算机系统中所占的比重 越来越大,远远超过硬件。因此,实用软件的研究具有重要的意义。 (3)应用软件。指为解决实际问题而研制的那些软件,它涉及计算机应用的各个领域, 比如:各种管理软件、用于工程计算的软件包、辅助设计软件以及过程控制软件等。 1.1.2 操作系统的作用 在计算机系统的层次结构中,操作系统是计算机硬件上加载的第一层软件,是对计算 机硬件功能的首次扩充,正是操作系统把一个裸机变成了一个可“操作”的、方便灵活的 计算机系统。操作系统统一管理和支持各种软件的运行,其他软件必须建立在操作系统之 上。因此,操作系统在整个计算机系统中具有极其重要的作用。操作系统的作用可以从以 下两方面来说。一方面,操作系统是系统资源的管理者。系统资源包括硬件资源和软件资 源,归纳起来可分为 4 类:处理器、存储器、I/O 设备以及信息(数据和程序)。相应地, 操作系统的主要作用就是对这 4 类资源进行有效的管理。如:在多用户多任务系统中同时 存在着多个程序,它们在运行过程中会使用系统中的各种资源。操作系统就是系统资源的 管理者和仲裁者,它负责在各个程序间调度和分配资源,保证系统中各种资源得到有效利 用。再如:操作系统要管理文件系统,如文件在磁盘上的位置,所占磁盘空间的大小等。 其实这就是操作系统在管理信息,因为文件系统是由计算机中的程序和数据构成的。所以, 操作系统是其他所有软件的管理者。为上层的实用程序和用户应用程序提供一个屏蔽硬件 工作细节的良好使用环境。 在这里,操作系统管理的含义是多层次的,它对每一种资源的管理必须完成以下几项工作。 (1)监视资源。该种资源共有多少,资源的状态如何,已经分配出去的资源有多少,都 分配给了谁,可供分配的还有多少,使用资源的历史纪录等。 (2)确定某种资源的分配策略。即决定将资源分配给谁,何时分配,分配多少,如何回 收资源等。 (3)分配资源。按已决定的分配策略分配资源,并进行相应的管理事务处理。 (4)回收资源。在使用者放弃这种资源后,对资源进行处理。如果是可重复使用的资源, 则回收、整理,进而进行再利用。

(4)

另一方面,操作系统是用户与计算机系统之间的接口。因为操作系统处于用户和计算机硬 件系统之间,所以用户通过操作系统来使用计算机。从用户的角度看,计算机系统配置了操作 系统后,由于操作系统隐蔽了硬件的复杂细节,用户会感到机器使用起来简单、方便、快捷且 安全可靠了。或者说,正是操作系统为用户提供了一台功能经过扩展了的机器——“虚拟机”, 使用户感觉使用机器更简单,更容易。一个好的操作系统一定给用户使用计算机提供一个良好 的界面,使用户不必了解硬件和系统软件的细节就可方便地使用计算机。这里的“用户”是一 个广义的概念,不仅包括系统的一般用户、系统管理员,还应包括系统实用软件的设计者。应 当注意,操作系统是个系统软件,因而这个接口是个软件接口。用户可以通过命令方式、图形 方式和系统调用方式使用计算机。命令方式是指用户向作业发出命令以控制作业的运行。图形 方式是指计算机系统通过简单的图标将系统的各项功能、各种程序和文件直观的表示出来,用 户可通过鼠标、菜单和对话框来完成对应用程序和文件的操作。系统调用方式是为用户程序在 执行中访问系统资源而设置的,是用户程序取得操作系统服务的惟一途径。 至此,可以把操作系统定义为:“操作系统是控制和管理计算机硬件和软件资源、合理地 组织计算机工作流程以方便用户有效地使用计算机的程序集合。” 1.1.3 操作系统的功能 前面已经从计算机系统层次结构的观点,讨论了操作系统这个最基本的系统软件与系统 硬件以及上层的系统实用软件、应用软件与用户的关系,说明了引入操作系统的主要目的是 最大限度地发挥计算机系统资源的使用效率和方便用户的使用。为了实现上述目的,操作系 统通常具备以下几个方面的重要功能。 1.1.3.1 处理机管理 处理机管理的主要任务是对处理机进行分配,并对其进行有效的控制和管理。CPU 是计 算机系统中最宝贵的硬件资源。为了提高它的利用率,采用了多道程序技术。如果一个程序 因等待某一条件而不能运行下去时,就把处理机占用权转交给另一个可运行的程序。或者当 出现了一个比当前运行的程序更重要的可运行的程序时,后者应能抢占 CPU。在多道程序环 境下,处理机的分配和运行是以进程为单位的,因而,对处理机的管理可归结为对进程的管 理。通过进程管理协调多道程序之间的关系,以使 CPU 资源得到最充分的利用。对进程的管 理主要包括:进程控制、进程同步、进程通信和进程调度等方面,在以后章节中会详细介绍。 1.1.3.2 存储管理 存储器管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提 高存储器的利用率,以及能从逻辑上扩充内存。内存(又称主存)是计算机系统中另一个宝 贵的硬件资源。虽然内存芯片的集成度不断地提高、价格不断地下降,但因需求量大,所以 内存整体的价格仍较昂贵,而且受 CPU 寻址能力的限制,内存的容量也有限。因此,当多个 程序共享有限的内存资源时,如何为它们分配内存空间,使它们既彼此隔离、互不侵扰,又 能保证在一定条件下共享内存,尤其是当内存不够用时,如何把当前未运行的程序及数据及 时调出内存,要运行时再从外存调入内存等,都是存储管理的范畴。因此,存储管理应具有 以下功能:内存分配、地址映射、内存保护和内存扩充。 1.1.3.3 设备管理 设备管理是指计算机系统中除了 CPU 和内存以外的所有输入、输出设备的管理。除了进

(5)

行实际 I/O 操作的设备外,还包括诸如设备控制器、DMA 控制器、通道等支持设备。外围设 备的种类繁多,功能差异很大。这样,设备管理的首要任务是为这些设备提供驱动程序或控 制程序,以使用户不必详细了解设备及接口的技术细节,就能够方便地对这些设备进行操作。 设备管理的另一任务就是利用中断技术,DMA 技术和通道技术,使外围设备尽可能地与 CPU 并行工作,以提高设备的使用效率并提高整个计算机系统的运行速度。为实现上述任务,设 备管理应该具有缓冲管理、设备分配、设备驱动、设备独立性和虚拟设备等功能。 1.1.3.4 文件管理 程序和数据以文件的形式存放在外存储器(如磁盘、光盘、磁带)中,需要时再把它们 装入内存。文件包括的范围很广,例如用户作业、源程序、目标程序、初始数据、结果数据 等,而且各种系统软件甚至操作系统程序本身也是以文件的形式存储的。因此,文件是计算 机系统中除 CPU、内存,外围设备以外的另一类资源即软件资源。为此,在操作系统中必须 配置文件管理机构,有效的组织、存储、保护文件,以使用户方便、安全地访问它们。总的 来说,文件管理应具有文件存储空间管理、目录管理、文件的读写和存取控制等功能。 1.1.3.5 作业管理 作业管理的任务是为用户提供一个环境良好的使用系统,使用户有效地组织自己的工作 流程,并使整个系统高效运行。所谓作业,就是用户在一次算题过程中,或一次事务处理中, 要求计算机系统所做工作的集合。例如,用 C 语言编制一个算题程序,要经过下列步骤:把 源程序读入系统,对源程序进行编译、链接,运行目标程序,打印输出结果。上述每一步骤 称为作业步,它们的总和完成了一个作业。用户应该如何向系统提交作业,操作系统应该如 何组织和调度它们的运行来提高整个系统的运行效率?这就是作业管理的任务。 操作系统的上述几种功能彼此之间并非是完全独立的,它们之间存在着相互依赖的关系。 可以用一个基本层次式的操作系统模型来描述它们之间的关系,如图 1-2 所示。其中较高层的 管理功能要依赖于较低层的管理功能。另外,操作系统常借助于一些表、队列等数据结构来 实施管理功能。 图 1-2 操作系统核心层次结构模型 1.1.3.6 其他功能 随着社会的发展和技术的进步,对操作系统的要求也越来越高。除了上述 5 项管理功能 文件管理 存储器管理 处理机管理 作业管理 设备管理 裸机 操作系统外围 操作系统核 心

(6)

之外,操作系统还应该向用户提供其他一些必不可少的功能,如系统安全和网络通信等。 安全功能的主要任务是操作系统为用户提供一套信息保护的手段,保证系统中的信息不会 被非法或未授权的用户窃取、修改或破坏。在当今社会,人们常常使用计算机保存、加工、处 理和传送大量重要信息,操作系统的安全性则直接影响到这些信息的安全,因此安全性已经成 为衡量操作系统性能的重要指标。以前,在早期的 DOS 操作系统中,几乎没有安全性措施。而 现在的 Windows 操作系统中采取了很多安全性措施,如开机密码、屏保口令等。需要说明的是, 由于不同计算机系统对安全性的要求不同,操作系统应该采取不同的安全措施。对安全性要求 较高的系统,操作系统就要采取较多的安全措施,而对安全性要求较低的系统,操作系统可采 取较少的安全措施。总之以够用为原则,因为采取的安全措施越多,操作系统的工作就会越复 杂,操作系统的工作效率就会越低,进而导致整个计算机系统工作效率的降低。 网络通信功能主要指操作系统为用户提供一组支持网络通信协议的程序和接口,保证用 户能快捷、安全地进行网络通信。目前处在 Internet 时代,任何计算机系统都离不开网络通信, 因此操作系统必须提供网络通信支持。如,在 20 世纪 70 年代,在 UNIX 操作系统中第一次 实现了早期的 TCP/IP 协议。Windows 等现代操作系统中不仅支持基于 TCP/IP 协议的通信, 还支持 UDP 等多种通信方式。

从系统层次结构和资源管理两个角度考察操作系统后,就可以较完整地了解操作系统基 本含义了。

1.2 操作系统发展历史

操作系统操作系统的形成迄今已有约 50 年的时间,在 20 世纪 50 年代中期出现了第一个 简单的批处理操作系统(Batch Processing System),到 20 世纪 60 年代中期产生了多道批处理 操作系统,不久又出现了基于多道的分时操作系统(Time-Sharing System)。20 世纪 80 年代是 计算机操作系统和网络操作系统形成和大发展的年代。 1.2.1 操作系统发展的主要动因 在短短的 50 年中,操作系统得到了飞速发展,其主要动因可归纳为以下几个方面。 1.2.1.1 不断提高计算机各种资源利用率的需要 提高系统资源利用率是操作系统追求的基本目标之一。在没有配置操作系统的计算机系 统中,由于人需要手工操作计算机,而人的操作速度与计算机中各种资源的运行速度相差很 多,这使得诸如 CPU、I/O 设备等各种资源经常会处于空闲状态,而且当时系统资源特别昂贵, 因此人们千方百计的提高系统各种资源的利用率。配置了操作系统后,能尽可能使 CPU 和 I/O 设备保持忙碌状态进而得到充分利用。另外,操作系统还可以采取适当的策略合理地组织计 算机工作流程,从而可以进一步提高系统资源的利用率。 1.2.1.2 方便用户的需要 方便用户是操作系统追求的另一个基本目标。未配置操作系统的计算机系统极难使用, 因为用户必须用计算机能够识别的 0 和 1 代码编写程序,程序才能在计算机上运行。另外程 序运行过程中需要用户输入的数据和运行结果也都是二进制形式。这些不仅使用户编程麻烦, 而且非常容易出错。配置操作系统后,人们可以用类自然语言编写高级语言程序,而不用管

(7)

计算机是否能理解,编译程序能够把高级语言程序翻译成计算机能够识别的二进制代码,不 仅使计算机变得易学易懂,而且维护程序的代价降低很多,极大地方便了用户。后来,人们 又不断地在方便使用计算机方面做出努力,出现了使人与计算机能及时交互的分时操作系统, 出现了使人能透明地使用整个计算机网络资源的网络操作系统和分布式操作系统。 1.2.1.3 计算机硬件的快速发展 计算机硬件的不断更新换代,推动了操作系统不断发展。自 1946 年诞生第一台计算机至 今的短短 50 多年中,计算机硬件技术得到了突飞猛进的发展。主要分为 4 个阶段:第 1 代是 电子管计算机时代(1946 年~1957 年)。这一代计算机的运算速度约为几千至几万次/秒,体 积大,成本高,可靠性低。第 2 代是晶体管时代(1958 年~1964 年)。这一代计算机的运算 速度提高到几万至几十万次/秒;体积缩小,成本降低,可靠性提高。第 3 代是集成电路时代 (1965 年~1970 年)。这一代计算机的运算速度提高到几十万至几百万次/秒;体积进一步缩 小,成本进一步降低,可靠性进一步提高。第 4 代是大规模集成电路时代(1971 年~至今)。 这一代计算机的运算速度提高到几千万至几百亿次/秒甚至更高,可靠性、体积、成本等方面 都得到更进一步改善。这就使得计算机的性能不断提高,计算机的应用场合急剧扩大,甚至 到了当今计算机无所不在,从而推动操作系统的性能也必须不断提高,功能也必须不断完善。 如,当微机从 8 位发展到 16 位,进而又发展到 32 位时,微机操作系统也相应的由 8 位微机 操作系统发展为 16 位微机操作系统,进而发展到 32 位微机操作系统。操作系统的各方面功 能都有了显著提高,最明显的就是操作系统管理的内存空间从 28 字节扩大到 232 字节。 1.2.1.4 计算机体系结构的不断发展 计算机体系结构的不断发展也是推动操作系统发展的动力。体系结构是指计算机硬件的 系统结构,是机器语言、汇编语言程序设计者看到的计算机硬件的抽象。很明显,计算机体 系结构不同,操作系统的管理功能就不同。例如,在总线体系机构中,操作系统要管理总线 和总线控制器,保证总线能够正常传输数据。在阵列处理机结构中,操作系统要管理阵列中 的多个处理机,使它们能在一定条件下并行工作。在多处理机系统中,就要有多处理机操作 系统,控制和协调多个处理机的工作。 总之,不同的硬件结构、不同的应用环境、不同的用户需求,就应有不同类型的操作系 统,以实现不同的追求目标。 1.2.2 手工操作阶段 在电子管计算机时代,数字计算机是由成千上万个电子管和许多开关组成的庞然大物。 此时并没有操作系统,程序设计全部用机器语言,由手工控制作业的输入输出,通过控制台 开关启动程序运行。到 20 世纪 50 年代,出现了穿孔卡片和纸带,程序员可以把机器语言程 序穿在纸带或纸卡上而不再使用插板。 此时用户使用计算机的过程大致如下:先把程序纸带装上输入机,启动输入机把程序和 数据送入计算机,然后通过控制台开关启动程序运行,计算完毕后,用户拿走打印结果,并 卸下纸带。 手工操作阶段的特点如下。 (1)程序设计直接编制二进制目标程序。 (2)输入输出设备主要是纸带和卡片。

(8)

(3)程序员自己上机操作,程序的启动与结果处理都以手工方式进行。 (4)单用户方式,用户独占 CPU 和系统所有资源。 (5)CPU 和系统资源等待人工操作,利用率很低。 可见,手工操作方式严重影响计算机资源利用率,即所谓的人机矛盾。而且随着计算机 硬件和体系结构的发展,人机矛盾日趋严重。 1.2.3 单道批处理系统 进入晶体管计算机时代后,计算机硬件的性能和可靠性有较大提高,FORTRAN 等高级语言 应运而生,程序设计人员、编程人员、操作人员和维护人员间有了明确分工。这些进展都使得人 们希望计算机能高效地做一些更复杂更有用的工作。而慢速的人工操作与快速的计算机处理能力 之间越来越不协调,例如,有一道程序通过 3 分钟的安装等手工操作后,在运算速度为 1 万次/ 秒的计算机上用 1 小时得到了结果。这时手工操作与程序运行时间之比为 1:20。把这道程序拿 到此时速度为 60 万次/秒的机器上运行,它只需花费 CPU 时间 1 分钟即可得到结果。如果在这种 高速的机器上仍然坚持手工操作,那么这时手工操作与程序运行时间之比为 3:1。这种比例是难以 让人接受的。软件设计人员首先想到的是,应该减少程序间转换的时间,于是提出了“让计算机 自动控制用户作业的运行,废除上、下机手工交接”的要求。于是就出现了单道批处理系统监控 程序,它的功能是从磁盘上读入第一个作业的作业说明书,按照它的规定控制该作业执行。这个 作业运行结束后,它又从磁盘上读入第二个作业的作业说明书,继而执行之。这一过程一直进行 到提交给系统的一批作业全部执行完毕时为止,如图 1-3 所示。由于这种系统一次集中处理一批 用户作业,故被称为“批处理系统”,该监控程序就是现今操作系统的雏形。 图 1-3 单道批处理系统示意图 在单道批处理阶段,使用计算机的过程是:用户使用系统提供的作业控制语言,来描述 自己对作业运行的控制意图,并将这些控制信息连同自己的程序和数据一起作为一个作业提 交给操作员。操作员启动有关程序将一批作业输入到计算机外存,由操作系统去控制、调试 各作业的运行并输出结果。正因为一批作业进入计算机系统后,用户不再对作业的运行进行 人工干预,从而提高了系统的运行效率。 单道批处理阶段的特点如上。 (1)自动性。有专职操作员,程序员不在现场,作业(步)间不需要人的干预。 (2)监控程序常驻内存。开机后第一个进入内存,直到关机一直驻留在内存中。 管理程序 作 业 输 出 依次 1,2,…,n 作业 n 说明书 程序 数据 作业 1 说明书 程序 数据 …… 一批作业 依次 1,2,…,n

(9)

(3)单道性。一个作业调入内存后,直到正常运行结束或因某种原因运行不下去而中途 退出后,系统才去调入下一个作业。 (4)顺序性。由于是单道批处理,各道作业完成的顺序与它们进入主存的顺序一致。 (5)监控程序只为一个计算机系统设计,通用性差。 此时,作业总是一个一个地顺序运行,当一个作业运行时它便独占了全机的所有资源。 显然,尽管这种单道批处理系统减少了作业交接时的机时浪费,但整个系统资源利用率和运 行效率还是很低的。其主要原因是处理机和输入/输出设备的串行工作方式,当作业进行输入/ 输出操作时处理机在空闲着,等待输入/输出操作的完成,这就浪费了大量的处理机时间。而 且监控程序的通用性差。 1.2.4 多道批处理系统 1964 年以后,计算机进入了集成电路和大规模集成电路时代。这时,硬件又有了长足的 发展,中断和通道技术的出现,为输入/输出设备和 CPU 并行操作奠定了物质基础。另外,随 着计算机应用的日益广泛,也要求进一步发展和扩大管理程序的功能,希望它能够最大限度 地挖掘计算机系统本身的潜在能力。这时,人们开始把 CPU、存储器、外部设备以及各种软 件都视为计算机系统的“资源”,提出不仅要合理地使用这些资源,而且要高效地使用这些资 源。为提高处理机资源的利用率,应尽可能地使处理机与输入/输出设备并行工作,这样便相 应地出了多道技术。多道是指在内存中同时存放若干道用户作业,允许这些作业在系统中交 替地运行。如果这些作业搭配得合理,就能使处理机与 I/O 设备高度并行工作,使 CPU 和 I/O 设备利用率显著提高,同时也提高了系统的吞吐量。系统吞吐量是指系统在单位时间完成的 总工作量。可以用图 1-4 来说明。

图 1-4 单道批处理和多道批处理工作比较 (a)单道程序工作示例;(b)多道程序工作示例

从图 1-4 中可以看到,CPU 和 I/O 设备利用率都有了很大提高,CPU 和 I/O 设备能并行工

(a) 等待 用户程序 监控程序 I/O 操作 计算 请求输入 启动 I/O I/O 完成 继续计算 结束中断 中央处理机 外部调协 外部设备 程序 A 程序 B 程序 A 程序 B 程序 A 程序 B 光电 输入 输入 结束 打印 输出 输入 结束 输出结束 输出结束 运算处理 光电输入数据 运算处理 输出打印 运算处理 光电输入数据 运算 绘图 (b)

(10)

作,而且系统吞吐量也提高了。 多道技术看似简单,实践起来并不容易,如何使内存中的多道作业有条不紊地运行,如 何为它们分配资源,这促进了操作系统的重大进步。将多道技术引入到批处理系统,就成为 一个多道批处理系统。现代计算机上的批处理系统,差不多都是多道批处理系统。可以说多 道批处理操作系统是操作系统发展史上的革命性变革。 在多道批处理系统中工作流程大致如下:各用户使用操作系统提供的作业控制语言,描 述作业运行时的控制意图以及对资源的需求,然后将程序、数据以及这些信息一并交给操作 员;操作员可随时把一批批作业交给系统。在外存中存放大量后备作业,系统根据一定的原 则从后备作业中选择搭配合理的若干作业调入内存。搭配合理主要是指作业的选择既能充分 利用系统各类资源又能满足不同用户的响应时间要求。在内存中的作业按多道方式组织它们 的运行,它们不断地轮流占用 CPU 来执行,并同时使用各自所需的外部设备,例如,某个作, 业因等待输入输出操作的完成而暂时不能继续运行下去时,系统就使内存中另一作业占有 CPU,投入运行;若某个作业运行完毕,系统输出它的运行结果并回收分配给它的资源,系统 再从外存中调入另一个作业。作业不断地流入系统,形成一个不断的作业流。这样的系统, 系统资源利用率高,作业吞吐量大。 多道批处理操作系统有如下特点。 (1)多路性。每次允许多个用户程序进入内存,它们交替地使用 CPU。某一时间段上, 各道程序不同程度地向前推进。 (2)共享性。整个系统资源被进入内存的多个程序共享使用。 (3)无序性。多个作业完成的顺序与它们进入内存的顺序可能不一致。 (4)封闭性。在一批作业处理过程中,用户不得干预系统的工作。即便是某个程序执行 中出现一个很小的错误,也只能等到这一批作业全部处理完毕后,才能进行修改。 批处理系统的设计目标是提高系统资源的使用效率和作业吞吐量。即使配置多道技术, 此时操作系统的本质仍然是批处理。批处理系统的主要缺点是用户使用不太方便。用户把作 业提交给系统后,无法对作业运行中可能出现的意外情况进行干预,于是可能是程序中一个 很小的错误就导致了它无法继续运行。这种情况特别不利于程序的调试。 1.2.5 分时操作系统 为了实现用户和计算机系统的及时交互、为了使多个用户共享主机、为了方便用户上机, 将多道程序设计技术与分时技术结合在一起,就产生了分时操作系统。配有分时操作系统的 计算机系统称为分时系统。如果说推动多道批处理系统形成和发展的动力是提高资源利用率 和系统吞吐量,那么推动分时操作系统形成和发展的主要动力是方便用户的需要。 所谓分时系统,即一台计算机与多个终端设备连接,最简单的终端可以由一个显示器和 一个键盘组成。每个用户通过终端向系统发出命令,请求系统为其完成某项工作。系统根据 用户的请求完成指定的任务,并把执行结果返回。这样用户可以根据运行结果,再次通过终 端向系统提出下一步请求。重复这种交互会话过程,直至每个用户实现自己的预定目标。计 算机分时轮流地为各终端用户服务并能及时地对用户服务请求予以响应,这就构成了分时系 统。图 1-5 为分时系统工作过程的示意图。

(11)

文本编辑 市场分析 图 1-5 分时系统工作过程示意图 分时的概念并不陌生。例如,硬件设计技术中的 I/O 通道与 CPU 分时使用内存;又如,多 道程序技术中的多道程序分时共享硬件、软件资源。分时系统中的分时则不然,它是把 CPU 的 运行时间划分成一个个长短相等(或基本相等)的时间片,并把这些时间片依次轮流地分配给 各终端用户程序。也就是说,分时系统之所以能在较短的时间内响应用户的请求,同时为多个 终端用户提供服务,主要是因为在分时操作系统中采用了“时间片轮转”的处理机调度策略。 这种调度策略是把处理机时间划分成一个个很短的“时间片”,对提出请求的每个联机用户终端, 系统轮流分配一个时间片给其使用。若在一个时间片内,用户所请求的工作未能全部做完,就 会被暂时中断执行,等待下一轮循环再继续做,让出的 CPU 被分配给另一个终端使用。由于计 算机的处理速度很快,只要时间片的间隔取得适当,那么用户就不会感觉到从一个时间片跨越 到另一个时间片之间的“停顿”,就好像整个系统全由他“独占”使用似的。例如,若时间片为 100ms,系统中有 10 个用户终端分享 CPU,并假定忽略操作系统为实现用户终端之间的切换所 需耗费的时间,那么每个用户平均响应时间(即从用完一个时间片到获得下一个时间片所需的 时间间隔)为 1s。这 1s 的“停顿”,用户是完全感觉不出来的。 不难看出,分时系统的基本特征如下。 (1)同时性。若干个用户同时使用一台计算机。微观上看是各用户轮流使用计算机;宏 观上看是各用户在并行工作。 (2)独立性。用户之间可以相互独立操作,互不干涉;系统保证各用户程序运行的完整 性,不会发生相互混淆或破坏的现象。 (3)及时性。系统可对用户的输入及时作出响应,及时是指响应时间在人能接受时间范 围内。分时系统性能的主要指标之一是响应时间,是指从终端发出命令到系统予以应答所需 的时间。 (4)交互性。用户可根据系统对请求的响应结果,进一步向系统提出新的请求。这种能 工程设计 图书管理 计算机 科学计算

(12)

使用户与系统进行人一机对话的工作方式,明显地有别于批处理系统,因而分时系统又被称 为交互系统。 分时系统的主要优点是它和多个终端用户的交互会话工作方式,方便了用户使用计算机 并可大大加快程序的调试过程。因此,分时系统设计的主要目标是对用户请求的及时响应, 并在可能的条件下尽量提高系统资源的利用率。目前广为流行的 UNIX 操作系统和 Windows 操作系统都是分时操作系统。 1.2.6 实时系统 计算机应用范围日益扩大,打破了只把计算机用于科学计算和数据处理等方面的格局。 比如用计算系统来控制飞机飞行、导弹发射以及冶炼轧钢等生产过程,用计算机系统实现飞 机订票、银行业务等实时信息处理系统。而多道批处理系统和分时系统都不能满足它们的要 求,因而出现了实时操作系统。 所谓“实时”,是指能够及时响应随机发生的外部事件、并对事件做出快速处理的一种 能力。而“外部事件”,是指与计算机相连接的设备向计算机发出的各种服务请求。实时操 作系统可以说成是能对来自外部的请求和信号在限定的时间范围内做出及时响应的那种操 作系统。 实时操作系统主要应用于下面两类场合。 (1)实时控制。把计算机用于生产过程的控制,形成以计算机系统为中心的控制系统。 控制系统能随时采集数据,并对得到的数据进行分析和处理,进而控制相应的执行机构。如 用计算机系统控制飞机飞行、导弹发射等,要求计算机能尽快处理测量系统测得的数据,及 时对飞机或导弹进行控制,或将有关信息通过显示终端提供给决策人员。再如,用计算机系 统用于轧钢、石化、机械加工等工业生产过程时,也要求计算机能及时处理由各类传感器送 来的数据,然后控制响应的部件或机构。 (2)实时信息处理。在一台或多台主机和多个终端通过通信线路连接起来的网络中,主 机接受远程终端发来的服务请求,对信息进行检索和处理,并及时给用户正确的回答。如把 计算机用于预订飞机票、查询有关航班、航线、票价等事宜,或把计算机用于银行系统、情 报检索系统等,这些都是典型的实时信息处理系统。 实时系统设计的目标是实时响应及处理的能力和高可靠性、高安全性。它对系统资源利 用率要求并不高,甚至为保证高可靠性而在硬件上采用冗余措施。 实时系统与批处理系统和分时系统有如下不同。 (1)通用性。无论批处理系统还是分时系统,都是属于通用操作系统,系统本身只起 管理、调度、服务的作用。而许多实时系统则是为某种应用而专门设计的专用系统,系统 本身包含有实时控制过程或实时信息处理的专用程序。有些实时系统也有一定范围内的通 用性,但应具有较强的系统生成能力,以便根据需要来剪裁或贴补系统功能,与实际应用 环境相适应。 (2)及时性。分时系统也要求及时响应,但那是以人所能接受的等待时间来定的,一般 为 2~3s,稍长稍短一些都不会带来“灾难性”后果。而实时系统则不然,及时响应要求是以 具体的控制过程或信息处理过程所能接受的延迟时间来定的。对于某些实时控制过程,及时 响应要求的时间可达毫秒甚至微秒数量级。实时系统,特别是实时控制系统,应具备强有力

(13)

的中断机制、时钟管理机制和快速的任务切换机制。 (3)交互性。对一些实时信息处理系统,如民航订票系统中也有多个终端用户的问题。 但与分时系统中的多终端用户相比,其与系统的交互作用要受到限制。实时系统仅允许终端 操作员访问有限的专用程序,而不能编写程序或修改已存在的程序。当然实时系统的交互性 比批处理系统强的多。 (4)高可靠性。高可靠性对实时系统至关重要,因为一点点差错都可能造成不可估量的 损失。实时系统常采用双工体制,即两台完全相同的计算机,一台作为值班机,一台作为后 备机,两机并行运行,任一时刻都有着完全相同的 CPU 现场,一但值班机发生故障,后备机 立即切入。操作系统软件也要特别可靠,并应具备某种防护机构来保证任务过载时系统仍能 正常运行。与批处理系统、分时系统相比,实时系统的资源利用率一般较低。 最后要说明一点,批处理系统、分时系统、实时系统是 3 种基本的操作系统类型。一个 实际的操作系统可能兼有 3 者或其中两者的功能。如 VAX-11 系列机上配置的 VMS 操作系统, 就兼有批处理、分时、实时系统的功能。

1.3 操作系统的分类

从不同的角度出发,可以对操作系统进行不同的分类。从历史发展的观点,操作系统可 以分为传统操作系统和现代操作系统;从操作系统管理的硬件规模出发,可分为微机操作系 统、中小型机操作系统和大型机操作系统;按照资源共享的级别,可分为单任务操作系统、 多任务操作系统、单用户操作系统、多用户操作系统、单道操作系统、多道操作系统、多处 理机操作系统和网络操作系统。按所允许的交互类型可分为批处理操作系统、分时操作系统 和实时操作系统。本节介绍几种常用的操作系统类型。 1.3.1 多处理机操作系统 在 20 世纪 70 年代,出现了多处理机系统,它试图从计算机体系结构上改善计算机系统 的性能。引入多处理机后,使计算机系统的性能有了较大程度的提高,如,系统吞吐量成倍 提高,因为多台处理机可以协调工作,完成更多的任务;系统可靠性也有很大提高,因为在 多处理机系统中通常具有系统重构功能,当一台处理机发生故障时,多处理机操作系统能立 即将该处理机上的任务迁移到其他处理机上运行,保证整个系统仍然正常运行。另外,在相 同处理能力下,多处理机系统比多台单处理机系统构成的集合要节省资源。如 20 世纪 90 年 代 IBM 公司开发的 IBM OS/390 大型机操作系统就是多处理机操作系统。

多处理机操作系统可以按下面两种模式来配置: (1)非对称多处理模式,即主从模式。把处理机分为主处理机和从处理机两类。主处理 机只有一个,从处理机可有多个。主处理机上配置操作系统,管理整个系统的资源,并为从 处理机分配任务。从处理机只能按照主处理机的管理去工作。这种操作系统比较容易管理, 但主处理机构成系统的瓶颈。 (2)对称多处理模式。所有处理机都相同,操作系统可根据需要运行于其中的任一处理 机上。这种操作系统允许多个进程同时运行,系统资源利用率较高,但比较难控制。

(14)

1.3.2 网络操作系统 将地理位置不同、具有独立功能的多个计算机系统,通过通信设备和通信线路连接起来, 在功能完善的网络系统软件(网络协议、信息交换方式、控制程序和网络操作系统)的支持 下,以实现更加广泛的硬件资源、软件资源的共享,这就是计算机网络。在网络范围内,用 于管理网络通信和共享资源,协调各计算机上任务的运行,并向用户提供统一的、有效方便 的网络接口的程序集合,就称为网络操作系统。要注意的是,在网络中各独立计算机仍有自 己的操作系统,由它管理着自身的资源。只有在它们要进行相互间的信息传递、要使用网络 中的可共享资源时,才会涉及到网络操作系统。 单机操作系统是封闭的,而网络操作系统恰恰相反,它是开放系统。因为只有“开放”, 才适应网络中多用户之间的交往和全网资源的共享。一个计算机系统入网后,不但大大扩大 了本机用户的可用资源范围,同时也使该机的用户范围从本机用户扩大到全网用户。这就要 求网络环境下操作系统,既要为本机用户提供有效地使用网络资源的手段,又要为网络用户 使用本机资源提供服务。因此,网络操作系统除了应具有单机操作系统的功能之外,还应有 网络管理模块,其主要功能是支持网络通信、网络管理和提供各种网络服务。 依据网络作用的地理范围不同,可将计算机网络分成两大类:广域网和局域网。广域网 的地理范围从几百千米到几千千米,甚至上万千米,可以覆盖一个地区、一个国家,甚至跨 洲。局域网的地理范围是几千米到几十千米,一个企业或一个大学内都可组建局域网。广域 网和局域网是一个相对概念。局域网的系统软件,通常由网络协议及协议软件、网络通信软 件和网络操作系统 3 部分组成。局域网的网络操作系统属于网络层次结构的高层协议,其主 要功能是实现系统共享资源的管理。 1.3.3 分布式操作系统 在以往的系统中,其处理和控制功能都高度集中在一台主机上,所有的任务都由主机处 理,这样的系统称为集中式处理系统。所谓分布式系统,是指由多个分散的处理单元经网络 的连接而形成的系统。在分布式处理系统中,系统的处理和控制功能都分散在系统中的各个 处理单元上。系统中的所有任务可以动态地分配到各个处理单元中去。在分布式系统上配置 的操作系统称为分布式操作系统。 分布式操作系统和网络操作系统由许多相似之处,但又各自有自己的特点,主要从以下 几方面加以比较。 (1)分布性。在分布式系统中只有一个分布式操作系统,它均匀地分布在系统的各个 节点上,操作系统的处理和功能是分布的;而在网络系统中各个节点可以有不同的网络操 作系统,控制各自的资源,而网络中共享资源的控制功能只集中在网络服务器中,控制是 集中式的。 (2)并行性。分布式系统中可以将一个或多个任务动态分配到不同的单元上;而在网络 系统中每个用户的一个或多个任务通常都在本地处理,网络操作系统通常无任务分配能力。 (3)透明性。分布式系统具有透明性,如用户要访问某文件,他只需要知道文件名,无 需知道文件在哪个站点。对网络系统来说,用户要访问一个文件时要知道文件名及位置。 (4)共享性。在分布式系统中,各站点的所有资源都可供全系统共享,在网络系统中一

(15)

般仅有服务器上的部分资源可供全网共享。 (5)健壮性。分布式系统有健壮性,当某站点出现故障时,正在该站点处理的任务能被 自动迁移到好的站点。而在网络系统中,服务器是系统的瓶颈,若服务器出现故障往往会导 致全网瘫痪。 1.3.4 嵌入式操作系统 嵌入式操作系统是指嵌入在各种设备、装置或系统中,控制和协调系统各种部件操作, 完成特定功能的系统软件。这些设备、装置或系统是更大的设备、装置或系统中的一部分, 这个大设备、装置或系统可以不是计算机。嵌入式操作系统通常工作在反应快或对处理时间 有较严格要求的环境中,如电话交换设备、移动通信设备、印刷机、机顶盒、零售设备、智 能卡等。

VxWorks 是当今嵌入式操作系统的代表。VxWorks 支持各种工业标准,包括 POSIX、ANSI C 和 TCP/IP 网络协议。VxWorks 运行系统的核心是一个高效率的微内核,微内核支持各种实 时功能,包括快速多任务处理、中断支持、抢占式和轮转式调度。微内核设计减轻了系统负 载并可快速响应外部事件。VxWorks 可运行在 Windows 9x、Windows NT、Sun Solaris、Sun OS、 HP-UX 等多种系统上。在“极地登陆者”号、“深空二号”和火星气候轨道器等登陆火星探测 器上,就采用了 VxWorks 操作系统。VxWorks 负责火星探测器全部飞行控制,包括飞行纠正、 载体自旋和降落时的高度控制等,而且还负责数据收集和与地球的通信工作。VxWorks 目前 在国内也占据嵌入式开发系统市场的主要份额。 1.3.5 通用操作系统 前面介绍的批处理系统、分时系统和实时系统是操作系统的 3 种基本类型。如果一个系 统兼有批处理、分时处理和实时处理三者,那就形成了通用操作系统。 例如,把批处理与分时处理相结合,系统有分时用户时,系统及时对他们的请求作出响 应,而当系统暂时没有分时用户或分时用户较少时,就可利用一些空闲的时间片去处理无需 及时响应的批作业。类似地,也可把批处理与实时处理相结合,有实时请求时进行实时处理, 没有实时请求时运行批作业。这都可提高系统资源的利用率。 在通用操作系统中,往往把批处理作业作为后台,而需要及时响应的用户作业作为前台。 前台和后台作业的区别在于:只有前台作业不需要使用处理机时,后台作业才能得到处理机 的控制权;一旦前台作业可以开始工作时,后台作业要立即让出处理机。如 UNIX、Microsoft Windows NT、Windows 95/98 等,都是通用操作系统。 衡量一个通用操作系统性能时,常采用如下一些指标: (1)系统的 RAS。RAS 是可靠性、可维护性和可用性三者的总称。 (2)系统的吞吐率。 (3)系统的响应时间。 (4)系统资源利用率。 (5)可移植性,即把一个操作系统从一种硬件环境移植到另一种硬件环境所需要的工作量。 至于操作系统是否方便用户使用,有无良好的用户界面,是无法定量评判的,但这也是 衡量操作系统性能优劣的一个重要方面。

(16)

1.3.6 微机操作系统

随着大规模集成电路发展,个人计算机时代到来了,各种类型的个人计算机和软件层出 不穷,最早出现的微机操作系统,是 8 位微机上的 CP/M。后来出现 16 位微机操作系统—— MS-DOS。当微机发展到 32 位时,又出现了 32 位微机操作系统,如 Windows 和 UNIX 等。

1.3.6.1 CP/M CP/M 是单用户单任务 8 位微机操作系统,是 Digital Research 公司 1973 年推出的。CP/M 配置在 Intel 8080、8085、Z80 为主的芯片上,可支持软盘系统。1979 年又推出 CP/M 2.2 版, 到了 1981 年,CP/M 操作系统成为世界上流行最广的 8 位操作系统之一。CP/M 操作系统有较 好的层次结构。它的 BIOS 把操作系统的其他模块与硬件配置分隔开,所以它的可移植性好, 具有较好的可适应性和易学易用性。 1.3.6.2 MS-DOS 操作系统 MS-DOS 属于单用户单任务 16 位微机操作系统。它是美国微软公司的产品,主设计人是 Tim Paterson。在 1981 年,IBM 公司与 Microsoft 公司签定协议,使用 MS-DOS 作为 IBM 个 人计算机的操作系统。MS-DOS 操作系统对 CP/M 进行了较大扩展,增加了许多内部命令和 外部命令,而且 MS-DOS 有优良的文件系统。又因为 MS-DOS 可广泛地配置在 IBM-PC 及其 兼容机上,因此非常畅销,实际上它成为 16 位微机单用户单任务操作系统的标准。但 MS-DOS 操作系统受到 Intel x86 体系结构的限制,并且缺乏以硬件为基础的存储保护机制。从 1981 的 MS-DOS 1.0 版到 1998 年在 Windows 95/98 之下的 7.0 版,MS-DOS 历经了 16 个年头。迄今 仍有 MS-DOS 爱好者继续开发各种 DOS 软件产品。 1.3.6.3 Windows 操作系统 MS-DOS 提供的是一种以字符为基础的用户界面,不了解硬件和操作系统的话,便难以 称心如意地使用 PC。人们企望能把 PC 变成一个更直观、易学、好用的工具。Microsoft 公司 响应千百万 MS-DOS 用户的愿望,提供了一种图形用户界面方式的新型操作系统,也就是 Windows。Windows 的早期版本有 2.0 版、2.1 版和 2.11 版,并在 1987 年推出了 386 PC 专用 的 Windows/386。随后,1990 年 5 月推出 Windows 3.0 版,1992 年 3 月推出了 Windows 3.1 版,1995 年推出了 Windows 95 版,1998 年推出了 Windows 98 版及 Windows NT/2000 版。引 起计算机界的强烈反响,使得计算机(特别是 PC)的操作方法和软件开发过程产生了革命性 的变化。Windows 在 PC 系列微型机操作系统中占主导地位。 Windows 9.x 是一个图形窗口操作环境软件。它代替了 DOS 环境下的命令行操作方式, 而代之以“对话”、“图标”、“菜单”等图形画面和符号的全新操作方式。它有如下特点。 (1)丰富多采的图形操作界面,使 PC 易于掌握和使用。 (2)支持多任务运行,各任务之间即易于转换,又可方便地交换信息。 (3)突破了 DOS 内存 640KB 的限制,提供了实模式、标准模式、386 增强模式等操作 模式,提供了虚拟存储管理能力。 (4)提供了程序管理、文件管理、打印管理、控制面板等方便的管理工具,可完成任务、 文件、设备等的并行管理工作。 (5)提供了多种方便实用的工具软件,包括:字处理程序、画图软件、终端通信软件、 多媒体、网络以及时钟、日历、计算器、卡片、便笺、记录器等一套桌面办公用具软件。

(17)

Windows 9.x 最重要的改进之一是它使用的存储管理方式与 MS-DOS 不同,Windows 采取 动态内存管理方式。为了共存多个应用程序,它对应用程序以段为单位进行管理。在内存中 保留程序运行所必要的段,废弃不使用的段。于是,为确保存储器的连续,必须经常进行段 的再配置。另外,重复启动同一应用程序时,采取只保留个别数据段,而共用初始加载的代 码段,被废弃的代码段在以后需要时,再重新从外存加载。显而易见,没有足够的内存空间 就要频繁地进行段的废弃和重新装入,程序运行速度就会大大降低,再加上 Windows 本身占 据的内存也不少,因此,若想同时运行几个应用程序,并且可对较大的文本文件进行操作, Windows 必须突破原内存只有 640KB 的限制,而能够访问高档 PC 所提供的扩充内存和延伸 内存。 Windows 9.x 具备的多任务能力,基本上是协作式的,它使用协作方式为 Windows 应用程 序获得较高效率和较佳的多任务控制。Windows 具有动态数据交换(DDE)和动态链接库(DLL) 功能。DDE 是 Windows 应用程序之间彼此通信的一种手段,以服务器客户方式进行通信。DLL 是调用时加载到内存的例行程序的库文件,它可作为应用程序的一部分来使用,改写 DLL 能 扩充应用程序的功能,也能利用其他程序的 DLL。 用 DDE 和 DLL,可实现多个 Windows 应 用程序的协作运行、联合动作。 1.3.6.4 Windows NT/2000

在 1993 年,Windows NT 投放市场。Windows NT 完全从头编写并采用了与 UNIX 相类似 的微内核类型结构,借此 Windows NT 实现了多任务。另外 Windows NT 还利用了 Carnagie Mellon 的 MACH 操作系统的一个流行概念——线程,以支持对称多处理。

在微内核基础上,又加入大量特征和服务,其中包括集成安全子系统、抽象的虚拟化硬 件接口、强大的多协议网络支持、容错性和集成化 GUI 管理工具等。当 Windows NT 最终发 行时,Microsoft 拿出了两个不同版本:Windows NT 3.1 和 Windows NT Advanced Server 3.1, 它们在取得巨大成功的同时也暴露了许多不足,其中包括与已有 Windows 程序兼容性差,对 硬件要求过高。后者使它在 Novell 的 NetWare 占优势的网络操作系统市场中未能有惊人之举。

1994 年秋,Windows NT 3.5 发行,它作了大量重要的改动与增强,如利用点到点协议(PPP) 的多协议远程访问服务,简化内存脚本,扩展错误修复,重新编写 TCP/IP 堆栈等。另外 Microsoft 还将它们更名为 Windows NT Workstation 和 Windows NT Server。同时,两者的内部结构进一 步优化,这更有助于准确地定义各自充当的角色。

Windows NT 3.5 的发行标志着 Microsoft 正式进入服务器市场,甚至有人开始预测 Windows NT Server 将向 Novell 支配的网络市场发起挑战。

Windows NT 4.0 标明 Windows NT 在 Microsoft 的努力下达到了外界对它要求的标准。 Windows NT Server 4.0 不仅仅引入了 Windows 95 的用户界面,还包括其他许多特征,如 NetWork OLE、Internet Information Server(IIS)2.0、RAS 多联接和 RAS 自动拨号、点到点隧道协议(PPTP)、 DNS 和 WINS 的全面集成、集成化多协议路由器、支持扩展驱动器、性能的改进等。

Windows 2000 是 Windows NT 的升级版本,包括 Windows 2000 Professional 和 Windows 2000 Server 两个版本。其 Server 版本继承了 Windows NT 的所有服务器管理特性,增加并改 进了一些网络服务,因而成为当前最流行的网络操作系统之一。

Windows NT/2000 是一种 32 位网络操作系统,是面向分布式图形应用程序的完整的平台 系统。Windows NT/2000 具有工作站和小型网络操作系统具有的所有功能。主要包括:文件及

(18)

文件管理系统、具有优先级的多任务/多线程环境、支持对称的多机处理系统、拥有兼容于分 布计算的环境。由于 Windows NT/2000 具有良好的用户界面,并且操作方便,所以世界各著 名软硬件生产厂商都宣布支持 Windows NT/2000。 Windows NT/2000 的主要特点如下。 (1)采用 32 位操作系统。Windows NT/2000 是用 32 位寻址方式访问对象,可使 NT 寻 址到多达 4GB 的内存。另外,Windows NT/2000 引入一种新的文件系统——NTFS,使可访问 的磁盘容量大大增加。

(2)不再需要 DOS 操作系统。Windows NT/2000 最伟大的成就恐怕是对 DOS 的完全摒 弃!虽然在 Windows NT/2000 操作系统中没有再保留 DOS 代码,每件事都是通过仿真标准 DOS 调用来完成的,但绝大多数 DOS 程序依旧能在 Windows NT/2000 上运行,而且比在标准 的 DOS 下运行还要快。 (3)客户/服务器操作系统。Windows NT/2000 操作系统是按照客户/服务器方式来设计的。 整个操作系统分成许多自含系统单元,并相互传递定义良好的各种消息。 (4)受保护内存模式。Windows NT/2000 引入的另外一个概念就是受保护内存模式。在 Windows NT/2000 的内存模式下所有进程都有它们各自的 32 位地址空间。4GB 的空间被分成 两半,而应用程序能真正使用的是低端的 2GB 空间,高端的 2GB 空间则是用于系统其他部分 的连接。利用这种方法,每个进程都会认为只有它在单独运行,从而不会使得某个进程有意 或无意地去读或写不属于它本身的内存空间。这就带来两个积极效果,首先它避免了 Windows 3.x 中发生的 90%的冲突;其次它为每个进程提供了安全保证。 (5)抢先式多任务。Windows NT/2000 采用抢先式多任务。抢先式多任务最广为人知的 是微内核设计。利用抢先式多任务方式,微内核始终保持了对系统的控制。它给应用程序分 配时间片段使其运行,在指定时间结束之际,微内核抢先运行进程并将控制移交给下一进程。 这种抢先式多任务方式避免了由于某个应用程序出错所造成的整个系统就会挂起。 (6)可移植性。可移植性是 Windows NT/2000 的设计目标之一。Windows NT/2000 可移 植性的关键部分是硬件抽象层(HAL),它在高层操作系统软件中隐藏了硬件的实际差别。 Windows NT/2000 的可移植性使它不仅可在 Intel x86 微处理器上运行,也可在 RISC 芯片上运 行,如 DEC Alpha AXP、MIPS R4400 和 Motorola Power PC。

(7)可伸缩性。Windows NT/2000 的可伸缩性是指 NT 能在单独一个系统中充分利用多 个处理器的工作的能力。NT 可伸缩性的关键是对称多处理(SMP),Windows NT/2000 Server 的 SMP 设计能让系统的处理器个数为 1~32 个不等。NT 能动态分配系统和应用程序线程, 是它们在不同的微处理器上运行。 (8)本地化。Microsoft 意识到了将产品投入国际市场的价值与重要性。Windows NT/2000 有下列国家的本地化版本——巴西、中国、丹麦、荷兰、芬兰、法国、德国、意大利、日本、 韩国、挪威、葡萄牙、俄罗斯、西班牙和瑞典。在以上每个版本中,Microsoft 不仅努力保证 某一特定语言中的通信,同时还采用标准习惯,使用正确的列表、日期、时间、数字和货币 的格式输出。为支持本地化,Windows NT/2000 在存储和处理所有内部数据,显示符号时采用 的不是 ASCII 而是使用 Unicode 标准。从而使得 Microsoft 在不同国家和地区迅速而轻松地实 现 Windows NT/2000 的本地化,包括全面支持日本的片假名和中国的简、繁体汉字(注: Windows 95 也支持 Unicode。尽管 Windows 95 完全使用 Unicode 保存内部数据,但 Windows 95

(19)

依旧用到了大量非 Unicode 领域的替代品,以保证向后兼容)。 (9)安全性。Windows NT/2000 符合美国国家安全机构(NSA)的 C2 级检测标准。强 壮的安全模式适合于操作系统的各个级别,而不像在其他操作系统(包括 Windows 95)上提 供的薄弱的安全性。在良好的安全模型下开发的 Windows NT/2000 保证了它能胜任大多数有 安全性要求的场合。 (10)容错性。Windows NT/2000 提供了多级系统容错能力,包括 NT 日志式的容错 特征列表、可恢复文件系统(NTFS)、磁盘镜像和磁盘奇遇检验条带化(RAID1 和 RAID5)、 磁盘扇区备用以及对不间断电源(UPS)的支持。使 Windows NT/2000 成为企业工作站和 服务器产品。 最后说明的是,Windows NT/2000 既是一种操作系统,也是一种网络操作系统。在 Windows NT/2000 中同时集成操作系统和网络操作系统的强大功能. 1.3.6.5 UNIX/XENIX 操作系统 UNIX 是一个多用户、多任务的分时操作系统。最早是由美国电话与电报公司(AT&T) 贝尔实验室(Bell Lab)的 Ken Thompson 和 Dennis Ritchie 两人在 DEC 的 PDP-7 机上开始设 计的。从 1962 年至今,它不断地发展、演变并被广泛地应用于小型机、超级小型机、大型机 甚至超大型机。20 世纪 80 年代以来又凭借其性能的完善和可移植性,在微型机上也日益流行 起来。UNIX 名扬计算机界,众多用户争先恐后地使用它。由于 UNIX 的巨大成功和它对计算 机科学所作的贡献,两位主设计人曾获得国际计算机界的“诺贝尔奖”——ACM 的图灵奖。 UNIX 系统在不太长时间内取得很大成功的根本原因在于 UNIX 本身的性能和特点。正如 图灵奖评选委员会对 UNIX 的评价中指出的那样:“UNIX 系统的成功在于它对一些关键思想 所作的恰如其分的选择和精悍的实现。UNIX 系统关于程序设计的新的思想方法成了整整一代 软件设计师的楷模。UNIX 的天才在于它为程序员提供了一种可以利用别人工作成果的机构”。 具体地说,UNIX 系统有如下特点。 (1)短小精悍的内核与核外程序的有机结合。UNIX 系统在结构上分成两大层:内核和 核外程序,即在 1.1 节所提到的操作系统层和系统实用程序层。内核包括进程管理、存储管理、 设备管理和文件管理。UNIX 系统内核设计得非常精巧,合理的取舍使之提供了最基本的服务。 核外程序充分利用内核的支持,向用户提供大量的服务,甚至终端命令解释程序也放在核外 程序层。核外程序与普通的用户程序被一样看待,它们都作为文件被保存在文件系统当中。 把常驻内存的内核与不必常驻内存的核外程序分开而又有机地结合,不仅使核心不庞大繁杂, 便于使用和维护,也使 UNIX 用户能不断把一些优秀程序加到核外程序层中去,使 UNIX 系 统便于扩充。 (2)采用树形结构的文件系统。文件有普通文件、目录文件、特殊文件之分。一个文件 系统保持有一个根目录,其下有若干文件和目录,每个目录下都可拥有若干文件和子目录, 等等。这样的文件组织方式不仅便于文件进行分类和查找,而且容易实现文件的保护和保密。 UNIX 系统还允许用户在自己的可装卸的文件存储设备上建立一个(子)文件系统,并把它连 接到原有文件系统的某个末端节点上,从而成为一个子树。当用户不用它时,还可把此(子) 文件系统卸下来。 (3)把设备如同文件一样看待。系统中所配置的每一种设备,包括磁盘、磁带、终端、 打印机、通信线路等等,UNIX 都有一个特殊文件与之一一对应。用户可使用普通的文件操作

(20)

手段。对设备进行 I/O 操作。例如,用户可用文件复制命令,把磁盘的某个文件内容复制到打 印机这一特殊文件上,从而由打印机输出这个文件的内容。特殊文件与普通文件在用户面前 有相同的语法和语义,使用相同的机制,这即简化了系统设计又便于用户使用。 (4)UNIX 是一个真正的多用户、多任务操作系统。系统初启时,引导程序把系统内核 放入内存低地址。然后经过内部的初启程序为系统建立了进程 0 和进程 1。进程 0 是所有进程 的祖先,也是系统中惟一的核心态进程,它负责把盘上准备运行的进程换入内存,有时也把 它称为交换进程。进程 1 负责为每个终端建立一个进程,执行 Shell 解释程序。每个终端的 Shell 进程等待用户输入命令,一旦有命令输入就要对其分析,找到相应的命令执行文件,并为之 建立一个子进程来执行这个命令,命令执行完,相应的子进程即被撤销。用户还可以指定一 个命令在后台运行,同时在前台执行其他命令。 (5)UNIX 向用户提供了一个良好的界面。这包括两种界面:一种是用户在终端上通过 使用命令和系统进行交互作用的界面,称为用户界面;另一种是面向用户程序的界面,称为 系统调用。 UNIX 系统的用户界面就是操作系统的外壳 Shell。Shell 既起着命令解释程序的作用,同 时又是一种程序设计语言,具有许多高级语言所具备的复杂控制结构与变量运算功能。因此, 也可用来编写程序,即所谓 Shell 编程。 所谓系统调用界面,是指操作系统内核提供了一组诸如文件读写、I/O 设备操作、进程控 制等功能子程序,用户程序通过一些特殊的指令来调用这些子程序,从而访问系统的各种硬 件资源和软件资源并取得操作系统的服务。UNIX 不仅在汇编语言级,而且也在 C 语言一级中 提供了系统调用的手段,给程序设计带来了很大方便。 (6)良好的可移植性。与完全用汇编语言写成的 MS-DOS 不同,UNIX 系统的全部系统 实用程序以及内核程序的 90%都是用 C 语言编写的。由于 C 语言编译程序有良好的可移植性, 因此用 C 语言编制的 UNIX 系统也具有良好的可移植性。这不仅意味着 UNIX 系统易于从一 种硬件系统移植到另一种硬件系统上,而且在某一种硬件系统上开发的 UNIX 应用程序也易 于移植到其他配置了 UNIX 的系统上去。这些正是 UNIX 系统得以普及和取得成功的重要原 因之一。 UNIX 系统的各种版本比较多。从 1970 年至 1978 年,不断改进而推出新的版本。从 1981 年 AT&T 发表 UNIX System Ⅲ(S3)开始,UNIX 不再采用版本(Version)号排列,而改为 按系统(System)号排列。最近的版本是 1989 年推出的 UNIX System v 的 4.0 版。另外一个 系列是美国加利福尼亚大学伯克利分校开发的带有虚拟存储功能的 UNIX 系统,它们是 1.0 BSD,2.0 BSD,……直到 1983 年的 4.2 BSD 等系统。

进入 20 世纪 80 年代以来,UNIX 开始进入微型计算机市场。1980 年 Microsoft 公司在 UNIX V7 基础上,根据微型机的特点对 UNIX 进行了修改和扩充。1983 年 Microsoft 公司又 根据 UNIX 系统Ⅲ相应地改写了 XENIX,发表了 XENIX 3.10。1984 年随着 IBM PC/AT 机 的推出,Microsoft 公司又发表了 PC/AT XENIX 1.0。1986 年 Microsoft 公司又根据 UNIX 系 统 V,发表了 PC/AT XENIN V。另一家软件公司也发表了 SCO XENIX 5.2/2。1987 年,AT&T 公司和 Intel 公司联合推出 UNIX 系统 V/386 3.0 版。与此同时,Microsoft 公司也发表了 XENIX V/386。后来,AT&T 公司与 Microsoft 公司又联合推出 UNIX 系统 V/386 3.2 版。

(21)

命令解释程序、基本命令和主要实用程序的用法几乎完全一样。XENIX 只是在微型计算机上 运行的 UNIX,两者本质上没有什么不同。 在提供多任务处理、调度、内存管理和磁盘信息管理等许多方面,微机多任务操作系统 都类似于传统的多任务操作系统。但是,微机的应用环境不同于大、中、小型计算机的应用 环境,因此,它们的追求目标也不同,传统的多任务操作系统追求的是系统资源利用率和作 业的吞吐量,而微机多任务操作系统追求的是充分提高对用户的响应能力及使用的方便性。

1.4 Windows Server 2003 简介

自 2003 年起,Microsoft 将其服务器产品统一在 Windows Server System 品牌下,这是一 个全面、集成而且具有互操作能力的服务器基础结构,提供了一个公用体系结构:

(1)IT 基础设施。用于部署和操作。 (2)应用程序基础设施。用于设计和开发。 (3)信息工作者基础设施。用于通信和协同。

Windows Server System 的基础是 Microsoft Windows Server 2003 操作系统,它为以上各方 面提供了核心基础设施和公用的服务。该服务器平台提供了:

(1)底层的安全模型、目录服务以及操作和管理服务,以支持 IT 基础设施。 (2)作为应用程序基础设施之基础的核心应用程序定义和编程模型。

(3)支持信息工作者基础设施的核心数据和协同服务。 图 1-6 显示了 Windows Server System 的功能范围。

图 1-6 Windows Server 系统功能

Windows Server 2003 系列沿用了 Windows Server 2000 的先进技术,并且使服务器更易于 部署、管理和使用。 1.4.1 服务器角色 Windows Server 2003 是一个多任务操作系统。它能够按照需要,以集中或分布的方式处 Office 合作者应用商务解决方案 Visual Studio.net IT 基础 设施 应用基 础设施 信息工 程者基 础设施 服务器平台 Windows Server 2003 Windows Server 系统

(22)

理各种服务器角色。其中的一些服务器角色包括: (1)文件和打印服务器。 (2)Web 服务器和 Web 应用程序服务器。 (3)邮件服务器。 (4)终端服务器。 (5)远程访问/虚拟专用网络(VPN)服务器。 (6)目录服务器、域名系统(DNS)、动态主机配置协议(DHCP)服务器和 Windows 因特网命名服务(WINS)。 (7)流媒体服务器。 1.4.2 Windows Server 2003 的核心技术

Windows Server 2003 包含了基于 Windows Server 2000 构建的核心技术,尽力实现具有可 靠、可用、高效和联网功能的,经济划算的优质服务器操作系统。 1.4.2.1 可靠 Windows Server 2003 具有可靠性、可用性、可伸缩性和安全性,这使其成为高度可靠的 平台。 (1)可靠性。Windows Server 2003 对系统可靠性的增强主要体现在如下方面:把应用平 台配备在可扩展操作系统的权利之上,该应用平台包括了传统应用服务器的功能;对涉及安 全信息处埋的体系结构进行一体化集成,从而增强了事务信息的安全和访问控制。 (2)可用性。Windows Server 2003 系列增强了集群支持,从而提高了其可用性、可伸缩 性和易管理性。Windows Server 2003 系列支持多达 8 个节点的服务器集群。如果集群中某个 节点由于故障或者维护而不能使用,另一节点会立即提供服务,这一过程即为故障转移。 Windows Server 2003 还支持网络负载平衡(NLB),它在集群中各个节点之间进行平衡传输 通信。 (3)可伸缩性。Windows Server 2003 系列通过由对称多处理技术(SMP)支持的向上扩 展和由集群支持的向外扩展来提供可伸缩性。测试表明,与 Windows Server 2000 相比, Windows Server 2003 在文件系统方面提供了更高的性能(提高了 140%),其他功能的性能也 显著提高。Windows Server 2003 从单处理机解决方案一直扩展到 32 路系统,它同时支持 32 位和 64 位处理机。 (4)安全性。通过将内联网、外联网和因特网站点结合起来,系统安全问题比以往任何 时候都更为严峻。Windows Server 2003 在安全性方面提供了许多重要的新功能和改迸,包括: z 公共语言运行库:本软件引擎是 Windows Server 2003 的关键部分,它提高了可靠性并 有助于保证计算环境的安全。它降低了错误数量,并减少了由常见的编程错误引起的 安全漏洞。因此,攻击者能够利用的弱点就更少了。公共语言运行库还验证应用程序 是否可以无错误运行,并检查适当的安全性权限以确保代码只执行适当的操作。

z Internet Information Services 6.0:为了增强 Web 服务器的安全性,Internet Information Services(IIS)6.0 在交付时的配置可获得最大安全性。IIS 6.0 为 Windows Server 2003 提供了最可靠、最高效、连接最通畅以及集成度最高的 Web 服务器解决方案,该方 案具有容错性、请求队列、应用程序状态监控、自动应用程序循环、高速缓存以及

參考文獻

相關文件

HyView Reader 目前僅接受 Microsoft Windows 作業系統之電腦,PDA 智慧 型手機(ex.IPhone) 及其他載具目前無法閱讀電子書,未來改版會陸續擴充 建 議:MAC 電腦使用者可利用

請檢視您的 USB 插孔,藍色為 USB3.0 介面,白色或黑色為 USB2.0 介 面,一般 USB3.0 是可以向下支援所有 USB2.0 的裝置,但也有少部

(B)使用 Windows XP 內建的 Windows Media Player 來播放影片檔案時,請問下列

利用 Microsoft Access 資料庫管理軟體,在 PC Windows 作業系 統環境下,將給與的紙本或電子檔(如 excel

利用 Microsoft Access 資料庫管理軟體,在 PC Windows 作業系統環境 下,將給與的紙本或電子檔(如 excel

後記:本來是不想再寫這篇了,因為今年 (2016),本市學校公文系統要放棄筆硯,轉用 Web 版 本了,從此跟 ActiveX

最後特別提出說明,本研究用戶端作業系統為 Win 2000 Professional,伺服 器端作業系統為 Windows 2000 Server 並啟動 Active Directory

使用 MapleTA 做作業,是本課程的主要學習活動之一。今年 4—6 月課程進 行期間,NCUx 學習平臺可以和 Windows 伺服機上面的 MapleTA,以 LTI 介面 進行串接。可是,我們在 9