第1页共17页 第1章操作系统概述 计算机系统由硬件和软件两部分组成。没有配置软件的计算机称为裸机。直接使用裸 机不仅不方便而且工作效率和机器利用率低下。操作系统就是为了建立用户与计算机之间的 接口而为裸机配置的一种系统软件 1.1内容辅导 1.1.1什么是操作系统 1.操作系统的定义 关于操作系统,至今尚无严格统一的定义。对操作系统的定义有各种说法,不同说法反映 了人们以不同角度所揭示的操作系统的本质特征。综合操作系统的功能及特点,给操作系统下 个较为全面的定义:操作系统是计算机系统中的最重要、最基本的系统软件。从资源管理的 观点来看,它是计算机系统中的资源管理器(程序);它负责对系统的硬、软件资源实施有效的 控制和管理,提高系统资源的利用率。从方便用户使用的观点看,操作系统是一台虚拟机;它是 计算机硬件的首次扩充,掩盖了硬件操作的细节,使用户或程序员与硬件细节隔离,从而方便 了用户的使用 2.操作系统在计算机系统中的地位 个计算机系统可以看成是由硬件和软件按层次结构组成的系统,自底向上各层是: 硬件层、操作系统层、语言处理程序层、应用程序层。 3.操作系统的目标 (1)方便性:操作系统使计算机系统更易于使用。 (2)有效性:操作系统使计算机资源的使用更有效,即使资源的利用率更高。 (3)可扩充性:操作系统必须能方便地开发、测试和引进新的系统功能,以适应计算机硬 件和体系结构的迅速发展以及应用不断扩大的要求。 (4)开放性:操作系统必须能提供统一开放的环境,以使其应用在不同的系统中具有可移 植性,并使不同的系统能够通过网络进行集成,从而能正确、有效地协同工作 4.操作系统的作用 (1)从一般用户的观点来看,操作系统是用户与计算机硬件系统之间的接口。用户并不直 接与计算机硬件打交道,而是通过操作系统提供的命令、系统功能调用以及图形化接口来使用 十算机 (2)从资源管理的观点来看,操作系统是计算机资源的管理者。处理机的分配和控制,内 存的分配和回收,I/0设备的分配和处理,文件的存取、共享和保护工作都是由操作系统完成 (3)从虚拟机的观点来看,操作系统是扩充裸机功能的软件。在裸机(即没配置任何软件 的计算机系统)上覆盖了操作系统后,裸机将变成一台功能更强大、使用更方便的虚拟机。 (4)从任务组织的观点来看,操作系统是计算机工作流程的组织者。它负责在众多作业间 切换处理机,并协调它们的推进速度,从而进一步提高系统的性能。 1.1.2多道程序设计技术的概念 1.多道程序设计 在单道程序处理系统时,内存中仅存放了一道程序,每当程序发出I/0请求时,CP便处于 等待I/0完成状态,致使CPU空闲。为了进一步改善CPU的利用率,引入了多道程序设计技术 多道程序设计技术是指同时把多个作业放入内存并允许它们交替执行,共享系统中的各
第 1 页 共 17 页 第 1 章 操作系统概述 计算机系统由硬件和软件两部分组成。没有配置软件的计算机称为裸机。直接使用裸 机不仅不方便而且工作效率和机器利用率低下。操作系统就是为了建立用户与计算机之间的 接口而为裸机配置的一种系统软件。 1.1 内容辅导 1.1.1 什么是操作系统 1.操作系统的定义 关于操作系统,至今尚无严格统一的定义。对操作系统的定义有各种说法,不同说法反映 了人们以不同角度所揭示的操作系统的本质特征。综合操作系统的功能及特点,给操作系统下 一个较为全面的定义:操作系统是计算机系统中的最重要、最基本的系统软件。从资源管理的 观点来看,它是计算机系统中的资源管理器(程序);它负责对系统的硬、软件资源实施有效的 控制和管理,提高系统资源的利用率。从方便用户使用的观点看,操作系统是一台虚拟机;它是 计算机硬件的首次扩充,掩盖了硬件操作的细节,使用户或程序员与硬件细节隔离,从而方便 了用户的使用。 2.操作系统在计算机系统中的地位 一个计算机系统可以看成是由硬件和软件按层次结构组成的系统,自底向上各层是: 硬件层、操作系统层、语言处理程序层、应用程序层。 3.操作系统的目标 (1)方便性:操作系统使计算机系统更易于使用。 (2)有效性:操作系统使计算机资源的使用更有效,即使资源的利用率更高。 (3)可扩充性:操作系统必须能方便地开发、测试和引进新的系统功能,以适应计算机硬 件和体系结构的迅速发展以及应用不断扩大的要求。 (4)开放性:操作系统必须能提供统一开放的环境,以使其应用在不同的系统中具有可移 植性,并使不同的系统能够通过网络进行集成,从而能正确、有效地协同工作。 4.操作系统的作用 (1)从一般用户的观点来看,操作系统是用户与计算机硬件系统之间的接口。用户并不直 接与计算机硬件打交道,而是通过操作系统提供的命令、系统功能调用以及图形化接口来使用 计算机。 (2)从资源管理的观点来看,操作系统是计算机资源的管理者。处理机的分配和控制,内 存的分配和回收,I/0 设备的分配和处理,文件的存取、共享和保护工作都是由操作系统完成 的。 (3)从虚拟机的观点来看,操作系统是扩充裸机功能的软件。在裸机(即没配置任何软件 的计算机系统)上覆盖了操作系统后,裸机将变成一台功能更强大、使用更方便的虚拟机。 (4)从任务组织的观点来看,操作系统是计算机工作流程的组织者。它负责在众多作业间 切换处理机,并协调它们的推进速度,从而进一步提高系统的性能。 1.1.2 多道程序设计技术的概念 1.多道程序设计 在单道程序处理系统时,内存中仅存放了一道程序,每当程序发出I/O请求时,CPU便处于 等待 I/O 完成状态,致使 CPU 空闲。为了进一步改善 CPU 的利用率,引入了多道程序设计技术。 多道程序设计技术是指同时把多个作业放入内存并允许它们交替执行,共享系统中的各
第2页共17页 类资源,当一道程序因某种原因(如I/0请求)而暂停执行时,CPU立即转去执行另一道程序 2.多道程序设计的特点 1)多道:是指主存中有两道或两道以上的作业,这些作业都处于它们的开始点和结束 点之间 (2)宏观上并行:从宏观上看,进入系统的多道程序都处于执行过程中,即它们先后开 始了各自的运行,但都未运行结束 (3)微观上串行:从微观上看,多道程序在轮流使用CPU交替执行;在单处理机系统中 任一时刻只能执行一道程序的一条指令 3.采用多道程序设计优点 在操作系统中引入多道程序设计技术后减少了CPU时间的浪费,增加了系统的吞吐量, 提高了系统效率。 4.多道程序设计的硬件支持 多道程序设计的硬件支持是:中断系统和通道技术。 (1)中断:中断指的是指对异步或例外事件的响应;这一响应自动地保存CPU状态以便 将来重新启动;自动转入规定的中断处理程序 (2)通道:通道又称I/0处理机,它能完成主存和外设之间的信息传输,并与中央处理机 并行操作。在具有通道结构的计算机系统中,主存、通道、控制器和设备之间采用四级连接, 实施三级控制 5.实现多道程序系统需要解决的问题 虽然多道程序设计技术能提高系统的吞吐量和有效地改善资源利用率,但实现多道程序 系统还需要妥善解决下述一系列问题: (1)在多道程序之间应如何分配被它们共享的处理机,使CP既能满足各程序运行的需 要,又能提高处理机的利用率,一旦将处理机分配给某程序后,应何时收回等问题 (2)如何为每道程序分配必要的内存空间,使它们各得其所又不会因相互重叠而丢失信 息,应如何防止因某道程序出现异常情况而破坏其他程序等问题。 (3)系统中可能有多种类型的I/0设备供多道程序共享,应如何分配这些I/0设备,如何 做到既方便用户对设备的使用,又能提高设备的利用率 (4)在现代计算机系统中,通常都存放着大量的程序和数据。应如何组织它们才能便于用 户使用并能保证数据的安全性和一致性 (5)对于系统中的各种应用程序,它们有的属于计算型,有的属于I/0型,有些作业既重要 又紧迫,有的作业又要求系统能及时响应,这时应如何组织。 为妥善解决上述问题,在多道程序系统中必须设置一组软件,此外,还应提供方便用户使 用计算机的软件,这样便形成了操作系统。 1.1.3操作系统的特征和功能 1.操作系统的特征 虽然不同操作系统具有各自的特点,但它们都具有以下4个基本特征 1)并发:并发性和并行性是既相似又有区别的两个概念。并行性是指两个或多个事件 在同一时刻发生:而并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下, 并发性是指宏观上在一段时间内有多道程序在同时运行。但在单处理机系统中,每一时刻仅能 执行一道程序,故微观上这些程序是在交替执行。程序的并发执行能有效改善系统资源的利用 率,但会使系统复杂化,因此,操作系统必须具有控制和管理各种并发事件的能力。 (2)共享:资源共享是指系统中的硬件和软件资源不再为某个程序所独占,而是供多个 用户共同使用
第 2 页 共 17 页 类资源,当一道程序因某种原因(如 I/O 请求)而暂停执行时,CPU 立即转去执行另一道程序。 2.多道程序设计的特点 (1)多道:是指主存中有两道或两道以上的作业,这些作业都处于它们的开始点和结束 点之间。 (2)宏观上并行:从宏观上看,进入系统的多道程序都处于执行过程中,即它们先后开 始了各自的运行,但都未运行结束。 (3)微观上串行:从微观上看,多道程序在轮流使用 CPU 交替执行;在单处理机系统中 任一时刻只能执行一道程序的一条指令。 3.采用多道程序设计优点 在操作系统中引入多道程序设计技术后减少了 CPU 时间的浪费,增加了系统的吞吐量, 提高了系统效率。 4.多道程序设计的硬件支持 多道程序设计的硬件支持是: 中断系统和通道技术。 (1)中断:中断指的是指对异步或例外事件的响应;这一响应自动地保存 CPU 状态以便 将来重新启动;自动转入规定的中断处理程序。 (2)通道:通道又称 I/O 处理机,它能完成主存和外设之间的信息传输,并与中央处理机 并行操作。在具有通道结构的计算机系统中,主存、通道、控制器和设备之间采用四级连接, 实施三级控制。 5.实现多道程序系统需要解决的问题 虽然多道程序设计技术能提高系统的吞吐量和有效地改善资源利用率,但实现多道程序 系统还需要妥善解决下述一系列问题: (1)在多道程序之间应如何分配被它们共享的处理机,使 CPU 既能满足各程序运行的需 要,又能提高处理机的利用率,一旦将处理机分配给某程序后,应何时收回等问题。 (2)如何为每道程序分配必要的内存空间,使它们各得其所又不会因相互重叠而丢失信 息,应如何防止因某道程序出现异常情况而破坏其他程序等问题。 (3)系统中可能有多种类型的 I/O 设备供多道程序共享,应如何分配这些 I/O 设备,如何 做到既方便用户对设备的使用,又能提高设备的利用率。 (4)在现代计算机系统中,通常都存放着大量的程序和数据。应如何组织它们才能便于用 户使用并能保证数据的安全性和一致性。 (5)对于系统中的各种应用程序,它们有的属于计算型,有的属于 I/0 型,有些作业既重要 又紧迫,有的作业又要求系统能及时响应,这时应如何组织。 为妥善解决上述问题,在多道程序系统中必须设置一组软件,此外,还应提供方便用户使 用计算机的软件,这样便形成了操作系统。 1.1.3 操作系统的特征和功能 1.操作系统的特征 虽然不同操作系统具有各自的特点,但它们都具有以下 4 个基本特征: (1)并发:并发性和并行性是既相似又有区别的两个概念。并行性是指两个或多个事件 在同一时刻发生:而并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下, 并发性是指宏观上在一段时间内有多道程序在同时运行。但在单处理机系统中,每一时刻仅能 执行一道程序,故微观上这些程序是在交替执行。程序的并发执行能有效改善系统资源的利用 率,但会使系统复杂化,因此,操作系统必须具有控制和管理各种并发事件的能力。 (2)共享:资源共享是指系统中的硬件和软件资源不再为某个程序所独占,而是供多个 用户共同使用
第3页共17页 并发和共享是操作系统的两个最基本的特征,二者之间互为存在条件。一方面,资源的共 享是以程序的并发执行为条件的,若系统不允许程序的并发执行,自然不存在资源共享问题 另一方面,若系统不能对资源共事实施有效的管理,也必将影响到程序的并发执行,甚至根本 无法并发执行。 (3)虚拟:在操作系统中,虚拟是指把一个物理上的实体变为若干个逻辑上的对应物,前 者是实际存在的,后者是虚的,只是用户的一种感觉。例如,在操作系统中引入多道程序设计技 术后,虽然只有一个CPU,每次只能执行一道程序,但通过分时使用,在一段时间间隔内,宏观 上这台处理机能同时运行多道程序。它给用户的感觉是每道程序都有一个CPU在为它服务。 亦即,多道程序设计技术可以把一个物理上的CPU虚拟为多个逻辑上的CPU。 (4)不确定性:在操作系统中,不确定性有两种含义。 ①程序执行结果是不确定的,即对同一程序,使用相同的输入、在相同的环境下运行却可 能获得完全不同的结果。亦即程序是不可再现的: ②多道程序环境下程序的执行是以异步方式进行的,换言之,每个程序在何时执行,多个 程序间的执行顺序以及完成每道程序所需的时间都是不确定的,因而也是不可预知的。 2.操作系统的功能 操作系统的功能概括地讲,主要是负责系统中软硬件资源的管理,调度对系统中各种资 源的使用。具体地讲,其主要功能包括 (10)处理机管理 处理机管理的主要任务是对处理机的分配和运行实施有效的管理。在多道程序环境下, 处理机的分配和运行又都是以进程为基本单位的,因此,对处理机的管理可归结为对进程的管 理。进程管理应实现下述主要功能 ①进程控制:负责进程的创建、撤消及状态转换 ②进程同步:对并发执行的进程进行协调。 ③进程通信:负责完成进程间的信息交换。 ④进程调度:按一定算法进行处理机分配 (2)存储器管理 存储器管理的主要任务是对内存进行分配、保护和扩充 ①内存分配:按一定的策略为每道程序分配内存。 ②内存保护:保证各程序在自己的内存区域内运行而不相互干扰 ③内存扩充:为允许大型作业或多作业的运行,必须借助虚拟存储技术来获得增加内存 的效果。 (3)设备管理 计算机外设的管理是操作系统中最庞杂、琐碎的部分。设备管理应具有下述功能: ①设备分配:根据一定的设备分配原则对设备进行分配。为了使设备与主机并行工作 常需采用缓冲技术和虚拟技术 ②设备传输控制:实现物理的输入/输出操作,即启动设备、中断处理、结束处理等。 ③设备独立性:即用户向系统申请的设备与实际操作的设备无关。 (4)信息管理 操作系统中负责信息管理的部分称为文件系统,其主要功能如下: ①文件存储空间的管理:负责对文件存储空间进行管理,包括存储空间的分配与回收等 功能。 ②目录管理:目录是为方便文件管理而设置的数据结构,它能提供按文件名存取的功 ③文件操作管理:实现文件的操作,负责完成数据的读写
第 3 页 共 17 页 并发和共享是操作系统的两个最基本的特征,二者之间互为存在条件。一方面,资源的共 享是以程序的并发执行为条件的,若系统不允许程序的并发执行,自然不存在资源共享问题: 另一方面,若系统不能对资源共事实施有效的管理,也必将影响到程序的并发执行,甚至根本 无法并发执行。 (3)虚拟:在操作系统中,虚拟是指把一个物理上的实体变为若干个逻辑上的对应物,前 者是实际存在的,后者是虚的,只是用户的一种感觉。例如,在操作系统中引入多道程序设计技 术后,虽然只有一个 CPU,每次只能执行一道程序,但通过分时使用,在一段时间间隔内,宏观 上这台处理机能同时运行多道程序。它给用户的感觉是每道程序都有一个 CPU 在为它服务。 亦即,多道程序设计技术可以把一个物理上的 CPU 虚拟为多个逻辑上的 CPU。 (4)不确定性:在操作系统中,不确定性有两种含义。 ① 程序执行结果是不确定的,即对同一程序,使用相同的输入、在相同的环境下运行却可 能获得完全不同的结果。亦即程序是不可再现的; ② 多道程序环境下程序的执行是以异步方式进行的,换言之,每个程序在何时执行,多个 程序间的执行顺序以及完成每道程序所需的时间都是不确定的,因而也是不可预知的。 2.操作系统的功能 操作系统的功能概括地讲,主要是负责系统中软硬件资源的管理,调度对系统中各种资 源的使用。具体地讲,其主要功能包括: (10)处理机管理 处理机管理的主要任务是对处理机的分配和运行实施有效的管理。在多道程序环境下, 处理机的分配和运行又都是以进程为基本单位的,因此,对处理机的管理可归结为对进程的管 理。进程管理应实现下述主要功能: ① 进程控制:负责进程的创建、撤消及状态转换。 ② 进程同步:对并发执行的进程进行协调。 ③ 进程通信:负责完成进程间的信息交换。 ④ 进程调度:按一定算法进行处理机分配。 (2)存储器管理 存储器管理的主要任务是对内存进行分配、保护和扩充。 ① 内存分配:按一定的策略为每道程序分配内存。 ② 内存保护:保证各程序在自己的内存区域内运行而不相互干扰。 ③ 内存扩充:为允许大型作业或多作业的运行,必须借助虚拟存储技术来获得增加内存 的效果。 (3)设备管理 计算机外设的管理是操作系统中最庞杂、琐碎的部分。设备管理应具有下述功能: ① 设备分配:根据一定的设备分配原则对设备进行分配。为了使设备与主机并行工作, 常需采用缓冲技术和虚拟技术。 ② 设备传输控制:实现物理的输入/输出操作,即启动设备、中断处理、结束处理等。 ③ 设备独立性:即用户向系统申请的设备与实际操作的设备无关。 (4)信息管理 操作系统中负责信息管理的部分称为文件系统,其主要功能如下: ① 文件存储空间的管理:负责对文件存储空间进行管理,包括存储空间的分配与回收等 功能。 ② 目录管理:目录是为方便文件管理而设置的数据结构,它能提供按文件名存取的功 能。 ③ 文件操作管理:实现文件的操作,负责完成数据的读写
第4页共17页 ④文件保护:提供文件保护功能,防止文件遭到破坏。 (5)用户接口 为方便用户使用操作系统,操作系统还提供了用户接口。通常,操作系统以两种方式提供 给用户使用。 ①命令接口:提供一组命令供用户直接或间接控制自己的作业,近年来出现的图形接口 是命令接口的图形化。 ②程序接口:提供一组系统调用供用户程序和其他系统程序调用 1.1.4操作系统的基本类型 1.操作系统有多种不同的分类方法 通常可按计算机的体系结构、运行环境、功能以及服务对象等对操作系统来分类。尽管 分类方法多样,但操作系统均属于下列操作系统之一或它们的组合。 (1)单用户操作系统。 (2)批处理系统 (3)分时系统 (4)实时系统 (5)网络操作系统。 (6)分布式操作系统 (7)并行操作系统 2.各类操作系统的主要特征 (1)单用户操作系统 其基本特征是在一台处理机上只能支持一个用户程序的运行,系统的全部资源都提供给 该用户使用。目前多数微机上运行的操作系统都属于单用户操作系统。例如MS-DS就是 个典型的单用户微机操作系统,它由三个模块和一个引导程序组成 (2)批处理系统 批处理技术是指在系统中配置一个监督程序,并在该监督程序的控制下,能够对一批作 业自动进行处理的一种技术。其基本特征是"批量”,它把系统的处理能力,即作业的吞吐量作 为主要目标,同时也兼顾作业的周转时间。在批处理系统中,从作业的提交到作业完成大体上 分为提交、后备、执行和完成四个阶段 ①单道批处理系统:早期采用批处理技术的系统,由于在内存中只能存放一道作业,因而 称为单道批处理系统。而其中的监督程序就是操作系统的雏形。 单道批处理系统的处理过程如下:首先,操作员将若干个待处理的作业合成一批输入并 传送到外存,然后将它们逐个送入内存并投入运行。具体处理是由批处理系统将其中的一个作 业调入内存并使之运行,只有一道作业处于运行状态。运行完成或出现错误而无法再进行下去 时,输出有关信息并调入下一个作业运行。如此反复处理,直至这一批作业全部处理完毕为止 通过脱机输入和作业的自动过渡,单道批处理系统提高了机器资源的利用率 单道批处理系统具有以下的特征 自动性:磁带上的一批作业能自动地、逐个地依次运行,无须人工干预 顺序性:作业完成的顺序与它们进入内存的顺序以及作业在磁带上的顺序一致 单道性:内存中仅能存放→道作业。 ②多道批处理系统 单道批处理操作系统大大减少了人工操作的时间,提高了机器的利用率。但是对于某些作 业来说,当它发出输入/输出请求后,CPU必须等待I/0的完成。这就意味着机器空闲,特别是 因为I/0设备的低速性,从而使机器的利用率很低。为了改善CPU的利用率,引入了多道程序
第 4 页 共 17 页 ④文件保护:提供文件保护功能,防止文件遭到破坏。 (5)用户接口 为方便用户使用操作系统,操作系统还提供了用户接口。通常,操作系统以两种方式提供 给用户使用。 ① 命令接口:提供一组命令供用户直接或间接控制自己的作业,近年来出现的图形接口 是命令接口的图形化。 ② 程序接口:提供一组系统调用供用户程序和其他系统程序调用。 1.1.4 操作系统的基本类型 1.操作系统有多种不同的分类方法 通常可按计算机的体系结构、运行环境、功能以及服务对象等对操作系统来分类。尽管 分类方法多样,但操作系统均属于下列操作系统之一或它们的组合。 (1)单用户操作系统。 (2)批处理系统。 (3)分时系统。 (4)实时系统。 (5)网络操作系统。 (6)分布式操作系统。 (7)并行操作系统。 2.各类操作系统的主要特征 (1)单用户操作系统 其基本特征是在一台处理机上只能支持一个用户程序的运行,系统的全部资源都提供给 该用户使用。目前多数微机上运行的操作系统都属于单用户操作系统。例如 MS –DOS 就是一 个典型的单用户微机操作系统,它由三个模块和一个引导程序组成。 (2)批处理系统 批处理技术是指在系统中配置一个监督程序,并在该监督程序的控制下,能够对一批作 业自动进行处理的一种技术。其基本特征是"批量",它把系统的处理能力,即作业的吞吐量作 为主要目标,同时也兼顾作业的周转时间。在批处理系统中,从作业的提交到作业完成大体上 分为提交、后备、执行和完成四个阶段。 ①单道批处理系统:早期采用批处理技术的系统,由于在内存中只能存放一道作业,因而 称为单道批处理系统。而其中的监督程序就是操作系统的雏形。 单道批处理系统的处理过程如下: 首先,操作员将若干个待处理的作业合成一批输入并 传送到外存,然后将它们逐个送入内存并投入运行。具体处理是由批处理系统将其中的一个作 业调入内存并使之运行,只有一道作业处于运行状态。运行完成或出现错误而无法再进行下去 时,输出有关信息并调入下一个作业运行。如此反复处理,直至这一批作业全部处理完毕为止。 通过脱机输入和作业的自动过渡,单道批处理系统提高了机器资源的利用率。 单道批处理系统具有以下的特征: ⚫ 自动性:磁带上的一批作业能自动地、逐个地依次运行,无须人工干预。 ⚫ 顺序性:作业完成的顺序与它们进入内存的顺序以及作业在磁带上的顺序一致。 ⚫ 单道性:内存中仅能存放→道作业。 ②多道批处理系统 单道批处理操作系统大大减少了人工操作的时间,提高了机器的利用率。但是对于某些作 业来说,当它发出输入/输出请求后,CPU 必须等待 I/O 的完成。这就意味着机器空闲,特别是 因为 I/0 设备的低速性,从而使机器的利用率很低。为了改善 CPU 的利用率,引入了多道程序
设计技术 在单道批处理操作系统中引入多道程序设计技术就形成了多道批处理操作系统。在多道 批处理操作系统中,不仅仅在主存中可同时有多道作业在运行,而且作业可随时(不一定集中 成批〉被调入系统,并存放在外存中形成作业队列。然后由操作系统按一定的原则从作业队列 中调入一个或多个作业进入主存运行。多道批处理操作系统一般用于计算中心的较大计算机 系统中。 多道批处理系统具有以下特征: 多道性:内存中可同时存放多个作业 ●调度性:需通过作业调度从外存中选取若干个作业装入内存,还需通过进程调度在 内存的多个作业中分配CPU。 无序性。通常,作业调度的次序与作业在外存中的次序无关,作业完成的次序与作 业进入内存的次序也无关。 多道程序设计技术和批处理技术的采用,使多道批处理系统具有资源利用率高和系统吞 吐量大的优点。但是,多道批处理系统将用户和计算机操作员分开,而且用户作业要排队,依次 进行处理,故又具有用户无法直接与自己的作业进行交互和作业的平均周转时间(指作业从进 入系统开始,直至作业完成并退出系统为止所经历的平均时间)较长的缺点 (3)分时系统 为了解决批处理系统无法进行人机交互的问题,并使多个用户(包括远程用户)能同时使 用昂贵的主机资源,又引入了分时系统 分时系统是指在一台主机上连接有多个带显示器和键盘的终端,同时允许多个用户通过 自己的终端以交互方式使用计算机,共享主机中的资源 分时系统的关键问题是使用户能与自己的作业进行交互,或者说,它追求的主要目标是系 统能及时响应用户的终端命令。为此,系统中采用了分时技术,即把处理机的时间划分成很短 的时间片(如几百毫秒),轮流地分配给各个终端作业使用。若在分配给它的时间片内,作业仍 没执行完,它也必须将CPU交给下一个作业使用,并等下一轮得到CPU时再继续执行。这样 系统便能及时地响应每个用户的请求,从而使每个用户都能及时地与自己的作业交互。 实现分时操作系统有下述几种方法 ①简单分时操作系统 在简单分时操作系统中,内存中只有一道程序作为现行作业,其他作业仍在外存上。为使 系统能及时响应用户请求,规定每个作业在运行一个时间片的时间后便暂停运行,由系统将它 调至外存(调出),再从外存上选一个作业装入内存(调进〉,作为下一个时间片的现行作业投入 运行。若在不太长的时间内能使所有的作业都运行一个时间片,即在指定时间内每个用户作业 都一定能运行,这就能使终端用户与自己的作业交互作用,从而保证每个用户请求都能获得及 时响应 ②具有”前台"和”后台"的分时操作系统 为了改善系统性能,引入了所谓″前台”和″后台″的概念。这里,把内存划分为″前台"和 后台″两部分。"前台"存放按时间片调出/调进的作业流,其工作方式同前:"后台”部分存放批 处理作业。仅当"前台”正在调进/调出或无调进/调出作业流时,才运行”后台"的批处理作业, 并给它分配更长的时间片。 ③基于多道程序设计的分时操作系统 为进一步改善系统性能,在分时操作系统中引入多道程序设计技术。在内存中可同时装 入多道程序,每道程序无固定位置,对小作业可多装入几道程序,对一些较大作业则少装入几 道程序。系统把所有具备运行条件的作业排成一个队列,使它们依次地获得一个时间片来运 行。当系统中除了有终端型用户作业外,还有批处理作业时,应赋予终端型作业较高的优先权
第 5 页 共 17 页 设计技术。 在单道批处理操作系统中引入多道程序设计技术就形成了多道批处理操作系统。在多道 批处理操作系统中,不仅仅在主存中可同时有多道作业在运行,而且作业可随时(不一定集中 成批〉被调入系统,并存放在外存中形成作业队列。然后由操作系统按一定的原则从作业队列 中调入一个或多个作业进入主存运行。多道批处理操作系统一般用于计算中心的较大计算机 系统中。 多道批处理系统具有以下特征: ⚫ 多道性:内存中可同时存放多个作业。 ⚫ 调度性:需通过作业调度从外存中选取若干个作业装入内存,还需通过进程调度在 内存的多个作业中分配 CPU。 ⚫ 无序性。通常,作业调度的次序与作业在外存中的次序无关,作业完成的次序与作 业进入内存的次序也无关。 多道程序设计技术和批处理技术的采用,使多道批处理系统具有资源利用率高和系统吞 吐量大的优点。但是,多道批处理系统将用户和计算机操作员分开,而且用户作业要排队,依次 进行处理,故又具有用户无法直接与自己的作业进行交互和作业的平均周转时间(指作业从进 入系统开始,直至作业完成并退出系统为止所经历的平均时间)较长的缺点。 (3)分时系统 为了解决批处理系统无法进行人机交互的问题,并使多个用户(包括远程用户)能同时使 用昂贵的主机资源,又引入了分时系统。 分时系统是指在一台主机上连接有多个带显示器和键盘的终端,同时允许多个用户通过 自己的终端以交互方式使用计算机,共享主机中的资源。 分时系统的关键问题是使用户能与自己的作业进行交互,或者说,它追求的主要目标是系 统能及时响应用户的终端命令。为此,系统中采用了分时技术,即把处理机的时间划分成很短 的时间片(如几百毫秒),轮流地分配给各个终端作业使用。若在分配给它的时间片内,作业仍 没执行完,它也必须将 CPU 交给下一个作业使用,并等下一轮得到 CPU 时再继续执行。这样, 系统便能及时地响应每个用户的请求,从而使每个用户都能及时地与自己的作业交互。 实现分时操作系统有下述几种方法: ①简单分时操作系统 在简单分时操作系统中,内存中只有一道程序作为现行作业,其他作业仍在外存上。为使 系统能及时响应用户请求,规定每个作业在运行一个时间片的时间后便暂停运行,由系统将它 调至外存(调出),再从外存上选一个作业装入内存(调进〉,作为下一个时间片的现行作业投入 运行。若在不太长的时间内能使所有的作业都运行一个时间片,即在指定时间内每个用户作业 都一定能运行,这就能使终端用户与自己的作业交互作用,从而保证每个用户请求都能获得及 时响应。 ②具有"前台"和"后台"的分时操作系统 为了改善系统性能,引入了所谓"前台"和"后台"的概念。这里,把内存划分为"前台"和" 后台"两部分。"前台"存放按时间片调出/调进的作业流,其工作方式同前:"后台"部分存放批 处理作业。仅当"前台"正在调进/调出或无调进/调出作业流时,才运行"后台"的批处理作业, 并给它分配更长的时间片。 ③基于多道程序设计的分时操作系统 为进一步改善系统性能,在分时操作系统中引入多道程序设计技术。在内存中可同时装 入多道程序,每道程序无固定位置,对小作业可多装入几道程序,对一些较大作业则少装入几 道程序。系统把所有具备运行条件的作业排成一个队列,使它们依次地获得一个时间片来运 行。当系统中除了有终端型用户作业外,还有批处理作业时,应赋予终端型作业较高的优先权
第6页共17页 并将它们排成一个高优先权队列:而将批处理作业另外排成一个队列。平时轮转运行高优先权 队列的作业,以保证终端用户的请求能获得及时响应,仅当该队列为空时,才运行批处理队列 中的作业。 分时系统具有以下特征 多路性:一台主机上连有多个终端,能同时为多个用户服务 独立性:各个用户像独占主机一般,独立工作,互不干扰 及时性:系统按人们所能接受的等待时间及时响应用户的请求 交互性:能进行广泛的人机交互。 (4)实时系统 实时系统是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件 的处理,并控制所有实时任务协调一致地运行,实时的含义是指计算机对于外来信息能够以足 够快的速度进行处理,并在被控制对象允许的时间范围内作出快速响应。实时操作系统可以 分成如下两类 ①实时控制系统 通常是指以计算机为中心的生产过程控制系统,又称为计算机控制系统。在这类系统中, 要求实时采集现场数据,并对它们进行及时处理,进而自动地控制相应的执行机构,使某参数 (如温度、压力、流量等)能按预定规律变化或保持不变,以达到保证产品质量、提高产量的目 ②实时信息处理系统 通常是指对信息进行实时处理的系统。这类系统要求及时接收从终端(包括远程终端) 发来的服务请求,按请求的内容对信息进行检索和处理,并在很短的时间内为用户做出正确的 回答。典型的实时信息处理系统有证券交易系统、飞机订票系统国情报检索系统等 实时系统与分时系统特征的比轼 ●多路性:实时信息处理系统与分时系统一样具有多路性,即系统能同时为多个终端 用户服务:而实时控制系统也具有多路性,它主要表现在:系统经常对多路的现场信 息进行采集,以及对多个对象或多个执行机构进行控制 独立性:实时信息处理系统与分时系统一样具有独立性,每个终端用户可独立地向 实时系统提出服务请求,彼此互不干扰;而实时控制系统对信息的采集和对象的控 制也能独立进行、彼此互不干扰,因此也具有独立性。 及时性:实时信息系统对及时性的要求与分时系统类似,都是以人所能接受的等待 时间来确定的;而实时控制系统的及时性通常高于分时系统,它是以控制对象所能 接受的等待时间来确定的,一般要求秒级、毫秒级甚至微秒级的响应时间 ●交互性:实时信息处理系统虽然也具有交互性,但其交互性通常不及分时系统,这里 人与系统的交互,仅限于访问系统中某些特定的专用服务程序。它不像分时系统那 样能向终端用户提供数据处理、资源共享等多方面的服务。 ●可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统高度可靠。因 为任何差错都可能带来巨大的经济损失,甚至无法预料的灾难性后果。因此,在实时 系统中,常采用多级容错措施来保障系统和数据的安全性 实时系统的主要特点是专用性强、种类多,而且用途各异。应用实时系统通常应考虑实 时时钟管理、连续人机对话、过载防护、高可靠性四个方面的问题 批处理操作系统、分时操作系统和实时操作系统是三种基本的操作系统类型。如果一个 操作系统兼有批处理、分时处理和实时处理系统三者或其中两者的功能,那就形成了通用操作 系统 (5)网络操作系统
第 6 页 共 17 页 并将它们排成一个高优先权队列:而将批处理作业另外排成一个队列。平时轮转运行高优先权 队列的作业,以保证终端用户的请求能获得及时响应,仅当该队列为空时,才运行批处理队列 中的作业。 分时系统具有以下特征: ⚫ 多路性:一台主机上连有多个终端,能同时为多个用户服务。 ⚫ 独立性:各个用户像独占主机一般,独立工作,互不干扰。 ⚫ 及时性:系统按人们所能接受的等待时间及时响应用户的请求。 ⚫ 交互性:能进行广泛的人机交互。 (4)实时系统 实时系统是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件 的处理,并控制所有实时任务协调一致地运行,实时的含义是指计算机对于外来信息能够以足 够快的速度进行处理,并在被控制对象允许的时间范围内作出快速响应。。实时操作系统可以 分成如下两类: ①实时控制系统 通常是指以计算机为中心的生产过程控制系统,又称为计算机控制系统。在这类系统中, 要求实时采集现场数据,并对它们进行及时处理,进而自动地控制相应的执行机构,使某参数 (如温度、压力、流量等)能按预定规律变化或保持不变,以达到保证产品质量、提高产量的目 的。 ②实时信息处理系统 通常是指对信息进行实时处理的系统。这类系统要求及时接收从终端(包括远程终端) 发来的服务请求,按请求的内容对信息进行检索和处理,并在很短的时间内为用户做出正确的 回答。典型的实时信息处理系统有证券交易系统、飞机订票系统国情报检索系统等。 实时系统与分时系统特征的比较: ⚫ 多路性:实时信息处理系统与分时系统一样具有多路性,即系统能同时为多个终端 用户服务:而实时控制系统也具有多路性,它主要表现在:系统经常对多路的现场信 息进行采集,以及对多个对象或多个执行机构进行控制。 ⚫ 独立性:实时信息处理系统与分时系统一样具有独立性,每个终端用户可独立地向 实时系统提出服务请求,彼此互不干扰;而实时控制系统对信息的采集和对象的控 制也能独立进行、彼此互不干扰,因此也具有独立性。 ⚫ 及时性:实时信息系统对及时性的要求与分时系统类似,都是以人所能接受的等待 时间来确定的;而实时控制系统的及时性通常高于分时系统,它是以控制对象所能 接受的等待时间来确定的, 一般要求秒级、毫秒级甚至微秒级的响应时间。 ⚫ 交互性:实时信息处理系统虽然也具有交互性,但其交互性通常不及分时系统,这里 人与系统的交互,仅限于访问系统中某些特定的专用服务程序。它不像分时系统那 样能向终端用户提供数据处理、资源共享等多方面的服务。 ⚫ 可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统高度可靠。因 为任何差错都可能带来巨大的经济损失,甚至无法预料的灾难性后果。因此,在实时 系统中,常采用多级容错措施来保障系统和数据的安全性。 实时系统的主要特点是专用性强、种类多,而且用途各异。应用实时系统通常应考虑实 时时钟管理、连续人机对话、过载防护、高可靠性四个方面的问题。 批处理操作系统、分时操作系统和实时操作系统是三种基本的操作系统类型。如果一个 操作系统兼有批处理、分时处理和实时处理系统三者或其中两者的功能,那就形成了通用操作 系统。 (5)网络操作系统
第7页共17页 网络操作系统就是计算机网络环境下具有网络功能的操作系统。 ①计算机网络就是一个数据通信系统,它把地理上分散的计算机和终端设备连接起来, 达到数据通信和资源共享的目的。 ②网络操作系统应具有通常操作系统具有的处理杋管理、存储管理、设备管理和文件管 理的功能,还应具有实现网络中各节点机之间的通信,实现网络中硬、软件资源共享,提供多种 网络服务软件,提供网络用户的应用程序接口等功能 (6)分布式操作系统 ①分布式计算机系统是由多台计算机组成的系统。在系统中,任意两台计算机之间可以利 用通信来交换信息,各台计算机之间无主次之分;系统中的资源为系统中的所有用户共享干台 计算机可以相互合作共同完成同一个任务 ②分布式系统的主要特点是各节点的自治性、资源共享的透明性、各节点的协同性、系 统的坚定性。 ③分布式操作系统的主要缺点是系统状态的不精确性、控制机构的复杂性以及通信开销 会引起性能的下降 (7)并行操作系统 多处理机系统是由多台处理器组成的计算机系统。多处理机系统可分成两大类:基于共 享存储的多处理机系统(也称为紧祸合多处理机系统)和基于分布存储的多处理机系统(也称 为松藕合多处理机系统〉。多处理机系统也称为并行计算机系统,所使用的操作系统称为并行 操作系统 1.1.5操作系统的结构设计 1.操作系统的内部结构 现代操作系统从内部结构来分析,通常包括内核和核外两部分。 (1)操作系统的内核 操作系统在整体上处于硬件与应用程序之间,其顶层是应用程序。操作系统的内核是对硬 件的首次扩充,是实现操作系统各项功能的基础。操作系统内核部分是指在系统保护好的运行 环境,所以它将一些与硬件密切相关的模块、运行频率较高的模块、关键性的数据结构以及公 共的基本操作模块等纳入内核,并使之常驻内存,以提高操作系统的效率。传统操作系统的内 核通常的功能模块有:进程、线程及其管理,存储管理,设备管理和文件系统。 操作系统的内核有两种组织形式 ①强内核:是基于传统的集中式操作系统的内核结构。其系统调用是通过陷入内核实现 的,在内核完成所需要的服务,最后返回结果给用户程序。 ②微内核:是一种新的结构组织形式。它体现了操作系统结构设计的新思想。微内核的设 计目标是使操作系统的内核尽可能小,使其它所有操作系统服务都放在核外用户级完成。微内 核几乎不做工作,仅仅提供四种服务:进程间通信机制、某些存储管理、有限的低级进程管理 和调度、低级I/0。微内核的优点是z灵活性好、开放性好和扩充性好。未来的发展趋势很 可能是微内核逐步占据统治地位,而强内核最终会消失或者演变成微内核系统。微内核技术与 客户服务器模式的结合是网络操作系统、分布式操作系统的新形式, Windows nt就是这种结 合的一个良好范例 (2)操作系统的核外 操作系统的核外(或外壳)为用户提供各种操作命令(UNIX把它们称为Shel命令)和程 序设计环境。核外由 Shell解释程序、支持程序设计的各种语言(如C、 PAscAL和 BASIC等) 编译程序和解释程序、实用程序和系统库等组成 2.操作系统结构的设计模式
第 7 页 共 17 页 网络操作系统就是计算机网络环境下具有网络功能的操作系统。 ①计算机网络就是一个数据通信系统,它把地理上分散的计算机和终端设备连接起来, 达到数据通信和资源共享的目的。 ②网络操作系统应具有通常操作系统具有的处理机管理、存储管理、设备管理和文件管 理的功能,还应具有实现网络中各节点机之间的通信,实现网络中硬、软件资源共享,提供多种 网络服务软件,提供网络用户的应用程序接口等功能。 (6)分布式操作系统 ①分布式计算机系统是由多台计算机组成的系统。在系统中,任意两台计算机之间可以利 用通信来交换信息,各台计算机之间无主次之分;系统中的资源为系统中的所有用户共享干台 计算机可以相互合作共同完成同一个任务。 ②分布式系统的主要特点是各节点的自治性、资源共享的透明性、各节点的协同性、系 统的坚定性。 ③分布式操作系统的主要缺点是系统状态的不精确性、控制机构的复杂性以及通信开销 会引起性能的下降。 (7)并行操作系统 多处理机系统是由多台处理器组成的计算机系统。多处理机系统可分成两大类:基于共 享存储的多处理机系统(也称为紧祸合多处理机系统)和基于分布存储的多处理机系统(也称 为松藕合多处理机系统〉。多处理机系统也称为并行计算机系统,所使用的操作系统称为并行 操作系统。 1.1.5 操作系统的结构设计 1.操作系统的内部结构 现代操作系统从内部结构来分析,通常包括内核和核外两部分。 (1)操作系统的内核 操作系统在整体上处于硬件与应用程序之间,其顶层是应用程序。操作系统的内核是对硬 件的首次扩充,是实现操作系统各项功能的基础。操作系统内核部分是指在系统保护好的运行 环境,所以它将一些与硬件密切相关的模块、运行频率较高的模块、关键性的数据结构以及公 共的基本操作模块等纳入内核,并使之常驻内存,以提高操作系统的效率。传统操作系统的内 核通常的功能模块有:进程、线程及其管理,存储管理,设备管理和文件系统。 操作系统的内核有两种组织形式: ①强内核:是基于传统的集中式操作系统的内核结构。其系统调用是通过陷入内核实现 的,在内核完成所需要的服务,最后返回结果给用户程序。 ②微内核:是一种新的结构组织形式。它体现了操作系统结构设计的新思想。微内核的设 计目标是使操作系统的内核尽可能小,使其它所有操作系统服务都放在核外用户级完成。微内 核几乎不做工作,仅仅提供四种服务:进程间通信机制、某些存储管理、有限的低级进程管理 和调度、低级 I/0。微内核的优点是 z 灵活性好、开放性好和扩充性好。未来的发展趋势很 可能是微内核逐步占据统治地位,而强内核最终会消失或者演变成微内核系统。微内核技术与 客户服务器模式的结合是网络操作系统、分布式操作系统的新形式,Windows NT 就是这种结 合的一个良好范例。 (2)操作系统的核外 操作系统的核外(或外壳)为用户提供各种操作命令(UNIX 把它们称为 Shell 命令)和程 序设计环境。核外由 Shell 解释程序、支持程序设计的各种语言(如 C、PAseAL 和 BASIC 等)、 编译程序和解释程序、实用程序和系统库等组成。 2.操作系统结构的设计模式
第8页共17页 操作系统是一个大型的系统软件,其内部的组织结构已经历了四代的变革 (1)整体式系统 该设计模式是把操作系统组织成一个过程(模块〉集合,任一个过程可以调用其它过程。 其优点是不强调信息的隐蔽,而且过程之间的调用不受任何约東。操作系统内部不存在任何结 构,因此也叫无结构操作系统。采用这种结构的操作系统不仅调试和维护不方便,而且其可读 性和可扩充性都较差 (2)模块化结构 模块化结构中采用了模块化程序设计技术,将操作系统按其功能划分成若干个具有一定 独立性和大小的模块,并规定好各模块间的接口,使得它们之间能够交互。对较大的模块还可 进一步细化为若干个子模块:采用这种结构可加速操作系统的研制过程。操作系统设计的正 确性高、可适应性好,但模块的划分和接口的规定较困难,而且模块间还存在着复杂的依赖关 系,使操作系统结构变得不够清晰。 (3)分层式结构 分层式结构是对模块化结构的一种改进,它将操作系统按其功能流图的调用次序以及其 他一些原则划分为若干个层次,每一层代码只能使用较低层代码提供的功能和服务,并采用自 底向上或自顶向下增添软件的方法来研制操作系统。由王它将模块之间的复杂依赖关系改为 单向依赖关系,并消除了某些循环依赖关系,因此能使操作系统结构变得非常淸晰,从而使系 统的调试和验证更方便,正确性更高。 (4)微内核结构 微内核的主要思想是,在操作系统内核中只留下一些最基本的功能,而将其他服务尽可 能地从内核中分离出去,用若干个运行在用户态下的进程(即服务器进程)来实现,形成所谓的 客户/服务器"模式。普通用户进程(即客户进程)可通过内核向服务器进程发送请求,以取得 操作系统的服务。采用微内核结构,不仅提高了系统的灵活性和可扩充性,还增加了系统的可 靠性。微内核结构的另一个优点是它比较适用于分布式系统 在现代OS的设计中,常常还融入面向对象的程序设计技术。它利用被封装的数据结构和 一组对数据结构进行操作的过程来表示系统中的某个资源,这样,可使资源的管理因一致而简 化。当前广泛使用的 Windows2000操作系统,就采用了微内核的结构,同时融入了面向对象的 程序设计技术 1.2重点与难点学习提示 本章的目的是建立起操作系统的基本概念。为此应对以下儿个重点、难点问题切实掌握 1.2.1操作系统的引入和发展 由于操作系统随着计算机技术和应用需求的不断发展,由简单变为复杂,由低级变为高级 故在"OS的引入和发展"部分,应对下述几个问题有较清晰的认识 (1)早期无操作系统的计算机系统中,存在着所谓的人机矛盾"和CPU-I/0设备速度不匹 配的矛盾"。它们对计算机资源的利用率有何严重的影响? (2)单道批处理系统中引入了哪些技术,它们是如何解决上述两对矛盾的? (3)单道批处理系统还存在哪些不足之处,而多道批处理系统又是通过哪些技术措施来解 决这些不足的? (4)多道批处理系统还有哪些地方不能满足用户的需求,或者说,是在什么样的需求推动力 的作用下,由批处理系统发展为分时系统的?实现分时系统的关键技术是什么? (5)上述几种系统还有哪些地方不能满足用户的需求,或者说,是在什么样的需求推动力的 作用下由分时系统发展为实时系统的?在学习时还应注意分析和比较分时系统与实时系统的 特征
第 8 页 共 17 页 操作系统是一个大型的系统软件,其内部的组织结构已经历了四代的变革。 (1)整体式系统 该设计模式是把操作系统组织成一个过程(模块〉集合,任一个过程可以调用其它过程。 其优点是不强调信息的隐蔽,而且过程之间的调用不受任何约束。操作系统内部不存在任何结 构,因此也叫无结构操作系统。采用这种结构的操作系统不仅调试和维护不方便,而且其可读 性和可扩充性都较差。 (2)模块化结构 模块化结构中采用了模块化程序设计技术,将操作系统按其功能划分成若干个具有一定 独立性和大小的模块,并规定好各模块间的接口,使得它们之间能够交互。对较大的模块还可 进一步细化为若干个子模块;采用这种结构可加速操作系统的研制过程。操作系统设计的正 确性高、可适应性好,但模块的划分和接口的规定较困难,而且模块间还存在着复杂的依赖关 系,使操作系统结构变得不够清晰。 (3)分层式结构 分层式结构是对模块化结构的一种改进,它将操作系统按其功能流图的调用次序以及其 他一些原则划分为若干个层次,每一层代码只能使用较低层代码提供的功能和服务,并采用自 底向上或自顶向下增添软件的方法来研制操作系统。由王它将模块之间的复杂依赖关系改为 单向依赖关系,并消除了某些循环依赖关系,因此能使操作系统结构变得非常清晰,从而使系 统的调试和验证更方便,正确性更高。 (4)微内核结构 微内核的主要思想是,在操作系统内核中只留下一些最基本的功能,而将其他服务尽可 能地从内核中分离出去,用若干个运行在用户态下的进程(即服务器进程)来实现,形成所谓的 "客户/服务器"模式。普通用户进程(即客户进程)可通过内核向服务器进程发送请求,以取得 操作系统的服务。采用微内核结构,不仅提高了系统的灵活性和可扩充性,还增加了系统的可 靠性。微内核结构的另一个优点是它比较适用于分布式系统。 在现代 OS 的设计中,常常还融入面向对象的程序设计技术。它利用被封装的数据结构和 一组对数据结构进行操作的过程来表示系统中的某个资源,这样,可使资源的管理因一致而简 化。当前广泛使用的 Windows 2000 操作系统,就采用了微内核的结构,同时融入了面向对象的 程序设计技术。 1.2 重点与难点学习提示 本章的目的是建立起操作系统的基本概念。为此应对以下儿个重点、难点问题切实掌握。 1.2.1 操作系统的引入和发展 由于操作系统随着计算机技术和应用需求的不断发展,由简单变为复杂,由低级变为高级, 故在"OS 的引入和发展"部分,应对下述几个问题有较清晰的认识: (1)早期无操作系统的计算机系统中,存在着所谓的人机矛盾"和"CPU—I/O 设备速度不匹 配的矛盾"。它们对计算机资源的利用率有何严重的影响? (2)单道批处理系统中引入了哪些技术,它们是如何解决上述两对矛盾的? (3)单道批处理系统还存在哪些不足之处,而多道批处理系统又是通过哪些技术措施来解 决这些不足的? (4)多道批处理系统还有哪些地方不能满足用户的需求,或者说,是在什么样的需求推动力 的作用下,由批处理系统发展为分时系统的?实现分时系统的关键技术是什么? (5)上述几种系统还有哪些地方不能满足用户的需求,或者说,是在什么样的需求推动力的 作用下由分时系统发展为实时系统的?在学习时还应注意分析和比较分时系统与实时系统的 特征
第9页共17页 1.2.2操作系统的基本特征和功能 在多道程序的环境下,操作系统具有四大特征和五太功能。应对下述四个方面的内容有较 深入的理解 (1)操作系统的特征:并发、共享、虚拟和不确定性四大特征,在学习时应对每种特征的 具体含义和形成原因有较清晰的认识 (2)操作系统四大特征之间的关系:这四大特征之中,最重要的是并发特征,其他三个特征 都是以并发为前提的。在学习时必须弄清楚并发和资源共享之间的关系,并理解它们是如何导 致虚拟和异步性特征的产生的 (3)操作系统的功能:处理机管理、存储器管理、设备管理、文件管理和提供友好的用户 接口等五大功能。在学习时应了解各个功能的主要任务,并必须深入了解处理机管理功能与操 作系统的并发和共享特征之间的关系 (4)操作系统五大功能的必要性:为了保证多道程序能有条不紊地、高效地运行,并能方 便用户对计算机系统的使用,操作系统必须具备上述五大功能。在学习时请思考:如果缺少了 其中的某个(些)功能(如处理机管理或内存管理功能),将会对系统的运行产生什么样的影响 1.2.3分层式结构和微肉核结构 在操作系统结构中,应对下述内容有较深刻的了解 (1)分层式结构:该结构是指将0S按某些原则分为若干个层次,并规定了层次间的单向调 用关系。在学习时应对分层结构是为了解决什么样的问题,它又是如何解决该问题的等内容有 较深入的了解 (2)分层的原则:在学习时应知道一个操作系统应设置哪些层次的主要依据,并清楚通常 应把哪些功能放在最低各层,哪些功能放在最高层 (3)客户/服务器技术:该技术是把操作系统分为两个部分:一部分是用于提供各种服务的 服务器,另一部分是用于实现操作系统最基本功能(含通信功能)的内核。在学习时必须清楚, 为什么要将操作系统一分为二,由此会带来什么好处 (4)面向对象技术:该技术是基于″抽象”″和″隐蔽″原则来控制操作系统的复杂度的。它利 用封装的数据结构和一组对它进行操作的过程,来表示系统中的某个对象,以达到隐蔽系统内 部数据结构和操作的实现细节的目的。在学习时应了解什么是对象、面向对象技术会给操作 系统带来什么好处。 (5)微内核结构:它是指将客户/服务器技术、面向对象技术用于基于微内核技术的操作 系统中所形成的操作系统结构。在学习时应对该结构用于解决什么样的问题、又是如何解决 该问题的,以及该结构有何优点有较深刻的了解, 1.3典型例题分析 1.叙述操作系统在计算机系统中的位置 答:操作系统是运行在计算机硬件系统上的最基本的系统软件。它控制和管理着所有的系 统硬件(C門U、主存、各种硬件部件和外部设备等〉,也控制和管理着所有的系统软件(系统程 序和用户进程等〉,操作系统对计算机使用者提供了一种良好的操作环境,也为其他各种应用 系统提供了最基本的支撑环境 现代操作系统是一个复杂的软件系统,它与计算机硬件系统有千丝万缕的联系,也与用户 有着密不可分的关系,它在计算机系统中位于计算机裸机和计算机用户之间。如图1.1所示, 紧挨着硬件的就是操作系统,它通过系统核心程序对计算机系统中的几类资源进行管理,如处 理机、存储器、输入/输出设备、数据与文档资源、用户作业等,并向用户提供若干服务,通过 这些服务将所有对硬件的复杂操作隐藏起来,为用户提供一个透明的操作环境 在操作系统的外层是其他系统软件。操作系统是最基本的系统软件。用户可以直接通过
第 9 页 共 17 页 1.2.2 操作系统的基本特征和功能 在多道程序的环境下,操作系统具有四大特征和五太功能。应对下述四个方面的内容有较 深入的理解: (1)操作系统的特征:并发、共享、虚拟和不确定性四大特征,在学习时应对每种特征的 具体含义和形成原因有较清晰的认识。 (2)操作系统四大特征之间的关系:这四大特征之中,最重要的是并发特征,其他三个特征 都是以并发为前提的。在学习时必须弄清楚并发和资源共享之间的关系,并理解它们是如何导 致虚拟和异步性特征的产生的。 (3)操作系统的功能:处理机管理、存储器管理、设备管理、文件管理和提供友好的用户 接口等五大功能。在学习时应了解各个功能的主要任务,并必须深入了解处理机管理功能与操 作系统的并发和共享特征之间的关系。 (4)操作系统五大功能的必要性:为了保证多道程序能有条不紊地、高效地运行,并能方 便用户对计算机系统的使用,操作系统必须具备上述五大功能。在学习时请思考:如果缺少了 其中的某个(些)功能(如处理机管理或内存管理功能),将会对系统的运行产生什么样的影响。 1.2.3 分层式结构和微肉核结构 在操作系统结构中,应对下述内容有较深刻的了解: (1)分层式结构:该结构是指将 OS 按某些原则分为若干个层次,并规定了层次间的单向调 用关系。在学习时应对分层结构是为了解决什么样的问题,它又是如何解决该问题的等内容有 较深入的了解。 (2)分层的原则:在学习时应知道一个操作系统应设置哪些层次的主要依据,并清楚通常 应把哪些功能放在最低各层,哪些功能放在最高层。 (3)客户/服务器技术:该技术是把操作系统分为两个部分:一部分是用于提供各种服务的 服务器,另一部分是用于实现操作系统最基本功能(含通信功能)的内核。在学习时必须清楚, 为什么要将操作系统一分为二,由此会带来什么好处。 (4)面向对象技术:该技术是基于"抽象"和"隐蔽"原则来控制操作系统的复杂度的。它利 用封装的数据结构和一组对它进行操作的过程,来表示系统中的某个对象,以达到隐蔽系统内 部数据结构和操作的实现细节的目的。在学习时应了解什么是对象、面向对象技术会给操作 系统带来什么好处。 (5)微内核结构:它是指将客户/服务器技术、面向对象技术用于基于微内核技术的操作 系统中所形成的操作系统结构。在学习时应对该结构用于解决什么样的问题、又是如何解决 该问题的,以及该结构有何优点有较深刻的了解。 1.3 典型例题分析 1.叙述操作系统在计算机系统中的位置。 答:操作系统是运行在计算机硬件系统上的最基本的系统软件。它控制和管理着所有的系 统硬件〈CPU、主存、各种硬件部件和外部设备等〉,也控制和管理着所有的系统软件(系统程 序和用户进程等〉,操作系统对计算机使用者提供了一种良好的操作环境,也为其他各种应用 系统提供了最基本的支撑环境。 现代操作系统是一个复杂的软件系统,它与计算机硬件系统有千丝万缕的联系,也与用户 有着密不可分的关系,它在计算机系统中位于计算机裸机和计算机用户之间。如图 1.1 所示, 紧挨着硬件的就是操作系统,它通过系统核心程序对计算机系统中的几类资源进行管理,如处 理机、存储器、输入/输出设备、数据与文档资源、用户作业等,并向用户提供若干服务,通过 这些服务将所有对硬件的复杂操作隐藏起来,为用户提供一个透明的操作环境。 在操作系统的外层是其他系统软件。操作系统是最基本的系统软件。用户可以直接通过
第10页共17页 系统软件层与计算机打交道,也可以建立各类应用软件和应用系统,通过它们来解决用户的问 题 由此可见,操作系统是介于计算机硬件和用户之间的一个接口 2.推动批处理系统和分时系统形成和发展的主要动力是什么? 答:(1)推动批处理系统形成和发展的主要动力是"不断提高系统资源利用率”和"提高系 统吞吐量″。主要表现在:脱机输入/输出技术的应用和作业的自动过渡大大地提高了I/0的速 度及I/0设备与CPU并行工作的程度,减少了CPU的空闲时间;多道程序设计技术的应用更进 步提高了CPU、内存和I/0设备的利用率和系统的吞吐量。 (2)推动分时系统形成和发展的主要动力是"为了更好地满足用户的需要"。主要表现 在:CPU的分时使用缩短了作业的平均周转时间;人机交互能力的提供使用户能方便地直接控 制自己的作业;主机的共享使多个用户(包括远程用户)能同时使用同一台计算机独立地、互不 干扰地处理自己的作业 3.怎样理解"由于计算机上装有操作系统,从而扩展了原计算机的功能 答:计算机系统的硬件结构和机器一级的操作包含了诸如指令集、存储器组织、总线结构 和输入/输出部件等的操作与控制,这些最基本的操作恰恰又是最复杂和最难以由用户直接进 行的操作。例如z用户要进行文件读写,而文件是以二进制代码的方式存放在磁盘、磁带等存 储装置中,需要有一种途径把用户的要求转换成对具体的硬件部件、电路信号、选择开关等的 细微操作,用户自己不可能完成这些操作,但操作系统把用户的高级操作转换成一系列的低级 操作,最终完成文件的读写。所有的低级操作对用户来讲都是透明的,即无需用户关心的、看 不见的,操作系统把硬件全部隐藏起来,给用户提供了一个友好的、易于操作的界面。此外, 操作系统还要进行大量的系统事务处理。如响应中断的发生、处理定时操作、管理存储器及 其他低级操作。所以,可以说操作系统是硬件系统的扩展,从而扩展了原计算机的功能,它比直 接对计算机硬件系统进行操作要容易得多 4.试从交互性、及时性以及可靠性三个方面:比较分时系统与实时系统 答:(1)从交互性方面来考虑:交互性问题是分时系统的一个关键问题,在分时系统中,用 户可以通过终端与系统进行广泛的人机交互,如文件编辑、数据处理和资源共享。实时系统也 具有交互性,但在实时系统中仅限于访问系统中某些特定的专用服务程序,也就是说它的交互 性具有很大的局限性 (2)从及时性方面来考虑:分时系统的及时性是指用户能在很短的时间内获得系统的响 应,此时间间隔是由人们能接受的等待时间决定的,一般为2-3s。对实时系统来说,及时性是 它的关键问题之一,实时信息系统的及时性要求与分时系统相似,而实时控制系统的及时性要 求则是由被控制对象所要求的开始截止时间和完成截止时间决定的,一般要求秒级、毫秒级 甚至微秒级的响应时间。 (3)从可靠性方面来看:可靠性是实时系统的另一个关键问题,实时系统中的任何差错都 可能带来巨大的经济损失,甚至无法预料的灾难性后果,所以实时系统往往采取多级容错措施 来保证系统的高度可靠。分时系统虽然也要求可靠,但比实时系统的要求要低。 其他进程的制约,不再"一气呵成”,这必然导致不确定性特征的产生。 5.试比较分层式结构与模块式结构的异同 答:分层式结构与模块式结构一样具有模块化的特征。分层式结构也要将复杂的操作系统 按其功能分成若干个比较简单、相对独立的模块。为了使模块之间能够交互,它也必须规定模 块之间的接口。因此,分层式结构具有模块式结构的优点。 分层式结构与模块式结构的主要区别在于,分层式结构中各模块之间是有序的。分层式结 构将各个功能模块按它们的功能流图的调用次序安排成若干层,各层之间的模块不能像模块 式结构那样通过接口毫无规则地相互依赖、互相调用,而只能是单向依赖或单向调用,即每层
第 10 页 共 17 页 系统软件层与计算机打交道,也可以建立各类应用软件和应用系统,通过它们来解决用户的问 题。 由此可见,操作系统是介于计算机硬件和用户之间的一个接口。 2.推动批处理系统和分时系统形成和发展的主要动力是什么? 答:(1)推动批处理系统形成和发展的主要动力是"不断提高系统资源利用率"和"提高系 统吞吐量"。主要表现在:脱机输入/输出技术的应用和作业的自动过渡大大地提高了 I/0 的速 度及 I/O 设备与 CPU 并行工作的程度,减少了 CPU 的空闲时间;多道程序设计技术的应用更进 一步提高了 CPU、内存和 I/O 设备的利用率和系统的吞吐量。 (2)推动分时系统形成和发展的主要动力是"为了更好地满足用户的需要"。主要表现 在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力的提供使用户能方便地直接控 制自己的作业;主机的共享使多个用户(包括远程用户)能同时使用同一台计算机独立地、互不 干扰地处理自己的作业。 3.怎样理解"由于计算机上装有操作系统,从而扩展了原计算机的功能"。 答:计算机系统的硬件结构和机器一级的操作包含了诸如指令集、存储器组织、总线结构 和输入/输出部件等的操作与控制,这些最基本的操作恰恰又是最复杂和最难以由用户直接进 行的操作。例如 z 用户要进行文件读写,而文件是以二进制代码的方式存放在磁盘、磁带等存 储装置中,需要有一种途径把用户的要求转换成对具体的硬件部件、电路信号、选择开关等的 细微操作,用户自己不可能完成这些操作,但操作系统把用户的高级操作转换成一系列的低级 操作,最终完成文件的读写。所有的低级操作对用户来讲都是透明的,即无需用户关心的、看 不见的,操作系统把硬件全部隐藏起来,给用户提供了一个友好的、易于操作的界面。此外, 操作系统还要进行大量的系统事务处理。如响应中断的发生、处理定时操作、管理存储器及 其他低级操作。所以,可以说操作系统是硬件系统的扩展,从而扩展了原计算机的功能,它比直 接对计算机硬件系统进行操作要容易得多。 4.试从交互性、及时性以及可靠性三个方面:比较分时系统与实时系统。 答:(1)从交互性方面来考虑:交互性问题是分时系统的一个关键问题,在分时系统中,用 户可以通过终端与系统进行广泛的人机交互,如文件编辑、数据处理和资源共享。实时系统也 具有交互性,但在实时系统中仅限于访问系统中某些特定的专用服务程序,也就是说它的交互 性具有很大的局限性。 (2)从及时性方面来考虑:分时系统的及时性是指用户能在很短的时间内获得系统的响 应,此时间间隔是由人们能接受的等待时间决定的,一般为 2—3s。对实时系统来说,及时性是 它的关键问题之一,实时信息系统的及时性要求与分时系统相似,而实时控制系统的及时性要 求则是由被控制对象所要求的开始截止时间和完成截止时间决定的, 一般要求秒级、毫秒级 甚至微秒级的响应时间。 (3)从可靠性方面来看:可靠性是实时系统的另一个关键问题,实时系统中的任何差错都 可能带来巨大的经济损失,甚至无法预料的灾难性后果,所以实时系统往往采取多级容错措施 来保证系统的高度可靠。分时系统虽然也要求可靠,但比实时系统的要求要低。 其他进程的制约,不再"一气呵成",这必然导致不确定性特征的产生。 5.试比较分层式结构与模块式结构的异同。 答:分层式结构与模块式结构一样具有模块化的特征。分层式结构也要将复杂的操作系统 按其功能分成若干个比较简单、相对独立的模块。为了使模块之间能够交互,它也必须规定模 块之间的接口。因此,分层式结构具有模块式结构的优点。 分层式结构与模块式结构的主要区别在于,分层式结构中各模块之间是有序的。分层式结 构将各个功能模块按它们的功能流图的调用次序安排成若干层,各层之间的模块不能像模块 式结构那样通过接口毫无规则地相互依赖、互相调用,而只能是单向依赖或单向调用,即每层