1、 操作系统基础 习题解析及实验指导 第一篇 第一章 操作系统引论 第 1 页 共 102 页 第一篇 操作系统基础知识点及习题解答 该部分罗列操作系统基础各章节的学习要点,指出学习的重点和难点,在回顾相关知识点的基础上,对典型习题进行分析和解答。 第一章 操作系统引论 本章学习要点 【 1】掌握操作系统的概念与作用 【 2】掌握操作系统的基本类型与特点 【 3】掌握操作系统的特征与功能 【 4】深入领会多道程序设计技术 本章学习难点 【 1】多道程序设计技术 【 2】操作系统的特征 知识点回顾 一 . 操作系统的概念 一个完整的计算机系统由计算机硬件系统和计算机软件系统两部分组 成。操作系统是
2、配置在计算机硬件上的第一层软件,是对硬件系统功能的第一次扩充。 图 1-1 计算机系统的层次图 1. 操作系统( Operating System,简称 OS)的作用 ( 1) OS 作为用户与计算机硬件系统之间的接口 OS 处于用户与计算机硬件系统之间,用户通过 OS 来使用计算机系统。或者说,用户在 OS的帮助下能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。 ( 2) OS 作为计算机系统资源的管理者 这是 广为流行的一个关于 OS 作用的观点 。 在一个计算机系统中,通常都包含了各种各样的硬件和软件资源。归纳 起来可将资源分为四类:处理器、存储器、 I O 设备以及信息 (
3、数据和程序 )。 OS 的主要功能正是针对这四类资源进行有效的管理。 ( 3) OS 用作扩充机器 对于一台完全 没有 软件 配置 的计算机系统 (裸机 ),即使功能再强,也必定难于使用。 OS 在应用程序 实用程序 操作系统 计算机硬件(裸机) 用户 第一篇 第一章 操作系统引论 第 2 页 共 102 页 裸机上 分别 覆盖 I O 设备管理软件 、 文件管理软件 等, 此时用户所看到的机器,将是一台比裸机功能更强、使用更方便的机器。通常把覆盖了软件的机器称为扩充机器或虚机器。 在计算机系统上覆盖上一层软件后,系统功能便增强一级。由于 OS 自身包含了若干层软件,因此当在裸机上覆盖上 OS
4、 后,便可获得一台功能显著 增强,使用极为方便的多层扩充机器或多层虚机器。 2. 操作系统的概念 操作系统是一组控制和管理计算机硬件和软件资源、合理组织计算机的工作流程,方便用户使用的程序的集合。 操作系统是裸机上的第一层软件,是对硬件功能的首次扩充。 二 . 操作系统的发展过程 人工操作方式脱机输入输出技术批处理技术分时、实时系统通用操作系统微机操作系统网络操作系统分布式操作系统 1. 脱机输入输出技术 为解决人工操作阶段存在的人机矛盾以及 CPU 与 I/O 速度不匹配的矛盾,引入脱机输入输出技术。系统中除主机外配置一台外围机(又称卫星机 ),它只与输入输出设备打交道,不与主机相连,即脱机
5、。用户程序与数据可以在外围机控制下(脱离主机控制)预先从低速设备输入到磁带上, CPU 需要时再从磁带上输入到主机,即脱机输入技术,以解决 CPU 与 I/O 速度不匹配的矛盾。类似地,脱机输出技术通过外围机完成数据从主机到磁带,再到低速输出设备上的输出操作。由于主机 CPU 只与高速的输入输出设备打交道,从而有效地减少了 CPU 等待低速设备输入输出的时间。 图 1-2 脱机输入 /输出方式 2. 批处理技术 批处理技术是指计算机对一批作业自动进行处理的一种技术。 早期的计算机系统为了充分利用系统资源,通常把一批作业以脱机输入方式输入到磁带上,并在系统中配置监督程序,依次将作业装入内存,控制
6、磁带上的作业自动地、一个接一个地进行处理,这样就形成了早期的单道批处理系统。 3. 多道程序设计技术 为进一步改进单道批处理系统中 CPU 和内存利用率较低的问题,引进多道程序设计技术。多道程序设计技术同时将多个作业放入内存并允许作业交替执行,共享系统中的资源。宏观上纸带机 打印机机 外围机 输入带 输出带 主机 输入带 输出带 第一篇 第一章 操作系统引论 第 3 页 共 102 页 并行,微观上串行。 多道程序设计技术能有效提高系统的吞吐量和改善资源利用率,但是为了协调内存中运行的多道程序,应妥善解决处 理机分配、内存分配、设备分配、文件安全、作业组织的问题。为解决上述问题而设置的一组软件
7、就形成了操作系统。 图 1-3 多道程序运行情况 三 . 操作系统的分类 1. 单用户操作系统 2. 批处理操作系统 ( 1) 单道批处理系统 把一批作业以脱机方式输入到磁带上,在系统中配上监督程序,在它的控制下使这批作业能自动地一个接一个地顺序处理。对作业的处理是成批进行的、且内存中始终只保持一道作业。 ( 2) 多道批处理系统 引入多道批处理的目的 a) 提高 CPU 的利用率 b) 提高内存和 I/O 设备的利用率 c) 增加系统吞吐量 多道批处理的 特征 多道性、无序性、调度性 多道批处理的优缺点 资源利用率高,系统吞吐量大,但平均周转时间长,无交互能力。 3. 分时操作系统 在分时操
8、作系统中,一台计算机和多台终端相连,每个用户通过自己的终端向系统发出命令请求,系统分析并完成各用户的请求。 ( 1) 单道分时系统 内存中只驻留一道作业,当其运行一个时间片后,调至外存,再从外存上选一个作业进入程序 A 输入设备 输出设备 CPU 程序 B 程序 A 程序 B 程序 A 程序 B 运行处理 输入数据 运行处理 输出数据 运行处理 输出数据 等待 CPU 运行处理 第一篇 第一章 操作系统引论 第 4 页 共 102 页 内存。作业频繁调进调出,开销大,系统性能较差。 ( 2) 具有“前台”和“后台”的分时系统 内存被固定地划分为“前台区”和“后台区”。前台区存放按时间片“调进”
9、和“调出”的作业流,后台区 存放批处理作业。仅当前台无作业运行时,方才运行后台的作业。 ( 3) 多道分时系统 内存中的多道作业轮流获得一个时间片来运行。 分时系统的特征具有多路性、独立性、及时性和交互性等特征。 4. 实时操作系统 能使计算机系统接收到外部信号后及时进行处理,并且在严格的规定时间内处理结束,再给出反馈信号的操作系统。实时操作系统分为实时控制系统和实时信息处理系统。例如生产过程控制系统、航空订票系统等。实时系统具有多路性、独立性、及时性、交互性和可靠性等特征。 实时控制系统是以计算机为中心的生产过程控制系统,又称为计算机控制系统,要 求快速的响应时间,可靠性要求高。实时信息处理
10、系统在响应时间上和分时系统处于同一级别,但更强调可靠性和安全性,交互性差。 批处理操作系统、分时操作系统、实时操作系统是三种基本的操作系统类型。如果一个操作系统兼有三者或其中二者的功能,则该操作系统称为通用操作系统。 5. 其它操作系统 包括网络操作系统、分布式操作系统等。 四 . 操作系统特征 并发、共享、虚拟、异步性 1. 并发 并发是指两个或多个事件在同一时间间隔内发生。宏观上是同时的,微观上是交替的。程序的并发执行能有效改善系统资源的利用率,但会使系统复杂化。要注意区别 并发和并行两个概念。 2. 共享 系统中的资源可供内存中多个并发执行的进程共同使用。根据资源的不同属性,可分为两种资
11、源共享方式:互斥共享和同时访问。 并发和共享是操作系统的两个最基本的特征,两者之间互为存在的条件。一方面,资源的共享是以程序的并发执行为前提的;另一方面,系统若不能对资源共享实施有效管理,则程序的并发执行则无法实现。 3. 虚拟 通过某种技术把一个物理实体变成若干个逻辑上的对应物,物理实体是实的,即实际存在,而后者是虚的,是用户的感觉。例如虚拟内存、虚拟设备等。 4. 异步性 在多道程序环境下,多个进程并 发执行,但由于资源等因素的限制,内存中的每个进程何第一篇 第一章 操作系统引论 第 5 页 共 102 页 时执行,何时暂停,以怎样的速度向前推进,每道程序需多少时间才能完成,都是不可预知的
12、,进程以异步的方式运行。但只要运行环境相同,作业经过多次运行,都会获得完全相同的结果。 五 . 操作系统的功能 操作系统引入多道程序设计技术,一方面改善了系统资源的利用率,但另一方面也引发了复杂的系统管理问题,诸如内存中的作业如何存储,系统资源如何共享等,操作系统必须具有控制和管理各种并发活动的能力,合理组织计算机的工作流程,有效地提高各类资源的利用率。 1. 处理机管理 主要任务是对处理 机进行分配,并对其进行有效的控制和管理。在多道程序环境下,处理机的分配和运行是以进程为基本单位,又称进程管理。 ( 1) 进程控制 为作业创建进程,撤消已结束的进程,以及控制进程的状态转换。 ( 2) 进程
13、同步 对诸进程的运行进行协调(互斥和同步)。 ( 3) 进程通信 实现相互合作进程之间的信息交换。 ( 4) 进程调度 从就绪队列中,按照一定的算法选出一新进程,分配处理机,设置运行现场,使之投入运行。 2. 存储器管理 存储器管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率,以及从逻辑上来扩充内存。 ( 1) 内存分配 为每道程序分配内存空间,提高内存的利用率。 ( 2) 内存保护 确保每道用户作业都在自己的内存空间中运行,互不干扰。 ( 3) 地址映射 将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。 ( 4) 内存扩充 借助虚拟技术,从逻辑
14、上扩充内存容量。 3. 设备管理 主要任务是完成用户提出的 I/O 请求,为用户分配 I/O 设备;提高 CPU 和 I/O 设备的利用率;提高 I/O 速度;以及方便用户使用 I/O 设备。 ( 1) 缓冲管理 管理各种类型的缓冲区。 ( 2) 设备分配 根据用户的 I/O 请求,分配所需设备。 ( 3) 设备处理 实现 CPU 和设备控制器之间的通信。 ( 4) 设备独立性和虚拟设备 4. 文件管理 程序和数据都是以文件的形式存储在存储介质上。文件管理的主要任务是对用户文件和系统文件进行管理,方便用户使用,保证文件的安全性。 ( 1) 文件存储空间的管理 ( 2) 目录管理 建立目录项,实
15、现按名存取、实现文件共享。 ( 3) 文件的读、写管理和存取控制 ( 4) 文件保护 5. 作业管理 第一篇 第一章 操作系统引论 第 6 页 共 102 页 ( 1) 操作系统接口 ( 2) 作业的控制方式 六 . 操作系统的结构 模块接口法、有序分层法 1. 模块接口法 按功能划分模块,模块间可以不加控制的相互调用和转移。这种结构紧凑、接口简单直接,系统效率高;但模块间的调用随便,独 立性差,系统结构不清晰。 2. 有序分层法 A0, A1 Ai, Ai+1 An A0宿主系统(底), An 是目标系统(顶)。既可采用自底向上法,逐步扩充,也可采用自顶向下法,逐层分解。 ( 1) 单向依赖
16、 ( 2) 同一层中各模块的功能应相近 ( 3) 与硬件紧密相关的模块安排在 A0层,便于移植 ( 4) 运行频率较高的公用模块应放置在较低的层次 ( 5) 由于设计目标不同而变化的部分放在外层,增强系统的适应性 习题分析 一 . 判断改错题(判断由下划线标明的关键词的叙述是否正确,正确的打,错误的打并改正。) ( 1) 实时系统 只能应用于生产控制系统,不能应用于信息处理 系统。( ) ( 2) 并发含有“同时进行”的 概念 ,是指两个或者是多个事件在同一时刻发生。( ) ( 3) 操作系统虚拟机在 逻辑功能 上与裸机一样,具有一个物理实体。( ) ( 4) 对用户而言, 操作系统 是一种人
17、机交互的环境,对设计者而言,它是一种强功能的系统资源管理程序。( ) ( 5) 资源的共享是以程序的并行执行为 条件 的,没有程序的并行执行,就没有资源的共享。( ) ( 6) 计算机系统的 资源 包括程序和数据两大部分。( ) ( 7) 若把计算机系统分为 若干层次 ,则按由上而下顺序可分为应用系统与应用软件、操作系统、其它系统软 件和裸机。( ) ( 8) 批处理控制程序 解决了作业间的自动转换,减少了时间浪费,尤其是主机 CPU 时间的浪费,如果一个用户的计算作业非常庞大 ,也不会独自一直占据 CPU。( ) 习题解答: ( 1) 错;应为:实时系统能应用于生产控制系统,也能应用于信息处
18、理系统。 ( 2) 错;应为:是指两个或者是多个事件在一段时间间隔内同时发生。 ( 3) 错;应为:操作系统虚拟机在逻辑功能上与裸机不同,但只具有一个物理实体。 ( 4) 对; ( 5) 错;应为:资源的共享是以程序的并发执行为条件的,没有程序的并发执行,就没有资源的共享。 ( 6) 错;应为:计算机系统的资源 包括硬件资源和软件资源两大部分。 第一篇 第一章 操作系统引论 第 7 页 共 102 页 ( 7) 错:应为:若把计算机系统分为若干层次,则按由上而下顺序可分为应用系统与应用软件、其它系统软件、操作系统和裸机。 ( 8) 错;应为:,尤其是主机 CPU 时间的浪费,如果一个用户的计算
19、作业非常庞大 ,就会独自一直占据 CPU。 ( 9) 对; 二 . 填空题 ( 1) 实时含有立即、及时之意,因而 是实时系统最关键的因素。 ( 2) 操作系统的层次结构中,与 或运行频率较高的模块都安排在紧靠硬件的软件层中,这一部分通常称为 ,它在执行基本操作时,往往是利用 操作来实现,该操作具有原子性。 ( 3) UNIX 是一个真正的 用户、 任务的 操作系统。 ( 4) 如果一个操作系统兼有 、 和 三者或其中两者的功能,这样的操作系统称为通用操作系统。 ( 5) 实现多道程序设计必须妥善解决三个问题: 、 和系统资源的管理和调度。 ( 6) 批处理系统的主要优点是 ,资源利用率高,系
20、统开销小,它的缺点在于作业处理的 ,用户交互能 力较弱。 ( 7) 操作系统是对计算机进行 的程序,是计算机和 的接口。 ( 8) 提供网络通讯和网络资源共享功能的操作系统称为 操作系统。 ( 9) 对系统总体设计目标来说,批处理系统注重提高计算机的效率,尽量增加系统的 ,分时系统应保证用户的 ,而实时系统在及时响应和处理的前提下,再考虑 。 ( 10) 在主机控制下进行的输入 /输出操作称为 操作。 ( 11) 在计算机系统中, 是 整个系统硬件的核心和基础,而在计算机软件系统中, 具有同样的核心和基础作用。 习题解答: ( 1) 响应时间; ( 2) 硬件紧密相关,内核,原语; ( 3)
21、多,多,网络; ( 4) 批处理操作系统、分时操作系统、实时操作系统; ( 5) 文件,作业; ( 6) 系统吞吐量大,平均周转时间较长; ( 7) 控制和管理,用户; ( 8) 网络; ( 9) 吞吐量,交互性,与用户的交互性; ( 10) 联机 I/O 操作; ( 11) CPU,操作系统; 三 . 简答题 1. 简述操作系统在计算机系统中的位置。 答:操作系统 OS 是运行在计算机硬件系统上的最基本的系统软件。它在计算机系统中位于计算机裸第一篇 第一章 操作系统引论 第 8 页 共 102 页 机和计算机用 户之间,为系统软件和用户应用软件提供了强大的支持。 2. 简述描述操作系统的两种
22、主要观点。 答:描述操作系统有两种主要观点,一种是 虚拟机的观点 装有操作系统的计算机极大地扩展了原计算机的功能,给用户提供了一个友好的、易于操作的界面,对用户来说,好像是一个扩展了的机器,即一台虚拟机器。另一种是 资源管理的观点 ,操作系统完成对处理机、存储器、 I/O 设备等硬件资源和文件等软件资源的管理。 3. 什么是操作系统?它有什么基本特征? 答: 操作系统是一组控制和管理计算机硬件和软件资源、合理组织计算机的工作流程,以及方便用户的程序 的集合。 操作系统的基本特征是: 并发 是指两个或多个事件在同一时间间隔内发生。宏观上是同时的,微观上是交替的。 共享 系统中的资源可供内存中多个
23、并发执行的进程共同使用。根据资源的不同属性,可分为两种资源共享方式:互斥共享和同时访问。 虚 拟 通过某种技术把一个物理实体变成若干个逻辑上的对应物,物理实体是实的,即实际存在,而后者是虚的,是用户的感觉。 异步性 在多道程序环境下,多个进程并发执行,但由于资源等因素的限制,内存中的每个进程何时执行,何时暂停,以怎样的速度向前推进,每道程序需多少时间才能完成, 都是不可预知的,进程以异步的方式运行。但只要运行环境相同,作业经过多次运行,都会获得完全相同的结果。 4. 多道程序设计时应注意什么问题? 答: 处理机管理问题 多道程序之间如何分配 CPU,使 CPU 既能满足各程序运行的需要,又能提
24、高处理机的利用率。 内存管理问题 为每道程序分配必要的内存空间,并防止程序遭破坏。 I/O 设备管理 分配为多道程序共享的 I/O 设备,方便用户使用,提高设备利用率。 文件管理问题 组织大量的程序和数据,便于用户使用,保证数据的安全和一致。 作业管理问题 对系统中各种类型的作业进行组 织。 四 . 练习题 1. 实时操作系统必须在( )内处理来自外部的事件。 A.一个机器周期 B. 被控制对象规定的时间 C.周转时间 D.时间片 2. 操作系统中最基本的两个特征是( ) A.并发和不确定性 B.并发和共享 C.共享和虚拟 D.虚拟和不确定性 3. 分时系统追求的目标是( ) A.充分利用 I
25、/O 设备 B.快速响应用户 C.提高系统吞吐量 D.充分利用内存 4. 批处理系统的主要缺点是( ) A.系统吞吐量小 B.CPU 利用率不高 C.资源利用率低 D.无交互能力 5. 在主机控制下进行的输入输出操作称为( )操作。 6. 如果操作系统具有很强的交互性,可同时供多个用户使用,系统响应比较及时,则属于( )类型;如果系统可靠,响应及时但仅有简单交互能力则属于( )类型;如果操作系统在用户提交作业后不提供交互能力,它追求的是计算机资源的高利用率,大吞吐量和作业流程的自动化,则属于( )类型。 第一篇 第一章 操作系统引论 第 9 页 共 102 页 7. 设内存中有三道程序 A、 B、 C,它们按 A、 B、 C 的优先次序执行。它们的计算和 I/O 操作时间 操作 程序 A B C 计算 30 60 20 I/O 40 30 40 计算 10 10 20 如下表所示(单位: ms) 。 假设三道程序使用相同设备进行 I/O 操作,即程序以串行方式使用设备。试画出单道运行和多道运行的时间关系图(调度程序的时间忽略不计)。在两种情况下,完成三道程序各要花多少时间? 8. 试比较分时系统和实时系统。 9. 简述 DOS、 Windows 和 UNIX 操作系统的特点。