You are on page 1of 238

高等学校计算机专业核心课

名师精品 系列教材

名师精品系列教材
高等学校计算机专业核心课
本/书/特/色

计算机操作系统
计算机
1. 详细讲解课后习题,拓展解读考研真题
本书针对主教材各章节后的多类型习题(简答题、计算题、综
合应用题)进行详细分析并给出参考答案,同时,拓展编排了

操作系统
足量考研真题,并进行了解题思路与参考答案解析,以帮助读
者扎实巩固理论所学。

2. 紧扣考研大纲要求,分析知识体系要点
根据操作系统考研大纲要求,编者不仅总结了各章学习目标,
以指明学习方向,而且绘制了各章知识导图,分析知识体系要
习题与考研真题解析
点,阐明实战能力提升思路,以帮助读者稳步提升知识技能。
姜华 赵阳 王艳秋 主编

习题与考研真题解析
3. 配套建设多种教辅资源,助力教学工作顺利开展 汤小丹 主审
在详解多类型习题的同时,编者编排了多套考试模拟卷(含
评分标准),录制了与考研相关的各章内容复习指导微课视频,
帮助读者系统梳理重点知识,助力教师顺利开展教学工作。
ANALYSIS OF EXERCISES AND
POSTGRAD ENTRANCE EXAM FOR
COMPUTER OPERATING SYSTEM

汤小丹《计算机操作系统(慕课版)》配套教材
详解课后习题、考研真题与典型考题,题量充足,题型丰富
教材服务热线:010-81055256 提供多套考试模拟卷,配套录制复习指导微课视频
用书教师扫码下载 反馈/投稿/推荐信箱:315@ptpress.com.cn
本书配套资源 人邮教育服务与资源下载社区:www.ryjiaoyu.com

定价:49.80元
封面设计:董志桢

FM56347(高校计算机专业核心课名师精品)计算机操作系统习题与考研真题解析.indd 1-3 21/6/10 上午8:58


高等学校计算机专业核心课
名师精品 系列教材

计算机
操作系统
习题与考研真题解析
姜华 赵阳 王艳秋 主编
汤小丹 主审

ANALYSIS OF EXERCISES AND


POSTGRAD ENTRANCE EXAM FOR
COMPUTER OPERATING SYSTEM

人 民 邮 电 出 版 社
北 京

FM56347(高校计算机专业核心课名师精品)计算机操作系统习题与考研真题解析.indd 4 21/6/10 上午8:58


内 容 提 要

本书是《计算机操作系统(慕课版)》一书配套的习题与考研真题解析教材,旨在帮助读者熟悉基
础知识,巩固理论所学,逐步掌握操作系统的基本原理与核心知识点。
全书共 4 部分。第 1 部分课后习题参考答案,给出了《计算机操作系统(慕课版)》各章课后习题
的参考答案,以及详细的解题思路与步骤。第 2 部分拓展习题及其参考答案与解析,通过整理各章的
知识导图,筛选历年的考研真题与操作系统典型习题,给出了选择题、填空题、简答题、综合应用题
等多种习题,并配以相应的参考答案与解析,以供读者进行拓展练习。第 3 部分考研真题卷及其参考
答案,给出了全国考研真题卷(多套)以及相应的参考答案与解析,旨在帮助读者综合认知统考真题,
并自行对课程学习效果进行严格检验。第 4 部分考试模拟卷及其评分标准,给出了操作系统课程的期
末考试模拟卷(多套)以及参考答案与评分标准,它们可作为院校教师出卷的重要参考。
本书可作为计算机专业以及其他相关专业操作系统课程的补充教材,也可供操作系统爱好者或者
准备参加操作系统相关考试的学生参考使用。

 主 编 姜 华 赵 阳 王艳秋
主 审 汤小丹
责任编辑 王 宣
责任印制 王 郁 马振武
 人民邮电出版社出版发行 北京市丰台区成寿寺路 11 号
邮编 100164 电子邮件 315@ptpress.com.cn
网址 https://www.ptpress.com.cn
北京鑫正大印刷有限公司印刷
 开本:7871092 1/16
印张:14.75 2021 年 7 月第 1 版
字数:406 千字 2021 年 7 月北京第 1 次印刷
定价:49.80 元
读者服务热线:(010)81055256 印装质量热线:(010)81055316
反盗版热线:(010)81055315
广告经营许可证:京东市监广登字 20170147 号
F O R E W O R D 前言
序一

《计算机操作系统(慕课版)》一书是汤子瀛主编的《计算机操作系统》经典教材的
最新版。为了使该经典教材的配套教材更加完善,编者根据多年的教学实践经验,结合操
作系统教学大纲与研究生入学考试要求,在参考国内外多种操作系统相关资料的基础上,
编写了本书,希望本书在巩固读者理论知识方面起到积极作用。
编者在编写本书的过程中,紧密结合主教材以及操作系统考研大纲,以知识点归纳为
引导,以求解方法阐述为延伸,以提高实战能力为目标,精选考研真题和典型习题,并在
本书中给出了各类习题详细的解题思路与步骤,以帮助读者深入理解操作系统课程的基本
内容,实现讲练结合的学习效果。
本书共含4部分内容,各部分内容及其作用介绍如下。

本书内容及其作用

序号 内容 作用

帮助学生进行自我检验;方便教师布置作业,
第1部分 课后习题参考答案
并对学生的学习效果进行检测

拓展习题及其参考 帮助读者拓展学习思路,熟悉知识体系,深刻
第2部分
答案与解析 理解操作系统的核心原理

考研真题卷及其参考 帮助读者宏观掌握操作系统考研命题的规律,
第3部分
答案 并深入了解操作系统课程的重难知识点

考试模拟卷及其评分 辅助学生在理论课程学习结束后进行自测,同
第4部分
标准 时为院校教师出卷提供参考

本书特色介绍如下。

1.课后思考 + 拓展习题,题型多样,题量充足
本书根据主教材的章节编排顺序与理论知识的巩固练习需求,配以历年考研真题(含
全国统考真题和名校考研真题)和典型考题,题量充足,题型丰富(含选择题、填空题、
简答题、计算机、综合应用题等),可以满足不同目标、不同层次的读者需求。同时,充
足的习题按主教材章节编排顺序与理论知识点进行清晰分类,可以帮助读者全面且深入地
掌握操作系统的知识要点。
前言 FOREWORD

2.知识导图 + 答案解析,逻辑清晰,有的放矢
根据主教材知识体系结构和操作系统考研大纲,编者总结并整理了逻辑清晰的知识导
图,以帮助读者直观理解、快速掌握各章的知识要点,进而进行针对性的拓展练习、归纳
总结、查缺补漏。本书所提供的各类习题大都配有参考答案与解析,并且通过图表、分步
解答等形式对重难知识点进行了解析,以帮助读者拓展思路,实现举一反三的学习效果。

3.考研真题 + 模拟试卷,资源丰富,紧扣要点
为了使读者综合认知操作系统考研命题规律,深入了解考试重难点,本书编排了多套
考研真题卷和考试模拟卷,并且面向读者提供多套电子版考研真题卷,全方位地帮助读者
对自己的学习效果进行综合检验,进而实现多知识点的融会贯通。同时,本书还配套了复
习指导微课视频以及电子版试题库,题量充足、题型丰富,可满足院校教师针对不同考查
目标的出卷需求。
本书第1部分和第2部分按主教材章节进行划分,各含12章,其中第1、2、3、10章由赵
阳编写,第4、5、6、12章由王艳秋编写,第7、8、9、11章由姜华编写;第3部分和第4部
分由姜华、赵阳、王艳秋共同整理;全书由姜华统稿。
由衷感谢汤小丹老师对本书全稿所进行的细致审阅与定稿把关,感谢在本书各次线上
线下评审会中提出宝贵修改建议的专家学者与院校老师,感谢张童与黄明在资料收集、书
稿整理等方面所付出的辛勤劳动。用书教师可以通过人邮教育社区(www.ryjiaoyu.com)下
载本书配套的各类教辅资源。
限于编者水平,书中难免存在不妥之处,敬请同行和广大读者批评指正。

编 者
2021年春于聊城
C O N T E N T S 目录
序一

第 1 部分 课后习题参考答案 6.3 综合应用题参考答案 41

第7章 输入/输出系统 43

第1章 操作系统引论 1 7.1 简答题参考答案 43

1.1 简答题参考答案 1 7.2 计算题参考答案 46

1.2 计算题参考答案 6 7.3 综合应用题参考答案 47

1.3 综合应用题参考答案 7 第8章 文件管理 49

第2章 进程的描述与控制 9 8.1 简答题参考答案 49

2.1 简答题参考答案 9 8.2 计算题参考答案 53

2.2 综合应用题参考答案 13 8.3 综合应用题参考答案 54

第3章 处理机调度与死锁 14 第9章 磁盘存储器管理 55

3.1 简答题参考答案 14 9.1 简答题参考答案 55

3.2 计算题参考答案 17 9.2 计算题参考答案 58

3.3 综合应用题参考答案 20 9.3 综合应用题参考答案 61

第4章 进程同步 22 第10章 多处理机操作系统 63

4.1 简答题参考答案 22 第11章 虚拟化和云计算 71

4.2 计算题参考答案 25
第12章 保护和安全 77
4.3 综合应用题参考答案 25

第5章 存储器管理 30
第 2 部分 拓展习题及其参考
5.1 简答题参考答案 30 答案与解析
5.2 计算题参考答案 32

5.3 综合应用题参考答案 34
第1章 操作系统引论 85
第6章 虚拟存储器 37
1.1 知识导图 85
6.1 简答题参考答案 37
1.2 拓展习题 86
6.2 计算题参考答案 39
1.3 参考答案与解析 90
目录
一序 C O N T E N T S

第2章 进程的描述与控制 95 7.2 拓展习题 163

2.1 知识导图 95 7.3 参考答案与解析 168

2.2 拓展习题 96 第8章 文件管理 174

2.3 参考答案与解析 100 8.1 知识导图 174

第3章 处理机调度与死锁 105 8.2 拓展习题 175

3.1 知识导图 105 8.3 参考答案与解析 178

3.2 拓展习题 107 第9章 磁盘存储器管理 183

3.3 参考答案与解析 113 9.1 知识导图 183

第4章 进程同步 122 9.2 拓展习题 184

4.1 知识导图 122 9.3 参考答案与解析 189

4.2 拓展习题 123 第10章 多处理机操作系统 195

4.3 参考答案与解析 129 10.1 知识导图 195

第5章 存储器管理 138 10.2 拓展习题 196

5.1 知识导图 139 10.3 参考答案与解析 198

5.2 拓展习题 140 第11章 虚拟化和云计算 200

5.3 参考答案与解析 145 11.1 知识导图 200

第6章 虚拟存储器 150 11.2 拓展习题 201

6.1 知识导图 150 11.3 参考答案与解析 202

6.2 拓展习题 151 第12章 保护和安全 204

6.3 参考答案与解析 155 12.1 知识导图 205

第7章 输入/输出系统 161 12.2 拓展习题 206

7.1 知识导图 162 12.3 参考答案与解析 207


C O N T E N T S 目录
序一

第 3 部分 考研真题卷及其 第 4 部分 考试模拟卷及其
参考答案 评分标准

考研真题卷(一) 210 考试模拟卷(一) 217

考研真题卷(二) 212 考试模拟卷(二) 220

考研真题卷(一)参考答案 考试模拟卷(一)参考答案
与解析 214 与评分标准 222

考试模拟卷(二)参考答案
考研真题卷(二)参考答案
与评分标准 227
与解析 215
第1部分
课后习题参考答案 1

第1章 操作系统引论

1.1 简答题参考答案

1.在计算机系统上配置 OS(operating system,操作系统)的目标是什么?作用主


要表现在哪几个方面?
【参考答案】在计算机系统上配置OS,主要目标是实现:方便性、有效性、可扩充性和开
放性。
OS的作用主要表现在以下3个方面:①OS作为用户与计算机硬件系统之间的接口;②OS作
为计算机系统资源的管理者;③OS实现对计算机资源的抽象。
2.试说明 OS 与硬件、其他系统软件以及用户之间的关系。
【参考答案】OS是覆盖在硬件上的第一层软件,它负责管理计算机的硬件和软件资源,并
向用户提供良好的界面。OS与硬件紧密相关,它直接管理着硬件资源,为用户完成所有与硬件
相关的操作,极大地方便了用户对硬件资源的使用并提高了硬件资源的利用率。OS是一种特殊
的系统软件,也是其他系统软件与硬件之间的接口。其他系统软件运行在OS的基础之上,可获
得OS提供的大量服务。而一般用户使用计算机除了需要OS支持外,还需要用到大量的其他系统
软件和应用软件,以使其工作更高效。可见,在OS、硬件、其他系统软件以及用户之间存在着
图1-1-1所示的层次关系。
2

应用程序设计者
用户

系统软件设计者 应用程序

OS设计者 其他系统软件

OS
计算机操作系统习题与考研真题解析

计算机硬件

图 1-1-1 计算机系统的层次关系

3.试说明推动 OS 发展的主要动力是什么。
【参考答案】推动OS发展的主要动力表现在:①计算机系统资源的利用率不断提高;②方
便用户;③器件不断更新换代;④计算机体系结构不断发展;⑤新的应用需求不断被提出。
4.在 OS 中,何谓脱机 I/O(input/output,输入 / 输出)方式和联机 I/O 方式?
【参考答案】脱机I/O方式是指事先将装有用户程序或数据的纸带或卡片装入纸带输入机或
卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上,该方式下的I/O操作
由外围机控制完成,并且是在脱离主机的情况下进行的,因此叫作脱机I/O方式。联机I/O方式是
指程序和数据的I/O都是在主机的直接控制下进行的。
5.试说明推动分时系统形成和发展的主要动力是什么。
【参考答案】推动分时系统形成和发展的主要动力是“为了更好地满足用户的需要”。其
主要表现在:①CPU(central processing unit,中央处理机)的分时使用缩短了作业的平均周转
时间;②人机交互功能的提供使用户能方便地直接控制自己的作业;③主机的共享使多个用户
(包括远程用户)能同时使用一台计算机独立地、互不干扰地处理各自的作业。
6.实现分时系统的关键问题是什么?应如何解决?
【参考答案】实现分时系统的关键问题是使用户能与自己的作业进行交互,即用户在自己
的终端上输入一条命令以请求系统服务后,系统能及时地接收并处理该命令,并在用户能接受
的时延内将结果返回给用户。
及时地接收命令和返回输出结果的实现方式是在系统中配置一个多路卡,并为每个终端配
置一个缓冲区以暂存用户输入的命令和输出的结果。因此,关键要解决的问题是确保在较短的
时间内系统中所有的用户程序都能执行一次,从而使用户输入的命令能够得到及时响应。为
此,一方面,用户作业被提交后应立即进入内存;另一方面,系统应设置一个被称为时间片的
很短的时间,并规定每个程序每次最长只能连续运行一个时间片,如果时间片用完,则不管它
是否运行完毕,都必须将CPU让给下一个作业。通过使作业分时共享CPU,所有的作业都可以
得到及时的处理,用户的请求亦可得到及时的响应。
7.为什么要引入实时系统 ?
【参考答案】实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对外部
事件的处理,并控制所有实时任务协调一致地运行。引入实时系统是为了更好地满足实时控制
领域和实时信息处理领域的需要。
8.什么是硬实时任务和软实时任务?试举例说明。
【参考答案】①硬实时任务是指系统必须满足任务对截止时间的要求,否则可能出现难以
3

预测的结果,如运载火箭的控制等。②软实时任务对截止时间的要求并不严格,偶尔错过任务的
截止时间,对系统产生的影响也不大,如网页内容的更新、火车售票系统剩余票数的更新等。
9.试从及时性、交互性及可靠性方面对分时系统与实时系统进行比较。
【参考答案】本题分步解答如下。
(1)从交互性方面来考虑。交互性问题是分时系统的关键问题。在分时系统中,用户可以
通过终端与系统进行广泛的人机交互,如文件编辑、数据处理和资源共享等。实时系统也具有
交互性,但在实时系统中,交互性仅限于访问系统中某些特定的专用服务程序,也就是说,它


的交互性具有很大的局限性。 1

部分
(2)从及时性方面来考虑。分时系统的及时性是指用户能在很短的时间间隔内获得系统的

课后习题参考答案
响应,这一时间间隔是根据人们能接受的等待时间来确定的,一般为2~3s。对实时系统来说,
及时性是它的关键问题之一,实时信息系统的及时性要求与分时系统相似,而实时控制系统的
及时性要求则是由被控制对象所要求的开始截止时间和完成截止时间决定的,一般为秒级、百
毫秒级、毫秒级,甚至更低。
(3)从可靠性方面来考虑。可靠性是实时系统的另一个关键问题,实时系统中的任何差错
都可能带来巨大的经济损失,甚至导致无法预料的灾难性后果,因此实时系统往往采取多级容
错措施来保证系统高度可靠。分时系统虽然也要求可靠,但比实时系统的要求要低。
10.微机 OS 按运行方式来分,可以分为哪几类?举例说明。
【参考答案】现在流行的微机OS按运行方式可以分为以下3类。
(1)单用户单任务OS:只允许一个用户上机(使用计算机),且只允许用户程序作为一个
任务运行,主要配置在8位和16位微机上。最具代表性的单用户单任务OS是CP/M(8位)和MS-
DOS(16位)。
(2)单用户多任务OS:只允许一个用户上机,但允许用户把程序分为若干个任务并发执
行,从而有效地改善了系统性能。最具代表性的单用户多任务OS是由微软公司推出的Windows
系列,如Windows 3.1、Windows 95、Windows 98等。
(3)多用户多任务OS:允许多个用户通过各自的终端使用一台机器,共享主机系统中的各
种资源,而每个用户程序又可进一步分为若干个任务并发执行,从而可以进一步提高资源利用
率和系统吞吐量。最具代表性的多用户多任务OS是UNIX系统,各种类UNIX系统(如Solaris、
Linux系统等)以及Windows NT/Server系列的系统。
11.OS 具有哪几大特征?它们之间有何关系?
【参考答案】OS具有并发、共享、虚拟和异步这4个基本特征。它们之间的关系包含以下
几个方面。①并发和共享是OS最基本的特征。为了提高计算机资源的利用率,OS必然要采用
多道程序设计技术,使多个程序共享系统的资源、并发地执行。②并发性和共享性互为存在的
条件。一方面,资源的共享是以程序(进程)的并发执行为条件的,若系统不允许程序并发执
行,就不会存在资源共享问题;另一方面,若系统不能对资源共享实施有效管理,协调好各进
程对共享资源的访问,则必将影响程序的并发执行,甚至会使程序无法并发执行。③虚拟性以
并发性和共享性为前提。为了使并发进程能更方便、更有效地共享资源,OS常采用多种虚拟技
术在逻辑上增加CPU和设备的数量以及存储器的容量,从而解决并发进程对有限系统资源的共
享问题。④异步性是并发性和共享性的必然结果。OS允许多个并发进程共享资源、相互合作,
使得每个进程的运行过程受到了其他进程的制约,不再“一气呵成”,这必然会导致异步这一
特征的产生。
4

12.是什么原因使 OS 具有异步特征?
【参考答案】在多道程序环境下,允许多个进程并发执行。但由于资源等因素的限制,进
程的执行通常并非“一气呵成”,而是以“走走停停”的方式进行。内存中的每个进程在何时
执行、何时暂停、以怎样的速度向前推进,都是不可预知的。故而作业完成的先后次序与进入
内存的先后次序并不完全一致,亦即进程是以异步方式运行的。但在有关进程控制及同步机制
计算机操作系统习题与考研真题解析

等的支持下,只要运行环境相同,作业经多次运行都会获得完全相同的结果,因而异步方式是
允许的。因此,OS具有异步特征。
13.何谓 OS 内核? OS 内核的主要功能是什么?
【参考答案】在现代OS理论中,一般将OS划分为若干层次,再将OS的不同功能分别设置
在不同层次中。通常将一些与硬件紧密相关的模块(如中断处理程序等)、各种常用设备的驱
动程序以及运行频率较高的模块(如时钟管理模块、进程调度模块和公用基本操作模块等)都
安排在紧靠硬件的软件层次中,让它们常驻内存,进而形成了所谓的OS内核。
OS内核的主要功能有:①支撑功能,包括中断处理、时钟管理和原语操作等;②资源管理
功能,包括进程管理、存储器管理、设备管理等。
14.何谓原语?何谓原子操作?
【参考答案】原语,是指由若干条指令组成的,用于完成一定功能的一个过程。原子操
作,是指一个操作中的所有动作要么全做,要么全不做,换言之,它是一个不可分割的基本单
位。因此,原语在执行过程中是不允许被中断的。原子操作在内核态下执行,常驻内存。
15.简要描述处理机的双重工作模式。
【参考答案】一般地,处理机至少需要两种单独运行模式:用户态和内核态。
(1)用户态也称为目态,计算机硬件可以通过一个模式位为1来表示它。当计算机系统执
行用户程序时,系统处于用户态。
(2)内核态也称为管态或系统态,计算机硬件可以通过一个模式位为0来表示它。每当OS
能够控制计算机时,它就处于内核态。例如,当用户程序通过系统调用请求OS服务时,系统必
须从用户态切换到内核态,以响应请求。
16.简述中断处理过程。
【参考答案】一旦CPU响应中断,系统就会开始进行中断处理。中断处理过程主要包括以
下3步。
(1)保护被中断进程的现场。为了在中断处理结束后能使进程正确地返回中断点,系统必
须保存当前处理机状态字和程序计数器的值。
(2)分析中断原因,转去执行相应的中断处理程序。在多个中断请求同时发生时,处理优
先级最高的中断源所发出的中断请求。
(3)恢复被中断进程的现场,CPU继续执行被中断的原进程。
17.处理机管理有哪些主要功能?它们的主要任务是什么?
【参考答案】处理机管理的主要功能有进程管理、进程同步、进程通信和处理机调度。各
部分的主要任务为:①进程管理,为作业创建进程,撤销已结束进程,控制进程在运行过程中
的状态转换;②进程同步,协调多个进程(含线程)的运行;③进程通信,实现在相互合作
的进程之间进行信息交换;④处理机调度,包括作业调度和进程调度。作业调度是按照一定
5

的算法从后备队列里选出若干个作业,为它们分配运行所需的资源;进程调度是按照一定的
算法从进程的就绪队列中选出一个进程,把处理机分配给它,并设置运行现场,使进程投入
执行。
18.内存管理有哪些主要功能?它们的主要任务是什么?
【参考答案】内存管理的主要功能有内存分配、内存保护、地址映射和内存扩充。各部分
的主要任务为:①内存分配,为每道程序分配内存;②内存保护,确保每道程序仅在自己的内
存空间运行,彼此互不干扰;③地址映射,将地址空间的逻辑地址转换为内存空间对应的物理


地址;④内存扩充,即从逻辑上扩充内存,实现请求调入功能和置换功能等。 1

部分
19.设备管理有哪些主要功能?它们的主要任务是什么?

课后习题参考答案
【参考答案】设备管理的主要功能包括缓冲管理、设备分配、设备处理以及设备虚拟等。
各部分的主要任务为:①完成用户提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定
的I/O操作;②提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。
20.文件管理有哪些主要功能?它们的主要任务是什么?
【参考答案】文件管理的主要功能有:文件存储空间的管理、目录管理、文件的读/写管理
和保护。其主要任务是对用户文件和系统文件进行管理以方便用户使用,并保证文件安全。
21.现代 OS 的新功能有哪些?
【参考答案】现代OS是在传统OS的基础上发展而来的,它除了具有传统OS的功能外,还
具有保障系统安全、支持用户通过联网获取服务和可处理多媒体信息等功能。
22.什么是微内核 OS ?它具有哪些优点?
【参考答案】微内核OS具有如下4个特征:①足够小的内核;②基于客户/服务器模式;
③应用策略与机制分离原则;④采用面向对象技术。
微内核OS的主要优点包括:①提高了系统的可扩展性;②增强了系统的可靠性和可移植
性;③提供了对分布式系统的支持;④融入了面向对象技术。
23.外核 OS 的基本思想是什么?
【参考答案】外核OS的基本思想是:内核不提供传统OS中的进程、虚拟存储等抽象事物,
而是专注于物理资源的隔离(保护)与复用。具体来说,在基于外核结构的OS中,内核负责保
护系统资源,而硬件资源的管理职责则委托给了应用程序,这样,OS就可以做到在保证资源安
全的前提下,减少对应用程序的限制,充分满足应用程序对硬件资源的不同需求。
24.什么是系统调用?系统调用与一般用户程序和库函数有何区别?
【参考答案】系统调用是OS提供给程序员的唯一接口。程序员利用系统调用,在源程序层
面动态请求和释放系统资源,并调用系统中已有的系统功能来完成那些与机器硬件部分相关的
工作以及控制程序的执行速度等。因此,系统调用像一个“黑箱子”,对用户屏蔽了OS的具体
动作而只提供有关的功能。
系统调用与一般用户程序、库函数的区别在于:①系统调用(程序)在内核态执行,调用
它们时需要一个类似于硬件中断处理机制的中断处理机制来提供系统服务;②普通的用户程序
是直接为用户完成某特定功能而设计的,它们一般在用户态执行;③库函数是把函数放到库里
供别人使用的一种方式,是面向应用开发、方便人们编程的。
6

1.2 计算题参考答案

25.设有 3 道程序 A、B、C,它们按照优先次序(A → B → C)顺序执行,它们的


计算时间和 I/O 操作时间如表 1-1-1 所示,假设 3 道程序以串行方式使用相同的设备进行
I/O 操作,试画出单道程序运行和多道程序运行的时间关系图,并计算完成这 3 道程序所须
计算机操作系统习题与考研真题解析

花费的时间。

表1-1-1 时间表

时间(ms)
程序
计算 I/O操作 计算

A 30 40 10

B 60 30 10

C 20 40 20

【参考答案】计算时间时,CPU处理时间,I/O操作时间是输入与输出时间。3个程序共享I/
O设备,即串行使用I/O设备。
(1)单道程序运行时,3道程序串行执行,即先执行A、再执行B、最后执行C,时间关系
图如图1-1-2所示。
工作项目

A B C
I/O操作
A A B B C C
计算

0 30 70 80 140 170 180 200 240 260


时间/ms

图 1-1-2 单道程序运行时间关系图

单道程序运行时,3道程序使用的时间为:(30+40+10)+(60+30+10)+(20+40+20)
=260ms。
(2)多道程序运行时,3道程序的计算与I/O操作可部分并行,分为非立即抢占式和立即抢
占式两种,时间关系图如图1-1-3和图1-1-4所示。
多道程序运行时,3道程序非立即抢占式的总时间为180ms,立即抢占式的总时间为
190ms。
工作项目

A B C
I/O操作
A B A C B C
计算

0 30 70 90 100 120 130 160 180


时间/ms

图 1-1-3 多道程序非立即抢占式运行时间关系图
7

工作项目
A B C
I/O操作
A B A B C B C
计算

0 30 70 80 100 120 130 140 170 190


时间/ms

图 1-1-4 多道程序立即抢占式运行时间关系图

26.(考研真题)一个多道批处理系统中仅有 P1 和 P2 两个作业,P2 比 P1 晚 5ms 到达,


它们的计算和 I/O 操作顺序如下。 1

部分
P1 :计算 60ms,I/O 操作 80ms,计算 20ms。

课后习题参考答案
P2 :计算 120ms,I/O 操作 40ms,计算 40ms。
不考虑调度和切换时间,请计算完成两个作业需要的最少时间。
【参考答案】作业执行时间关系图如图1-1-5所示。由于在多道批处理系统中,P 1与P 2可
以部分并行,因此,P 1先到达系统,其会先占用CPU进行计算(到60ms),然后执行I/O操作
的时间是60ms~140ms;而在P 1执行I/O操作的过程中,P 2可获得CPU运行120ms,到180ms结
束;当P1执行完它的I/O操作后,执行计算,此时CPU正被P2占用,因此P1须等P2执行完后才能
获得CPU执行剩余的20ms,执行完成后退出系统;此时,P 2会执行I/O操作40ms,到220ms;
最后P2获得CPU运行剩余的40ms(计算),到260ms结束。由图1-1-5可知,完成两个作业需要
的最少时间为260ms。

CPU I/O CPU


P2

CPU I/O CPU


作业

P1

0 60 140 180 220 260


时间/ms

图 1-1-5 作业执行时间关系图

1.3 综合应用题参考答案

27.OS 的概念、特征和功能是什么?
【参考答案】该问题分步解答如下。
(1)OS是一组控制和管理计算机硬件和软件资源、合理地对各类作业进行调度以方便用户
使用计算机的程序集合。OS是配置在计算机硬件上的第一层系统软件,是对硬件系统的首次扩
充;是硬件系统和应用软件间的桥梁;是用户与计算机硬件进行交互的接口;是计算机系统资
源的管理者。
(2)OS的4个特征:并发、共享、虚拟、异步。①并发:一段时间间隔内多个进程(线
程)并发执行,是宏观上的并行,微观上的串行。②共享:系统中的资源可供内存中多个并发
执行的进程或线程共同使用。③虚拟:通过某种技术将物理实体变为若干个逻辑上的对应物。
④异步:进程以人们不可预知的速度向前推进,每次运行只要环境相同,则结果必定一致。
(3)OS的5大功能:处理机管理、存储器管理、设备管理、文件管理、接口管理。①处理
8

机管理:进程(线程)是处理机调度的单位,因此对外理器的管理实际上是对进程(线程)的
管理。②存储器管理:内存的分配与回收、地址转换、虚拟内存的实现等。③设备管理:设备
的分配与回收、缓冲区管理、磁盘调度、设备虚拟等。④文件管理:文件存储空间的管理、文
件目录管理、文件共享与保护等。⑤接口管理:用户接口、程序接口、命令接口和网络接口。
28.
(考研真题)若某计算问题的执行情况如图 1-1-6 所示。
计算机操作系统习题与考研真题解析

0 100120 160 260 280 320


时 间

输入机

处理机

打印机

图 1-1-6 计算问题执行情况

则请回答下列问题。
(1)叙述该计算问题中处理机、输入机和打印机是如何协同工作的。
(2)计算在图 1-1-6 所示执行情况下处理机的利用率。
(3)简述处理机利用率不高的原因。
(4)请画出能提高处理机利用率的执行方案。
【参考答案】(1)处理机、输入机和打印机是按照输入→处理→打印的顺序依次执行的,
输入机为处理机提供数据,处理机得到数据后进行处理,处理结果通过打印机打印输入。输入
机读取一批数据,花费时间为100;处理机对这批数据进行计算,花费时间为20;打印机打印计
算结果,花费时间为40。
(2)处理机的利用率=[20/(100+20+40)]×100%=12.5%。
(3)当一道程序在运行中发出I/O请求后,处理机只能处于等待状态,即必须等I/O完成后
才能继续运行,因此处理机会长时间处于空闲状态,这会导致其利用率不高。
(4)采用多道程序设计技术使处理机、输入机和打印机并行工作,可以提高处理机的利用
率,如图1-1-7所示。

0 100 120 160 200 220 260


时 间

输入机

处理机

打印机

问题1
问题2

图 1-1-7 并行工作时计算问题执行情况
9

第2章 进程的描述与控制

2.1 简答题参考答案


1

部分
1.什么是前趋图?请画出下列 4 条语句的前趋图。

课后习题参考答案
S1:a=x+y;S2:b=z+1;S3:c=a-b;S4:w=c+1;
S1
【参考答案】本题分步解答如下。 S3 S4
(1)前趋图(precedence graph)是一个有向无环图,记为 S2

DAG(directed acyclic graph),用于描述进程间执行的前后关系。


(2)题中4条语句对应的前趋图如图1-2-1所示。 图 1-2-1 前趋图

2.什么是进程? OS 中为什么要引入进程?它会产生什么样的影响?
【参考答案】①进程是一段可并发执行的具有独立功能的程序,是关于某个数据集的一次
执行过程,也是OS进行资源分配和保护的基本单位。②在OS中引入进程,是为了实现多个程序
的并发执行。传统的程序与其他程序并发执行时,执行结果不可再现,因此,传统的程序不能
与其他程序并发执行,只有在为之创建进程后,其才能与其他程序(进程)并发执行。这是因
为并发执行的程序“停停走走”地执行,只有在为它创建进程后,在它停下时,方能将其CPU
现场信息保存在它的PCB(processing control block,进程控制块)中,待下次被调度执行时再从
PCB中恢复CPU现场而继续执行,但传统的程序却无法满足上述要求。③建立进程所带来的好
处是多个程序能并发执行,这极大地提高了资源利用率和系统吞吐量。但管理进程也须付出一
定的代价,包括PCB及协调各运行机构所占用的内存空间开销,以及为进行进程间的切换、同
步与通信等所付出的时间开销。
3.进程最基本的状态有哪些?哪些事件可能会引起不同状态间的转换?
【参考答案】进程最基本的状态有3种。①运行态:进程占有处理机,正在运行。②就
绪态:进程具备运行条件,等待系统分配处理机以便运行。③等待态(又称为阻塞态或睡眠
态):进程不具备运行条件,正在等待某个事件的完成。
进程不同状态间的转换及引发原因介绍如下。①运行态→等待态:等待使用资源或某事件发
生;②等待态→就绪态:资源得到满足或某事件已经发生;③运行态→就绪态:运行时间片到达或
出现有更高优先级的进程;④就绪态→运行态:CPU空闲时调度选中一个就绪进程需要其运行。
4.为什么要引入进程的挂起状态?
【参考答案】所谓挂起状态,实际上就是一种静止的状态。一个进程被挂起后,不管它是
否处于就绪状态,系统都不会分配给它处理机。因此,引入挂起状态是基于系统和用户的如下
需要。①终端用户的需要:当终端用户在自己的程序运行期间发现问题时,希望暂停进程的运
行。②父进程请求:父进程挂起自己的某个子进程,检查并修改该子进程,或者协调各子进程
之间的活动。③负荷调节的需要:当实时系统中的工作负荷较重、实时任务受到影响时,挂起
10

一些不重要的进程。④OS的需要:OS挂起某些进程,检查或统计运行中的资源使用情况。
5.叙述组成进程的基本要素,并说明它们的作用。
【参考答案】每个进程均由PCB、程序块、数据块和堆栈这4个基本要素组成。它们的作用
分别描述如下。
(1)PCB:用来存储进程的标志信息、现场信息和控制信息。进程创建时建立PCB,进程
计算机操作系统习题与考研真题解析

撤销时回收PCB,其与进程一一对应。
(2)程序块:即被执行的程序。它规定了进程一次运行应实现的功能,通常是纯代码,其
作为一种系统资源可被多个进程共享。
(3)数据块:即程序运行时须加工处理的对象,包括全局变量、局部变量和常量等的存放
区以及开辟的工作区,常常为一个进程专用。
(4)堆栈:每个进程都将捆绑一个堆栈,用来存储进程的标志信息、现场信息和控制信息。
6.(考研真题)请给出 PCB 的主要内容。描述当进程状态发生转换(就绪→运行、运
行→阻塞)时,OS 需要使用 / 修改 PCB 的哪些内容?
【参考答案】本题分步解答如下。
(1)PCB主要用于描述进程的基本情况以及进程的运行变化过程,是进程存在的唯一标
志。PCB的内容可以分成调度信息和现场信息两部分。①调度信息供进程调度时使用,描述了
进程当前所处的状况,包括进程名、进程号、存储信息、优先级、当前状态、资源清单、家族
关系、消息队列指针、进程队列指针和当前打开文件的情况等。②现场信息用于保留运行进程
发生状态转换时所要保存的CPU现场信息,以保证当该进程重新恢复运行时能恢复CPU现场,
从断点处继续运行。常用的现场信息包括通用寄存器的内容、控制寄存器的内容、用户堆栈指
针、系统堆栈指针等。
(2)OS需要使用/修改的PCB内容包括“就绪→运行”和“运行→就绪”。①就绪→运行
是将PCB当前的就绪态改为运行态,修改PCB的队列指针,将PCB从就绪队列中移出等;利用
PCB中的CPU现场信息,布置CPU现场并投入运行。②运行→就绪是将CPU的当前状态(各寄存
器的内容)保存到PCB中,将进程状态由“运行”改为“就绪”,并修改PCB中相应的队列指
针信息,然后将其放入PCB就绪队列中。
7.试说明引起进程创建的主要事件。
【参考答案】为使程序之间能并发运行,应先为它们分别创建进程。导致一个进程去创建
另一个进程的典型事件有4类:用户登录、作业调度、提供服务、应用请求。
8.(考研真题)在创建一个进程时,OS 需要完成的主要工作是什么?
【参考答案】OS发现请求创建新进程事件后,首先,调用进程创建原语;其次,申请一个
空白PCB,并向该PCB中填写用于控制和管理进程的信息;再次,为该进程分配运行时所需的
资源;最后,把该进程的PCB转入就绪状态并插入就绪队列中。
9.试说明引起进程终止的主要事件。
【参考答案】引起进程终止的主要事件介绍如下。①正常结束:指进程的任务已经完成,
准备退出运行。②异常结束:指进程在运行时发生了某种异常事件,使程序无法继续运行。常
见的异常事件包括越界错误、保护错、指令非法、特权指令错、运行超时、等待超时、算术运
算错、I/O故障等。③外界干预:指进程应外界的请求而终止运行,这些干预有操作员干预、OS
干预、父进程请求、因父进程终止等。
11

10.在终止一个进程时,OS 要完成的主要工作是什么?
【参考答案】如果系统中发生了要求终止进程的事件,OS便会调用进程终止原语,按下述
过程终止指定的进程:
(1)根据被终止进程标识符,从PCB集中检索出指定进程的PCB,读出该进程的状态;
(2)若被终止进程处于执行状态,则立即终止该进程的执行,置调度标志为真,用于指示
该进程被终止后应重新进行调度;
(3)若该进程还有子孙进程,则应将其所有子孙进程也都予以终止,以防它们成为不可控


的进程;
1

部分
(4)将被终止进程拥有的全部资源或者归还给其父进程,或者归还给系统;
(5)将被终止进程的PCB从所在队列或链表中移出,等待其他程序来搜集信息。

课后习题参考答案
11.试说明引起进程阻塞或被唤醒的主要事件。
【参考答案】引起进程阻塞或被唤醒的主要事件介绍如下。①向系统请求共享资源失败。
进程在向系统请求共享资源时,由于系统已无足够的资源分配给它,此时进程会因不能继续运
行而转变为阻塞状态。②等待完成某种操作。当进程启动某种操作后,如果该进程必须在操作
完成之后才能继续执行,则应先阻塞该进程。③尚未到达新数据。对于相互合作的进程,如果
一个进程需要获得另一个进程提供的数据后才能处理该数据,但所需数据尚未到达,则进程阻
塞。④等待到达新任务。在某些系统中,特别是在网络环境下的OS中,往往会设置一定量的系
统进程,这种进程每当完成任务后便会把自己阻塞起来,等待新任务的到来。
12.试比较进程间的低级与高级通信工具。
【参考答案】用户使用低级通信工具实现进程通信效率低,通信对用户不透明,所有操作
都必须由程序员来实现;高级通信工具弥补了这些缺陷,用户可以直接利用OS提供的一组通信
命令来高效地传送大量的数据。
13.当前有哪几种高级通信机制?
【参考答案】高级通信机制可以归结为4类。①共享存储器系统通信机制:在共享存储器
系统中,相互通信的进程共享某些数据结构或存储区,进程之间通过这些“空间”进行通信。
②管道通信系统通信机制:发送进程和接收进程利用管道进行通信。③消息传递系统通信机
制:进程不必借助任何共享存储区或数据结构,而是以格式化的消息(message)为单位,将通
信的数据封装在消息中,并利用OS提供的一组通信命令在进程间进行消息传递,完成进程间的
数据交换。④客户机-服务器系统通信机制:在网络环境的各种应用领域,客户机-服务器系统
的通信机制已成为当前主流的通信实现机制。
14.说明使用管道文件(pipe 文件)进行通信的优缺点。
【参考答案】在Linux、UNIX和OS/2等系统中都可以使用管道文件实现进程间的相互通
信。其优点是可以在进程间不断地传递大量信息,且无须占用宝贵的内存空间。缺点是进程之
间的信息传递要启动读/写磁盘,相对于消息缓冲队列而言通信速度较慢。另外,接收进程和
发送进程间的同步也比较复杂,需要一定的时间开销。
15.试比较直接通信方式和间接通信方式。
【参考答案】可以从以下几个方面来比较直接通信方式和间接通信方式。
(1)发送原语和接收原语。直接通信原语通常为send(receiver,message)、receive
(sender,message);间接通信原语通常为send(mailbox,message)、receive(mailbox,
12

message),而且它还需要提供有关信箱创建与撤销的原语。
(2)提供对方的标识符。直接通信要求发送双方显式地提供对方的标识符,对于接收进
程,如果允许它同时接收多个进程发来的消息,则接收原语中的发送进程标识符可以是通信完
成后返回的值;间接通信则不要求它们显式地提供对方的标识符,而只须提供信箱标识符。
(3)通信链路。直接通信时,进程只须提供对方的标识符便可进行通信,在收发双方之间
建立通信链路的任务由系统自动完成,此外,在收发双方之间有且仅有一条通信链路。间接通
计算机操作系统习题与考研真题解析

信时,仅当一对进程共享某个信箱时,它们之间才有通信链路;每对进程间可以有多条链路。
(4)实时性。直接通信通常只能提供实时的通信;间接通信既可实现实时通信,也可实现
非实时通信。
16.为什么要在 OS 中引入线程?
【参考答案】在OS中引入线程是为了减少进程在并发执行时所付出的时空开销,使OS具有
更好的并发性,提高CPU的利用率。进程是分配资源的基本单位,而线程则是系统调度的基本
单位。由于进程是资源的拥有者,因此在其创建、撤销、切换操作中需要较大的时空开销,限
制了并发程度的进一步提高。为减少进程切换的开销,通常把进程作为资源分配单位和调度单
位这两个属性进行分开处理,即进程还是作为资源分配的基本单位,但是不作为调度的基本单
位(很少调度或切换),把调度执行与切换的责任交给“线程”。这样做的好处是不但可以提
高系统的并发度,还能使系统适应新的对称多处理机环境,充分发挥其性能。
17.试说明线程的属性。
【参考答案】线程是一个轻型实体,是可独立调度和分派的基本单位;线程可并发执行,
可共享所属进程的资源。
18.何谓用户级线程和内核支持线程?
【参考答案】①用户级线程是仅存在于用户空间中的线程,无须内核支持。这种线程的创
建与撤销,线程间的同步与通信等功能,都无须利用系统调用实现。用户级线程的切换通常发
生在一个应用进程的诸多线程之间,同样无须内核支持。②内核支持线程是在内核支持下运
行的线程。无论是用户进程中的线程,还是系统中的线程,它们的创建、撤销和切换等操作都
是依靠内核、在内核空间中实现的。在内核空间中还为每个内核支持线程设置了TCB(thread
control block,线程控制块),内核根据该TCB感知某线程的存在并对其实施控制。
19.
(考研真题)用户级线程和内核支持线程有何区别?
【参考答案】内核支持线程是在内核支持下实现的,即每个线程的TCB均设置在内核中,
所有对线程的操作(如创建、撤销和切换等)都是通过系统功能调用由内核中的相应处理程序
完成的。而用户级线程则仅存在于用户空间中,即每个线程的TCB均设置在用户空间中,所有
对线程的操作也在用户空间中完成,而无须内核帮助。具体可从以下几个方面比较内核支持线
程和用户级线程。①内核支持。用户级线程可在一个不支持线程的OS中实现,而内核支持线程
则需要得到OS内核的支持。②处理机的分配。在多处理机环境下,对纯粹的用户级线程来说,
内核只为一个进程分配一个处理机,即进程无法享用多处理机带来的好处;而当设置有内核支
持线程时,内核可调度一个应用中的多个线程同时在多个处理机上并行运行,从而提高程序的
执行速度和效率。③调度和线程执行时间。对设置有内核支持线程的系统,内核的调度方式和
调度算法与进程的十分相似,但调度的单位是线程;而对仅设置了用户级线程的系统,内核调
度的单位为进程,当进程获得CPU时,隶属于该进程的多个线程可通过用户态下的线程调度分
13

享由内核分配给进程的CPU执行时间。因此,在相同条件下,内核支持线程通常会得到比用户
级线程更多的CPU执行时间。④切换速度。用户级线程的切换通常发生在一个应用程序的各线
程之间,由于无须陷入内核,而且切换的规则也相当简单,因此切换速度比内核支持线程至少
快一个数量级。⑤系统调用。在典型的OS中,许多系统调用都会引起阻塞。当一个用户级线程
执行这些系统调用时,被阻塞的是整个进程;而当一个内核支持线程执行这些系统调用时,则
仅阻塞这一线程,但仍可调度其所属进程的其他线程执行。
20.试说明用户级线程和内核支持线程的实现方法。


【参考答案】本题分步解答如下。 1

部分
(1)用户级线程在用户空间中实现,运行在“运行时系统”与“内核控制线程”的中间系

课后习题参考答案
统上。“运行时系统”用于管理和控制线程函数的集合。“内核控制线程”可通过系统调用获
得内核提供的服务,将轻型进程(light weight process,LWP)作为中间系统。
(2)在设置了内核支持线程的OS中,系统在创建新进程时,会为其分配一个任务数据区
(per task data area,PTDA),其中包括若干个TCB空间。创建一个线程,分配一个TCB,将线
程的有关信息写入TCB,并为线程分配必要的资源。当任务数据区中的TCB用完而进程又有新
线程时,只要所创建的线程数目未超过系统允许值,系统即可再为之分配新的TCB。在撤销一
个线程时,也应回收该线程的所有资源和TCB。

2.2 综合应用题参考答案

21.试从调度、并发、拥有资源和系统开销这 4 个方面比较传统进程和线程。
【参考答案】传统进程与线程的比较如表1-2-1所示。

表1-2-1 传统进程与线程的比较

调度 并发 拥有资源 系统开销

同一进程的所有线程共享但
作为系统调度和分派的基本
线程是O S中调度和 同一进程的多 不拥有进程的状态和资源,
单位,线程会被频繁地调度
线 分派的基本单位, 个线程可在一 且驻留在进程的同一个内存
和切换;同一进程中的多线
程 具有唯一的标识符 个/多个处理机 地址空间中,可以访问相同
程共享同一地址空间,这能
和TCB 上并发执行 的数据,通信和同步的实现
使线程实现快速切换
也十分方便

许多“多任务
传统进程具有独立 对多个传统进程进行管理
O S”会限制用 传统进程是系统中资源分配
传 的虚地址空间;以 (如创建、调度、终止等)
户拥有的最大 和保护的基本单位,也是系
统 传统进程为单位进 时,系统开销大,如在为了
进程数目,该 统调度的独立单位;每个传
进 行任务调度时,系 响应客户请求而须建立一个
数目对于许多 统进程都能以各自独立的速
程 统必须切换地址空 新的服务进程的服务器应用
并发应用来说 度在CPU上运行
间,且切换时间长 过程中,创建开销大
是不够的
14

22.
(考研真题)现代 OS 一般都提供多进程(或称多任务)运行环境,回答以下问题。
(1)为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?
(2)为支持进程状态的变迁,系统至少应提供哪些进程控制原语?
(3)在执行每一个进程控制原语时,进程状态会发生什么变化?相应的数据结构会发
生什么变化?
计算机操作系统习题与考研真题解析

【参考答案】(1)为支持多进程的并发执行,系统必须建立关于进程的相关数据结构,包
括PCB和队列结构(如就绪队列、等待队列、运行指针等)。
(2)为支持进程状态的变迁,系统应提供的进程控制原语包括:创建原语、阻塞原语、唤
醒原语、撤销原语。
(3)在执行每一个进程控制原语时,进程状态及相应的数据结构有4种变化情况。①创建原
语:系统为进程创建PCB,并对它进行初始化。进程状态由无变为就绪状态,新创建的进程加入
就绪队列中。②阻塞原语:进程状态从运行状态变为阻塞状态,并将阻塞进程的PCB插入相应的
阻塞队列中。③唤醒原语:进程状态从阻塞状态变为就绪状态,从阻塞队列中删除该进程,并将
其插入就绪队列中。④撤销原语:进程状态从运行状态变为消亡状态,系统撤销该进程的PCB。

第3章 处理机调度与死锁

3.1 简答题参考答案

1.高级调度与低级调度的主要任务是什么?为什么要引入中级调度?
【参考答案】①高级调度的对象是作业。它的主要任务是根据某种算法,决定将外存上处
于后备队列中的哪几个作业调入内存,为它们创建进程、分配必要的资源,并将它们放入就绪
队列。②低级调度的对象是进程(或内核级线程)。它的主要任务是根据某种算法,决定就绪
队列中的哪个进程获得处理机,并由分派程序将处理机分配给被选中的进程。
引入中级调度的主要目的是提高内存利用率和系统吞吐量。为此,应把那些暂时不能运行
的进程调至外存等待,把进程状态改为就绪驻外存状态或挂起状态。当它们已具备运行条件且
内存又有空间时,由中级调度来决定把外存上的那些已具备运行条件的就绪进程再重新调入内
存,并修改它们的状态为就绪状态,挂在就绪队列上等待。
2.何谓作业和 JCB(job control block,作业控制块)?
【参考答案】①作业包含通常所说的程序和数据,还配有作业说明书。系统根据该说明书
对程序的运行进行控制。批处理系统中是以作业为基本单位将其从外存调入内存的。②JCB是作
业在系统中存在的标志。为了管理和调度作业,为每个作业设置一个JCB,用于记录管理和调度
作业所需的全部信息。
3.在什么情况下需要使用 JCB ?其中包含了哪些内容?
【参考答案】当一个作业进入系统时,便由“作业注册”程序为该作业建立一个JCB,再
15

根据作业类型,将其插入相应的后备队列中等待调度。调度程序依据一定的调度算法来调度它
们,被调度到的作业将被装入内存。在作业运行期间,系统会按照JCB中的信息和作业说明书来
对作业进行控制。当一个作业执行结束并进入完成状态时,系统负责回收已分配给它的资源,
并撤销其JCB。
JCB包含的内容通常有作业标志、用户名称、用户账户、作业类型(CPU繁忙型、I/O繁忙
型、批量型、终端型)、作业状态、调度信息(优先级、作业已运行)、资源要求、入系统时
间、开始处理时间、作业完成时间、作业退出时间、资源使用情况等。


4.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?
1

部分
【参考答案】作业调度每次接纳进入内存的作业数取决于多道程序度,即取决于系统允许

课后习题参考答案
多少个作业同时在内存中运行。应选择哪些作业从外存调入内存,取决于所采用的作业调度算
法,最简单的是FCFS(first come first served,先来先服务)调度算法,较常用的是SJF(short
job first,短作业优先)调度算法和基于优先级的调度算法。
5.试说明低级调度的主要功能。
【参考答案】低级调度是在就绪队列中选择某个进程,由分派程序把CPU分配给该进程。
低级调度的主要功能有:①保存当前进程的CPU现场信息;②按某种算法选择投入执行的新进
程;③恢复新进程的CPU现场,从而将CPU分配给新进程。
6.
(考研真题)简述引起进程调度的原因。
【参考答案】引起进程调度的常见原因有:①正在执行的进程正常终止或异常终止;②正
在执行的进程因某种原因而阻塞,如提出I/O请求后被阻塞、在调用wait操作时因资源不足而阻
塞、因其他原因执行block原语而阻塞等;③在引入时间片的系统中,时间片用完;④在抢占式
调度方式中,就绪队列中某进程的优先级比当前正在执行进程的高,或者有优先级更高的进程
进入就绪队列。
7.在抢占式调度算法中,抢占的原则是什么?
【参考答案】抢占的原则有:①优先级原则,指允许优先级高的新到进程抢占当前进程的
处理机;②短进程优先原则,指允许新到的短进程抢占当前长进程的处理机;③时间片原则,
即各进程按时间片轮转运行时,当正在执行的进程的一个时间片用完后,便停止该进程的执行
而重新进行调度。
8.在选择调度方式和调度算法时,应遵循哪些准则?
【参考答案】一般而言,在设计一个OS时,应如何选择调度方式和调度算法,很大程度上
取决于OS的类型及其设计目标。在批处理系统、分时系统和实时系统中,通常会采用不同的
调度方式和调度算法。遵循的准则包括:①处理机调度算法的共同目标,即资源利用率高、保
证公平性与平衡性以及策略强制执行;②批处理系统的目标,即平均周转时间短、系统吞吐量
大、处理机利用率高;③分时系统的目标,即响应时间快、保证均衡性;④实时系统的目标,
即保证截至时间和可预测性。
9.何谓静态优先级和动态优先级?确定进程优先级的依据是什么?
【参考答案】①静态优先级是指在创建进程时确定的、在进程的整个运行期间保持不变的
优先级。②动态优先级是指在创建进程之初,先赋予进程一个优先级,然后其值会随进程的推
进或等待时间的增加而改变,如此而为的目的是获得更好的调度性能。此外,确定进程优先级
16

的依据有进程类型、进程对资源的需求和用户要求等。
10.试比较 FCFS 和 SJF 这两种调度算法。
【参考答案】本题分步解答如下。
(1)相同点:这两种调度算法都可以用于作业调度和进程调度。
(2)不同点:FCFS调度算法每次都从后备队列中选择一个或多个最先进入该队列的作
计算机操作系统习题与考研真题解析

业,将它们调入内存、分配资源、创建进程、插入就绪队列。该算法有利于长作业/长进程,不
利于短作业/短进程。SJF调度算法每次调度都从后备队列中选择一个或若干个估计运行时间最
短的作业,将其调入内存运行。该算法有利于短作业/短进程,不利于长作业/长进程。
11.在基于时间片的 RR(round robin,
轮转)调度算法中,应如何确定时间片的大小?
【参考答案】在RR调度算法中,时间片的大小对系统性能有很大的影响。通常,时间片应
略大于一次典型的交互所需的时间,使大多数交互式进程能在一个时间片内完成,从而获得很
小的响应时间。在确定时间片的大小时,一般应考虑3个因素:系统对相应时间的要求、就绪队
列中进程的数目和系统的处理能力。
12.为什么说多级反馈队列调度算法能较好地满足各方面用户的需求?
【参考答案】本题分步解答如下。
(1)对于终端型作业用户,其所提交的作业大都属于较小的交互型作业,系统只要使这些
作业在第1队列规定的时间片内完成,终端型作业用户就会感到满足。
(2)对于短批处理作业用户,如果其作业在第1队列中执行一个时间片即可完成,便可获
得与终端作业一样的响应时间。对于稍长批处理作业用户,其作业通常只须在第2队列和第3队
列各执行1个时间片即可完成,周转时间仍然较短。
(3)对于长批处理作业用户,其将依次在第1,2,…,n个队列中运行,然后再按轮转方式
运行,用户不必担心其作业长期得不到处理。因此,多级反馈队列调度算法能满足多用户需求。
13.为什么在实时系统中要求系统(尤其是 CPU)具有较强的处理能力?
【参考答案】在实时系统中都存在着若干个实时进程或任务,它们用来反映或控制某个
(些)外部事件,往往带有某种程度的紧迫性,因而对实时系统中的调度提出了某些特殊要
求。若CPU的处理能力不够强,则有可能会因CPU忙不过来而使某些实时任务得不到及时处
理,从而导致发生难以预料的后果。
14.按照调度方式可将实时调度算法分为哪几种?
【参考答案】按照调度方式可将实时调度算法分为非抢占式调度算法和抢占式调度算法两
种。①非抢占式调度算法,包括非抢占式RR调度算法和非抢占式优先级调度算法;②抢占式调
度算法,根据抢占时机的不同分为基于时钟中断的抢占式优先级调度算法和立即抢占的优先级
调度算法。
15.实时系统常用的调度算法有哪些?请分别介绍它们。
【参考答案】实时系统的调度算法主要是基于任务开始/截止时间的EDF(earliest deadline
first,最早截止时间优先)调度算法,以及基于任务紧急/松弛程度的LLF(least laxity first,最
低松弛度优先)调度算法。
(1)EDF调度算法。该算法是根据任务的开始/截止时间确定任务的优先级的,截止时间越
早则优先级越高。算法要求在系统中保持一个实时任务就绪队列,该队列按各任务截止时间的
17

先后顺序进行排序。
(2)LLF调度算法。该算法是根据任务的紧急/松弛程度确定任务的优先级的。任务的紧急
程度越高,赋予该任务的优先级就越高,以使其优先执行。例如,一个任务在200ms时必须完
成,而它本身所需的运行时间就是100ms,因此,调度程序必须在100ms或之前调度执行,该任
务的紧急程度(松弛程度)为100ms。
16.在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法?
【参考答案】①在批处理系统中可采用的调度算法有SJF、优先级、高响应比优先、多级反


馈队列等调度算法。②在分时系统中常用的调度算法是RR调度算法。③在实时系统中可采用的 1

部分
调度算法有EDF调度算法和LLF调度算法。

课后习题参考答案
17.
(考研真题)什么是死锁?产生死锁的原因和必要条件是什么?如何预防死锁?
【参考答案】死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于
这种僵持状态时,若无外力作用,它们都将无法向前推进。产生死锁的原因有:①竞争不可抢
占性资源;②竞争可消耗资源;③进程间推进顺序不当。产生死锁必须同时具备4个必要条件:
互斥条件、请求和保持条件、不可抢占条件、循环等待条件。
预防死锁是通过破坏产生死锁的4个必要条件中的一个或几个来实现的。其中互斥条件是设
备固有属性,不能改变,因此主要破坏产生死锁的其他3个必要条件。①破坏“请求和保持”条
件。当一个进程在请求资源时,它不能持有不可抢占性资源。②破坏“不可抢占”条件。当一
个已经保持了某些不可抢占性资源的进程提出新的资源请求而不能得到满足时,它必须释放已
经保持的所有资源,待以后需要时再重新申请。③破坏“循环等待”条件。对系统所有资源类
型进行线性排序,并赋予它们不同的序号,规定每个进程必须按序号递增的方式请求资源。
18.在解决死锁问题的几个方法中,哪个方法最易于实现?哪个方法可使资源利用率
最高?
【参考答案】解决死锁的方法有预防死锁、避免死锁、检测和解除死锁,其中预防死锁这
一方法最容易实现,但由于所施加的限制条件过于严格,资源利用率和系统吞吐量会降低;而
检测和解除死锁这一方法可使系统获得较好的资源利用率和系统吞吐量。

3.2 计算题参考答案

19.
(考研真题)有 5 个进程(见表 1-3-1)需要调度执行,若采用非抢占式优先级(短
进程优先)调度算法,问这 5 个进程的平均周转时间是多少?

表1-3-1 进程执行时间表

进程 到达时间 执行时间
P1 0.0 9
P2 0.4 4
P3 1.0 1
P4 5.5 4
P5 7 2
18

【参考答案】本题分步解答如下。 P1
(1)采用非抢占式优先级(短进程优先)调度算 P2
法,各进程执行次序如图1-3-1所示。在0时刻,进程P1到

进程
P3
达,P1获得处理机。由于不可抢占,因此P1会一直运行到
P4
9时刻结束;在9时刻,所有进程到达,根据短进程优先调
P5
度,P3获得处理机,然后是P5;P2和P4的预计运行时间一
计算机操作系统习题与考研真题解析

0 9 10 12 16 20
样,按照FCFS原则,P2优先获得处理机,最后是P4。 时间
(2)周转时间=完成时间-作业到达时间。因此P 1的
图 1-3-1 进程运行时间关系图
周转时间是9-0=9,P2的周转时间是16-0.4=15.6,P3的周
转时间是10-1=9,P4的周转时间是20-5.5=14.5,P5的周转时间是12-7=5。这5个进程的平均周
转时间为(9+15.6+9+14.5+5)/5=10.62。
20.(考研真题)假定要在一台处理机上执行表 1-3-2 所示的作业,且假定这些作业
在时刻 0 以 1,2,3,4,5 的顺序到达。请说明分别采用 FCFS、RR(时间片为 1)
、SJF
及非抢占式优先级调度算法时,这些作业的执行情况(优先级的高低顺序依次为 1 到 5)。
针对上述每种调度算法,给出平均周转时间和平均带权周转时间。

表1-3-2 作业执行时间表

作业 执行时间 优先级

1 10 3

2 1 1

3 2 3

4 1 4

5 5 2

【参考答案】本题分步解答如下。
(1)作业执行顺序如图1-3-2所示。

FCFS:
1 2 3 4 5

RR:
1 2 3 4 5 1 3 5 1 5 1 5 1 5 1

SJF:
2 4 3 5 1

非抢占式优先级:
2 5 1 3 4

图 1-3-2 作业执行顺序图

(2)各个作业对应于各个算法的周转时间和带权周转时间见表1-3-3。
19

表1-3-3 作业运行情况比较表

时间类型 P1 P2 P3 P4 P5 平均时间
算法
运行时间 10 1 2 1 5 3.8

周转时间 10 11 13 14 19 13.4
FCFS
带权周转时间 1 11 6.5 14 3.8 7.26

周转时间 19 2 7 4 14 9.2
RR


带权周转时间 1.9 2 3.5 4 2.8 2.84
1

部分
周转时间 19 1 4 2 9 7
SJF

课后习题参考答案
带权周转时间 1.9 1 2 2 1.8 1.74

周转时间 16 1 18 19 6 12
非抢占式
优先级 带权周转时间 1.6 1 9 19 1.2 6.36

因此,FCFS的平均周转时间为13.4,平均带权周转时间为7.26。RR的平均周转时间为9.2,
平均带权周转时间为2.84。SJF的平均周转时间为7,平均带权周转时间为1.74。非抢占式优先级
的平均周转时间为12,平均带权周转时间为6.36。注意:SJF的平均周转时间最短。
21.(考研真题)将一组进程分为 4 类,如图 1-3-3 所示。各类进程之间采用优先级
调度算法,而各类进程的内部采用 RR 调度算法。请简述 P1,P2,P3,P4,P5,P6,P7,
P8 进程的调度过程。


优先级4(最高) P1 P2 P3

优先级3 P4 P5

优先级2 P6 P7 P8

优先级1(最低)

图 1-3-3 进程分类图

【参考答案】由于不同类进程间采用优先级调度算法,同类进程间采用RR调度算法,因
此,系统首先对优先级为4的进程P1、P2、P3采用RR调度算法进行运行;当P1、P2、P3运行结束
或阻塞时,再对优先级为3的进程P4、P5采用RR调度算法进行运行。在此期间,若P1、P2、P3队
列中有转为就绪状态的进程,则优先级3队列的当前时间片用完后回到优先级4队列进行进程调
度。类似地,当进程P1~P5运行结束或阻塞时,对优先级为2的进程P6、P7、P8采用RR调度算法
进行运行,一旦进程P1~P5中有一个转为就绪状态,当前时间片用完后就立即回到相应的优先级
队列进行RR调度。
22.由 5 个进程组成进程集合 P={P0,P1,P2,P3,P4},系统中有 3 类资源 A,B,C,
假设在某时刻有表 1-3-4 所示的进程资源分配情况。
20

表1-3-4 进程资源分配情况

Allocation Max Available


进程
A B C A B C A B C

P0 0 0 3 0 0 4
计算机操作系统习题与考研真题解析

P1 1 0 0 1 7 5

P2 1 3 5 2 3 5 x y z

P3 0 0 2 0 6 4

P4 0 0 1 0 6 5

请问当 x,y,z 取下列值时,系统是否处于安全状态?


(1)1,4,0;(2)0,6,2;(3)1,1,1;(4)0,4,7。
【参考答案】由银行家算法中Need、Max、Allocation间的关系可得:

0 0 4  0 0 3  0 0 1 
1 7 5  1 0 0  0 7 5
     
Need = Max-Allocation =  2 3 5  - 1 3 5  = 1 0 0  。
0 6 4  0 0 2  0 6 2 
0 6 5  0 0 1  0 6 4 
     

(1)当Available为(1,4,0)时,根据Need矩阵可知,可满足P2的需求;P2结束后释放资
源,Available为(2,7,5)可满足P0、P1、P3、P4中任一进程的需求,因此系统不会出现死锁,
处于安全状态。
(2)当Available为(0,6,2)时,可满足进程P 0、P 3的需求;进程结束后释放资源,
Available为(0,6,7),可满足P4的需求;P4结束后释放资源,Available为(0,6,8),此时
不能满足其余任一进程的需求,系统出现死锁,因此当前处在非安全状态。
(3)当Available为(1,1,1)时,可满足进程P 0、P2的需求;这两个进程结束后释放资
源,Available为(2,4,9),此时不能满足其余任一进程的需求,系统出现死锁,处于非安全
状态。
(4)当Available为(0,4,7)时,可满足P0的需求,进程结束后释放资源,Available为
(0,4,10),此时不能满足其余任一进程的需求,系统出现死锁,处于非安全状态。

3.3 综合应用题参考答案

23.
(考研真题)假设系统中有下述 3 种解决死锁的方法 :
(1)银行家算法 ;
(2)检测死锁,终止处于死锁状态的进程,释放该进程所占有的资源 ;
(3)资源预分配。
21

简述上述哪种方法允许最大的并发性?请按“并发性”从大到小对上述 3 种方法进行排序。
【参考答案】①题中给出的3种方法中,检测死锁能允许更多的进程无须等待地向前推进,
并发性最大。因为该方法允许进程最大限度地申请并分配资源,直至出现死锁,再由系统解决
死锁。②银行家算法允许进程自由申请资源,只是在某个进程申请资源时会检查系统是否处于
安全状态,若是,则可立即分配;若不是,则拒绝。其并发性的大小次于检测死锁这一方法。
③最后是资源预分配,因为此方法要求进程在运行之前申请所需的全部资源,这会使许多进程
因申请不到全部资源而无法开始,得到部分资源的进程也会因未得到全部资源而不释放已占用


的资源,所以此方法会导致资源浪费。因此,上述3种方法按并发性从大到小排序为:检测死
1

部分
锁、银行家算法、资源预分配。

课后习题参考答案
24.(考研真题)某银行要实现一个电子转账系统,基本业务流程是 :首先对转出方和
转入方的账户进行加锁,然后办理转账业务,最后对转出方和转入方的账户进行解锁。若
不采取任何措施,则系统会不会发生死锁?为什么?请设计一个能够避免死锁的方法。
【参考答案】本题分步解答如下。
(1)系统会发生死锁。原因如下:假如两个账号A和B有两个转账业务,分别是从A转入B
和从B转入A。这两个业务在执行时可能会发生以下情况:一个业务锁定A账户,试图锁定B账户
失败而等待;另一个业务锁定B账户,试图锁定A账户失败,也在等待,进而即会导致系统处于
死锁状态。
(2)为了避免死锁,可采用两阶段加锁方法,即为每个账户设定一个唯一的账号,在业务
执行前,必须按照账号的大小顺序依次获得所有账户的锁,业务完成后再依次按照锁定的先后
次序将后锁定的账户先解锁。
25.(考研真题)设有进程 P1 和进程 P2 并发执行,它们都需要使用资源 R1 和 R2,使
用资源情况如表 1-3-5 所示。

表1-3-5 进程使用资源情况

进程P1 进程P2

申请资源R1 申请资源R2

申请资源R2 申请资源R1

释放资源R1 释放资源R2

试判断是否会发生死锁,并解释和说明发生死锁的原因与必要条件。
【参考答案】这两个进程在不同的推进速度下,可能会产生死锁。比如:进程P1先申请资
源R 1,P 1得到R 1后进程P 2申请R 2,P 2得到R 2后,P 1又申请资源R 2,此时则因R 2已分配,故P 1阻
塞。P1和P2两个进程因申请不到所需资源而形成死锁。如果改变进程的运行顺序,则这两个进
程可能又不会发生死锁。因此,产生死锁的原因可归结为两点:①竞争资源;②进程推进顺序
非法。产生死锁的必要条件:①互斥条件;②请求和保持条件;③不可抢占条件;④循环等待
条件。
22

第4章 进程同步
计算机操作系统习题与考研真题解析

4.1 简答题参考答案

1.什么是临界资源?什么是临界区?
【参考答案】①在计算机中有许多资源一次仅允许一个进程使用,我们把一次仅允许一个
进程使用的资源称为临界资源,如打印机和一些共享变量等。②进程中访问临界资源的那段代
码称为临界区。
2.同步机制应遵循的准则有哪些?
【参考答案】同步机制应遵循的准则主要有4个。
(1)空闲让进。当无进程处于临界区时,表明临界资源处于空闲状态,应允许一个请求进
入临界区的进程立即进入临界区,以有效地利用临界资源。
(2)忙则等待。当已有进程在临界区时,表明临界资源正在被访问,因而其他试图进入临
界区的进程必须等待,以保证对临界资源的互斥访问。
(3)有限等待。对要求访问临界资源的进程,应保证其能在有限时间内进入临界区,以免
陷入“死等”状态。
(4)让权等待。当进程不能进入临界区时,其应立即释放处理机,以免进程陷入“忙等”。
3.为什么各进程对临界资源的访问必须互斥?
【参考答案】临界资源本身的特性决定了它们只能被各个进程互斥地访问,如果并发执行
的多个进程同时访问临界资源,则会造成系统混乱或程序执行结果不确定。这样,进程运行结
果就可能不正确或者不确定。比如,两个进程并发执行如下程序段:

mov ax, (counter);


inc ax;
mov (counter), ax;

其中,共享变量counter初值为0,对counter执行加1操作。如果允许一个进程访问counter,另一
个进程也可以对其进行操作,则counter的值最终可能是正确结果2,也可能是错误结果1,即计
算结果出现了不确定性。因此,各进程对临界资源的访问必须互斥地进行。
4.如何保证各进程互斥地访问临界资源?
【参考答案】为了互斥地访问临界资源,系统必须保证进程互斥地进入临界区。为此,必
须在临界区前增加一段进入区代码,以检查是否有其他进程已进入临界区而在使用临界资源。
若有,则进程必须等待;否则,允许进程进入临界区,同时设置标志以表示有进程正在临界区
内。同样,在临界区后必须增加一段退出区代码,用于将已有进程进入临界区访问临界资源的
标志改为无进程进入临界区使用临界资源。进入区和退出区可用多种同步机制实现,如锁、信
23

号量机制等。
5.何谓“忙等”?它有什么缺点?
【参考答案】①“忙等”是指“不让权”的等待,即进程因某事件的发生而无法继续执行
时,它仍占用CPU,并通过不断地执行循环测试指令来等待该事件的完成。②“忙等”的主要
缺点是浪费CPU时间,另外,它还可能会引起预料不到的后果。例如,考虑某个采取高优先级
优先调度原则的系统,目前有两个进程A和B共享某个临界资源,A的优先级较高,B的优先级较
低,且B已处于临界区内,而A欲进入自己的临界区,则A、B都不可能继续向前推进,进而即会


陷入“死等”状态。 1

部分
6.试述采用 Peterson 算法实现临界区互斥的原理。

课后习题参考答案
【参考答案】Peterson算法中Pi和Pj两个进程共享turn和flag两个变量。turn=i表示Pi进程可以进
入临界区,f lag[i]=TRUE表示Pi进程准备进入临界区。因此,可能会存在以下几种请求情况。
(1)当Pi在临界区中时,若Pj请求进入临界区,则f lag[i]=TRUE,turn=i,flag[j]=TRUE,
即Pj中flag[i]&&turn=i为TRUE,此时Pj会循环执行while语句——“忙等”而无法进入临界区,
满足“忙则等待”。
(2)如果临界区目前空闲,但Pi请求进入,而Pj未请求,此时f lag[i]=TRUE,turn=j,
flag[j]=FALSE,因此Pi的while条件为FALSE,Pi可进入临界区执行。如果两个进程都要进入临
界区,即flag[i]= flag[j]=TRUE,则turn只能取0或1,只能有一个进程进入临界区。当一个进程退
出临界区后,另一个进程即可进入临界区,满足“有限等待”。
7.哪些硬件方法可以解决进程互斥问题?简述它们的用法。
【参考答案】解决进程互斥问题可采用的硬件方法主要有下列3种。
(1)利用“关中断”实现,将临界区放在关中断与开中断之间,关中断后不允许当前进
程被中断,因此进程在临界区执行期间都不允许被中断,不能发生进程切换;进程访问完临界区
后,再执行开中断指令,此时其他进程才能获得处理机并访问临界区,进而有效保证进程互斥。
(2)Test-and-Set指令,简称TS指令或TSL指令。该指令是一条硬件指令,指令执行过程
中不允许被中断,即TS指令把“上锁”和“检查”操作用硬件的方式变成了一气呵成的原子操
作。指令执行过程为:①为每个临界资源设置一个布尔变量lock,表示当前临界区是否加锁;
②进程进入临界区前,首先用TS指令测试lock,若其值为FALSE,则表示没有进程在临界区
内,while循环条件不满足,进入临界区,并将TRUE值赋给lock,即关闭临界区;③任何其他进
程再利用TS指令测试lock,while都会一直循环,直到当前访问临界区的进程在退出区进行“解
锁”,从而实现了进程互斥。
(3)Swap指令,该指令是用硬件实现的,执行过程不允许中断。其用法是为每个临界资源
设置一个全局布尔变量lock,初值为FALSE,在每个进程中再利用一个局部布尔变量key,使用
Swap指令与lock进行数值交换,循环判断lock的取值。只有当key为FALSE时,进程才可进入临
界区进行操作。从逻辑上看,Swap指令和TS指令并无太大区别,都是先记录下此时临界区是否
已经被上锁,再将上锁标记lock设置为TRUE,最后检查局部布尔变量key,如果key为FALSE,
则说明之前没有别的进程对临界区上锁,此时可跳出循环,进入临界区。
8.(考研真题)如果用于进程同步的信号量的 P、V 操作不用原语实现,则会产生什
么后果?举例说明。
【参考答案】例如:利用P、V操作实现A、B进程对临界资源的互斥使用,代码如下。
24

semaphore S=1;
A( ){ B( ){
while(1){ while(1){
P(S); P(S);
临界区 ; 临界区 ;
计算机操作系统习题与考研真题解析

V(S); V(S);
剩余区 ; 剩余区 ;
} }
} }

若P、V操作不被设计成原语,则执行P、V操作时进程可以被中断。A、B并发执行,初始
状态下,临界资源空闲,故应允许第一个申请临界资源的进程(假设为A进程)进入临界区而使
用临界资源。但如果A执行到P操作的语句S.value--后(此时S.value的值为0)被B中断,B进程执
行P操作,则当B进程执行语句S.value--且S.value的值变为-1时,由于S.value<0,B会被阻塞,A
进程再次获得CPU后,同样也会因为S.value<0而被阻塞,这就出现了临界资源虽然空闲但进程
申请不到的情况,即此时P、V操作无法满足同步机制中“空闲让进”的要求。同样,一个执行
P操作的进程被中断后,另一个进程去执行V操作;或一个执行V操作的进程被中断后,另一个进程
去执行P或V操作,都将发生混乱,难以实现进程同步。因此,P、V操作必须设计成原语的方式。
9.AND 信号量机制的基本思想是什么?它能解决什么问题?
【参考答案】①AND信号量机制的基本思想是将进程在整个运行过程中所需要的所有临界
资源一次性全部分配给进程,待该进程使用完后再一起释放。只要尚有一个所需资源未能分配
给该进程,则其他所有将为之分配的资源都不分配给它。亦即,对若干个临界资源的分配采取
原子操作方式,要么全部分配到进程,要么一个也不分配。②它能解决的问题是防止死锁的发
生,因为该方法在资源分配过程中使产生的死锁必要条件中的“请求和保持”条件不被满足。
10.利用信号量机制实现进程互斥时,对互斥信号量的 wait() 和 signal() 操作为什么
要成对出现?
【参考答案】利用信号量机制实现进程互斥时,对互斥信号量mutex的wait()和signal()操作
必须成对出现,缺少wait(mutex)将会导致系统混乱,不能保证进程对临界资源的互斥访问;而
缺少signal(mutex)则将会使临界资源永远不被释放,从而使因等待该资源而阻塞的进程不能被
唤醒。
11.什么是管程?它有哪些特性?
【参考答案】由代表共享资源的数据结构以及由对该共享数据结构实施操作的一组过程所
组成的资源管理程序共同构成的一个OS资源管理模块,称为管程。
管程是一种程序设计语言结构成分,从语言的角度看,管程主要有以下特性:①模块化,
管程是一个基本程序单位,可以单独编译;②抽象数据类型,管程中不仅有数据,而且有针对
数据的操作;③信息掩蔽,管程中的数据结构只能被管程中的过程访问,这些过程在管程内部被
定义,供管程外的进程调用,而管程中的数据结构以及过程(函数)的具体实现在外部不可见。
12.试述管程中条件变量的含义和作用。
【参考答案】条件变量是管程内的一种数据结构,且只有在管程中才能被访问,它对于
管程内的所有过程而言是全局变量,只能通过两个原语操作来控制它。①x.wait()原语。调用
25

进程阻塞并移入与条件变量x相关的队列中,释放管程,直到另一个进程在该条件变量x上执
行signal()以唤醒等待进程,并将其移出条件变量x的队列。②x.signal()原语。如果存在其他
进程由于对条件变量x执行wait()操作而被阻塞,则释放之;如果没有进程在等待,则信号被
丢弃。
条件变量是一种信号量,起到了维护等待进程队列的作用。当管程中的进程被阻塞或挂起
而不能运行时,如果该进程不释放管程,则其他进程就无法进入管程,此时就需要条件变量来
进行控制。


1

部分
4.2 计算题参考答案

课后习题参考答案
13.若信号量的初值为 2,当前值为 -1,则表示有多少个等待进程?请分析。
【参考答案】信号量的初值表示系统中资源的数目,每次的P操作表示进程请求一个单位的
资源,信号量进行减1操作,当信号量小于0时,表示资源已分配完毕,进程自我阻塞。如果信
号量小于0,那么信号量的绝对值表示当前阻塞队列中进程的个数。因此,当前值为-1,表示有
1个等待进程。
14.有 m 个进程共享同一临界资源,若使用信号量机制实现对某个临界资源的互斥访问,
请求出信号量的变化范围。
【参考答案】某个临界资源的信号量初值为1,其是信号量的最大值。m个进程分别对临界
资源发出1次请求,信号量均要执行减1操作,因此,最多可允许m个进程同时申请,此时信号量
的值是1-m,为最小值。因此,信号量值的范围是1-m至1。
15.若有 4 个进程共享同一程序段,而且每次最多允许 3 个进程进入该程序段,则信
号量值的变化范围是什么?
【参考答案】程序段作为共享资源,最多允许3个进程进入其中,因此设置信号量初值为
3。当4个进程共享该程序段时,在每个进程申请进入时,信号量都会执行减1操作。当第1个进
程申请进入时,信号量值变为2;第2个进程申请进入时,信号量值变为1;第3个进程申请进入
时,信号量值变为0,第4个进程申请进入时,信号量值变为-1。因此,信号量的变化范围是3,
2,1,0,-1。

4.3 综合应用题参考答案

16.(考研真题)3 个进程 P1、P2、P3 互斥地使用一个包含 N(N > 0)个单元的缓冲


区。P1 每次用 produce() 生成一个正整数,并用 put() 将其送入缓冲区的某一空单元中 ;P2
每次用 getodd() 从该缓冲区中取出一个奇数,并用 countodd() 统计奇数的个数 ;P3 每次用
geteven() 从该缓冲区中取出一个偶数,并用 counteven() 统计偶数的个数。请用信号量机
制实现这 3 个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。
【参考答案】定义资源信号量empty、odd、even,用于控制生产者与消费者之间的同步,
其中,empty表示空缓冲区的数目,odd表示缓冲区中奇数的个数,even表示缓冲区中偶数的个
数;定义互斥信号量mutex,用于实现进程对缓冲区的互斥访问。伪代码描述如下:
26

semaphore empty=N,even=0,odd=0,mutex=1;
P1: P2: P3:
while(1){ while(1){ while(1){
x=produce( ); P(odd); P(even);
P(empty); P(mutex); P(mutex);
P(mutex); getodd( ); geteven( );
计算机操作系统习题与考研真题解析

put(x); countodd( ); counteven( );


V(mutex); V(mutex); V(mutex);
if (x%2==0) V(empty); V(empty);
V(even); } }
else
V(odd);
}

17.(考研真题)某银行提供了 1 个服务窗口和 10 个供顾客等待时使用的座位。顾客


到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位
顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动
过程描述如下。

cobegin {
process 顾客 {
从取号机上获得一个号码 ;
等待叫号 ;
获得服务 ;
}
process 营业员 {
while (TRUE) {
叫号 ;
为顾客服务 ;
}
}
} coend

请添加必要的信号量和 P、V 操作或 wait()、signal() 操作,实现上述过程中的互斥与同


步。要求写出完整的过程,说明信号量的含义并赋初值。
【参考答案】

semaphore numget=1, seats=10, custom=0; //numget 是关于取号机互斥的信号量 ;信号量


seats 是座位的个数 ;信号量 custom 是顾客的个数
27

process 顾客 { process 营业员 {


P(seats); // 看有没有空座位 P(custom);
P(numget); // 取号 叫号 ;
取号 ; 为顾客服务 ;
V(numget); // 取完号后释放取号机 }
V(custom);
等待叫号 ;


V(seats);
1

部分
接受服务 ;
}

课后习题参考答案
18.如图 1-4-1 所示,有 1 个计算进程和 1 个打印进程,它们共享一个单缓冲区,计
算进程不断计算出一个整型结果,并将它放入单缓冲区中 ;打印进程则负责从单缓冲区中
取出每个结果并进行打印。请用信号量机制来实现它们的同步关系。

计算进程 单缓冲区 打印进程

图 1-4-1 共享单缓冲区的计算进程和打印进程

【参考答案】由题意可知,本题中计算进程和打印进程为合作的同步关系。计算进程需要
向空闲缓冲区中放入计算好的数据,因此要设置它所需要的empty信号量,由于开始时缓冲区为
空,因此empty初值为1;打印进程需要输出已放入缓冲区中的打印结果,因此需要设置它所需
要的信号量full,初始状态下缓冲区中无结果可供打印,故full的初值为0。

semaphore full=0, empty=l;


int buffer;
cp( ) { pp( ){
int nextc; int nextp;
while(1) { while(1) {
compute the next number nextc; P(full);
P(empty); nextp=buffer;
buffer=nextc; V(empty);
V(full); print the number in nextp;
} }
} }
main( ) {
cobegin
cp( );
pp( );
coend
}
28

19.有 3 个进程 P1、P2、P3 协作解决文件打印问题。P1 将文件记录从磁盘读入内存


的缓冲区 1,每执行一次读一个记录 ;P2 将缓冲区 1 中的内容复制到缓冲区 2 中,每执行
一次复制一个记录 ;P3 将缓冲区 2 中的内容打印出来,每执行一次打印一个记录。缓冲区
的大小与记录大小一样。请用信号量机制来保证文件的正确打印。
【参考答案】对缓冲区1来说,P1是生产者,P2是消费者;对缓冲区2来说,P2是生产者,P3
计算机操作系统习题与考研真题解析

是消费者。缓冲区1和缓冲区2都只能存放一个记录,它们都是临界资源,但无须使用信号量来
实现互斥。P2对于缓冲区1是消费者,对于缓冲区2是生产者,因此要对P2设置两个信号量来分别
控制其对不同缓冲区的不同操作。该文件打印过程的同步算法可描述为:

semaphore empty1=1,full1=0,empty2=1,full2=0;

P1( ) { P2( ){
while(1) { while(1) {
从磁盘读一个记录 ; P(full1);
P(empty1); P(empty2);
将记录存放到缓冲区 1 中 ; 从缓冲区 1 中取一个记录 ;
V(full1); 将记录复制到缓冲区 2 中 ;
} V(empty1);
} V(full2);
}
}

P3( ) { main( ) {
while(1){ cobegin
P(full2); P1( );
从缓冲区 2 中取一个记录 ; P2( );
V(empty2); P3( );
将取出的记录打印出来 ; coend
} }
}

20.桌上有一个能盛得下 5 个水果的空盘子。爸爸不停地向盘中放苹果或橘子,儿子
不停地从盘中取出橘子享用,女儿不停地从盘中取出苹果享用。规定 3 人不能同时向(从)
盘子中放(取)水果。试用信号量来实现爸爸、儿子和女儿这 3 个“循环进程”之间的
同步。
【参考答案】分析:本题是生产者-消费者问题的变形,相当于一个能生产两种产品的生
产者(爸爸)向两个消费者(儿子和女儿)提供产品的同步问题,因此,须设置两个不同的
full信号量apple和orange,它们的初值均为0。为了描述上述同步问题,可定义如下信号量:

semaphore empty=5, orange=0, apple=0, mutex=1;


29

爸爸、儿子、女儿的算法可描述为:

Dad( ) { Son( ) { Daughter( ) {


while(1) { while(1) { while(1) {
P(empty); P(orange); P(apple);
P(mutex); P(mutex); P(mutex);
将水果放入盘中 ; 从盘中取一个橘子 ; 从盘中取一个苹果 ;


V(mutex); V(mutex); V(mutex);
1

部分
if( 放入的是橘子 ) V(empty); V(empty);
V(orange); 享用橘子 ; 享用苹果 ;

课后习题参考答案
else } }
V(apple); } }
}
}

21.试用记录型信号量写出一个不会死锁的哲学家进餐问题的算法。
【参考答案】此题有多种解法。其中之一是只允许4个哲学家同时进餐,以保证至少有1个
哲学家可以进餐,最终才可能由他释放出其所用过的两根筷子,从而使更多的哲学家可以进
餐。为此,须设置一个信号量Sm来限制同时进餐的哲学家数目,使它不超过4,因此可将Sm的
初值设置为4。
除了为每根筷子设置一个初值为1的信号量chopstick[i](i=0,…,4)外,还须再设置一个
初值为4的信号量Sm。第i个哲学家的活动可描述为:

Pi( ) {
while(1) {
P(Sm);
P(chopstick[i]);
P(chopstick[(i+1)% 5]);
eat;
V(chopstick[i]);
V(chopstick[(i+1)% 5]);
V(Sm);
think;
}
}
30

第5章 存储器管理
计算机操作系统习题与考研真题解析

5.1 简答题参考答案

1.存储器管理的基本任务,是为多道程序的并发执行提供良好的存储器环境。请问 :
“良
好的存储器环境”应包含哪几个方面?
【参考答案】“良好的存储器环境”应包含:①让每道程序“各得其所”,在不受干扰的
环境中运行,还可以使用户从存储空间的分配、保护等烦琐事务中解脱出来;②向用户提供更
大的存储空间,使更多的作业能同时运行,或使更大的作业能在较小的内存空间中运行;③为
用户在信息的访问、保护、共享以及动态链接等方面提供方便;④使存储器有较高的利用率。
2.内存保护是否可以完全由软件实现?为什么?
【参考答案】内存保护的主要任务,是确保每道程序都只能在自己的内存区中运行。这就
要求系统能对每条指令所访问的地址是否超出自己内存区的范围进行越界检查,一旦发生越
界,系统应能立即发出越界中断请求,抛弃该指令。若此检查完全用软件实现,则每执行一条
指令时,都需要增加若干条指令去执行越界检查,这大大降低了程序的执行速度。因此,越界
检查通常由硬件实现,以使指令能够与越界检查并行执行,从而不降低程序的执行速度。当
然,越界后的处理仍须由软件配合完成。因此,内存保护是由硬件和软件协同完成的。
3.
(考研真题)请解释什么是重定位?为什么要重定位?
【参考答案】①将用户程序的相对地址(逻辑地址)转换为绝对地址(物理地址)的过
程,称为重定位。②由于在多道程序环境下,多个目标模块的起始地址通常是0,程序中的其他
地址都是相对于0这一起始地址而言的。采用重定位,可根据内存的当前地址使用情况,将装入
模块装入内存的适当位置,并确定装入的物理地址,以保证程序运行时存取指令或数据地址的
正确。
4.动态重定位的实现方式有哪几种?
【参考答案】动态重定位的实现必须有硬件地址转换机构的支持,其具体实现方式主要有
以下2种。
(1)连续分配方式下的动态重定位。该方式须在整个系统中设置一个重定位寄存器,用来
存放正在执行的作业在内存中的起始地址。当CPU要存取指令或数据时,硬件地址转换机构会
自动将逻辑地址与重定位寄存器的值相加,形成指令或数据的物理地址。
(2)离散分配方式下的动态重定位。离散分配方式主要是指分页和分段存储管理方式。重
定位过程为:①系统首先必须为每个作业配置一张页(段)表,用来记录作业的每个页(段)
对应的内存块号(内存起始地址和段长),页(段)表被存放在内存中;②整个系统须设置一
个页(段)表控制寄存器,用来存放正在执行的作业的页(段)表起始地址和长度;③当CPU
要存取指令或数据时,硬件的地址转换机构会自动将逻辑地址分成页号和页内地址两部分(或
31

直接从逻辑地址中获得段号),根据页(段)号到控制寄存器所指示的页(段)表中获得对应
的物理块号(或段的内存起始地址),并与页(段)的地址相加,最终形成物理地址。
5.可采用哪几种方式将程序装入内存?它们分别适用于何种场合?
【参考答案】将程序装入内存可采用的方式有:绝对装入方式、重定位装入方式、动态运
行时装入方式。绝对装入方式适用于单道程序环境中,重定位装入方式和动态运行时装入方式
适用于多道程序环境中。
6.何谓静态链接?静态链接时需要解决哪两个问题?


1

部分
【参考答案】静态链接是指在程序运行之前,先将各目标模块及它们所需的库函数链接成
一个完整的装入模块,以后不再拆开的链接方式。将几个目标模块链接成一个装入模块时,须

课后习题参考答案
解决以下2个问题。
(1)修改相对地址,即将除第一个模块外的相对地址修改成装入模块中相应的相对地址。
(2)变换外部调用符号,即将每个模块中所用的外部调用符号变换为相对地址。
7.
(考研真题)编写程序时,源代码必须经过编译和链接生成目标代码,请问什么是
链接?链接主要解决了什么问题?简述链接的主要类型及其优缺点。
【参考答案】链接是指由链接程序将编译后形成的一组目标模块以及所需库函数链接在一
起,进而形成一个完整的装入模块。
链接程序按各个模块的相对地址依次构成统一的从0号单元开始编址的逻辑地址空间。链接
主要有3种类型。
(1)静态链接:在程序运行之前,先将各目标模块及它们所需的库函数链接成一个完整
的可执行程序,以后不再拆开。优点:适用范围比较广,无须担心用户机器缺少某个库函数。
缺点:①修改或更新某个目标模块时需要重新打开装入模块,这不仅涉及效率问题,而且在很
多时候甚至是不可能实现的;②在静态链接中,每个模块必含有目标模块的复制,无法实现
共享。
(2)装入时动态链接:将用户程序编译后所得到的一组目标模块,采用边装入边链接的方
式装入内存。优点:①便于修改和更新,针对动态链接方式,由于各目标模块是分开存放的,
因此非常容易修改或更新各目标模块;②便于实现对目标模块的共享,针对装入时链接方式,
很容易将一个目标模块链接到几个应用模块上,实现多个应用模块对目标模块的共享。缺点:
由于应用程序事先无法确定本次要运行的模块,因此该程序的所有模块要全部装入内存,并在
装入时链接在一起。有部分目标模块不会被运行,但也要装入,低效且浪费空间。
(3)运行时动态链接:将某些目标模块的链接推迟到程序执行时才进行。优点:在运行
时动态链接过程中未用到的目标模块都不会被调入内存和链接,这样不仅能加快程序的装入过
程,而且可以大大节省内存空间。
8.为什么要引入对换?对换可分为哪几种类型?
【参考答案】在多道程序环境下,一方面,在内存中的某些进程会因某事件尚未发生而阻
塞,但此时它占用了大量的内存空间,这样,内存中的所有进程都有可能被阻塞,进而发生迫
使CPU停止下来等待的情况;另一方面,有许多作业因内存空间不足会一直驻留在外存上,而
不能进入内存运行。这不仅浪费系统资源,而且会降低系统吞吐量。为了解决这一问题,在OS
中引入了对换(也称交换)技术。
对换可分为整体对换和部分对换两种类型。整体对换是将整个进程换入/换出,主要用于缓
32

解目前系统中内存不足的这一情况。部分对换是将进程的一部分(页、段)换入/换出,主要用
于实现虚拟存储器。
9.在对换技术中,对文件区管理的目标和对对换空间管理的目标有何不同?
【参考答案】对文件区管理和对对换空间管理的目标分别为:①对文件区管理的主要目标是
提高文件存储空间的利用率,然后才是提高对文件的访问速度,因此,对文件区管理采取的是离
计算机操作系统习题与考研真题解析

散分配方式;②对对换空间管理的主要目标是提高进程换入/换出的速度,然后才是提高文件存储
空间的利用率,因此,对对换空间管理采取的是连续分配方式,较少考虑外存中的碎片问题。
10.为什么说分段系统较分页系统更易实现信息共享与保护?
【参考答案】①对于分页系统,每个页面是分散存储的,为了实现信息共享与保护,页面
之间需要一一对应起来,为此需要建立大量的页表项。②对于分段系统,每个段都从0开始编
址,并采用一段连续的地址空间,这样在实现信息共享与保护时,只须为所要共享与保护的程
序设置一个段表项,将其中的起始地址与内存一一对应起来即可。
11.提高内存利用率的途径主要有哪些?
【参考答案】内存利用率不高,主要表现为4种形式:①内存中存在大量的、分散的、难以
利用的碎片;②暂时或长期不能运行的程序和数据占据了大量的存储空间;③当作业较大时,
内存中只能装入少量作业,当它们被阻塞时,将使CPU空闲,从而降低了内存的利用率;④内
存中存在着重复的复制。
针对上述问题,可采用下述方法提高内存的利用率:①将连续分配方式改为离散分配方
式,以减少内存中的碎片;②增加对换机制,将暂时不能运行的进程或暂时不需要的程序和数
据换出至外存,以腾出内存来装入可运行的进程;③引入动态链接机制,当运行中的程序需要
调用某段程序时,才将该段程序由外存装入内存;④引入虚拟存储器机制,使更多的作业能装
入内存,提高了CPU的利用率,也可避免装入本次运行中不会用到的那部分程序和数据;⑤引
入存储器共享机制,允许一个正文段或数据段被若干个进程共享,以减少内存中重复的复制。

5.2 计算题参考答案

12.(考研真题)假设一个分页存储系统具有快表,多数活动页表项都可以存在于其中。
若页表放在内存中,内存访问时间是 1ns,快表的命中率是 85%,快表的访问时间为 0.1ns,
则有效存取时间为多少?
【参考答案】当快表的命中率为85%时,执行一次访问内存操作(有效存取)需要的时间
为T=0.1×85%+1×(1-85%)+1=1.235ns。
13.对一个将页表存放在内存中的分页系统 :
(1)如果访问内存需要 0.2µs,则有效访问时间为多少?
(2)如果加一快表,且假定在快表中找到页表项的概率高达 90%,则有效访问时间又
是多少(假定查快表须花费的时间为 0)?
【参考答案】
(1)有效访问时间为2×0.2=0.4µs。
(2)有效访问时间为90%×0.2+(1-90%)×2×0.2=0.22µs。
33

14.某系统采用分页存储管理方式,拥有逻辑空间 32 页,每页 2KB ;拥有物理空间 1MB。


(1)写出逻辑地址的格式。
(2)若不考虑访问权限等,则进程的页表有多少项?每项至少有多少位?
(3)如果物理空间减少一半,则页表结构应相应地做怎样的改变?
【参考答案】
(1)该系统拥有逻辑空间32页,故逻辑地址中页号必须用5位来描述。而每页为2KB,因
此,页内地址必须用 11位来描述,这样即可得到它的逻辑地址格式如下。


15 11 10 0 1

部分
页号 页内地址

课后习题参考答案
(2)每个进程最多有32个页面,因此,进程的页表项最多为32项。若不考虑访问权限等,
则页表项中只须给出页所对应的物理块块号,1MB的物理空间可分成2 9个内存块,故每个页表
项至少有9位。
(3)如果物理空间减少一半,则页表中的页表项数仍不变,但每项的长度可减少1位。
15.已知某分页系统,内存容量为 64KB,页面大小为 1KB,对一个 4 页大的作业,其 0、
1、2、3 页分别被分配到内存的 2、4、6、7 块中。
(1)将十进制的逻辑地址 1 023、2 500、3 500、4 500 转换为物理地址。
(2)以十进制的逻辑地址 1 023 为例,画出地址转换过程图。
【参考答案】
(1)对上述逻辑地址,可首先计算出它们的页号和页内地址(逻辑地址除以页面大小,得
到的商为页号,余数为页内地址),然后通过页表将其转换成对应的物理地址。
① 逻辑地址1 023。 1 023/1K =0,1 023%1K=1 023,因此页号为0,页内地址为1 023,查
页表找到对应的物理块号为2,故物理地址为2×1K+1 023=3 071。
② 逻辑地址2 500。 2 500/1K =2,2 500%1K=452,因此页号为2,页内地址为452,查页
表找到对应的物理块号为6,故物理地址为6×1K+452=6 596。
③ 逻辑地址3 500。 3 500/1K =3,3 500%1K=428,因此页号为3,页内地址为428,查页
表找到对应的物理块号为7,故物理地址为7×1K+428=7 596。
④ 逻辑地址4 500。 4 500/1K =4,4 500%1K=404,因此页号为4,页内地址为404,因页
号大于页表长度,故产生越界中断。
(2)逻辑地址1 023的地址转换过程如图1-5-1所示。
越界
页表寄存器 逻辑地址 1 023
页表起始地址 页表长度4 > 0 1 023

页号 内存块号
0 2 2 1 023
1 4 物理地址 3 071
2 6
3 7

图 1-5-1 地址转换过程图
34

16.(考研真题)已知某系统页面大小为 4KB,每个页表项的大小为 4B,采用多层分


页策略映射 64 位的用户地址空间。若限定最高层页表只占 1 页,问它可采用几层分页策略。
【参考答案】由题意可知,该系统的用户地址空间为264B,而页的大小为4KB,故作业最多
可有264/212=252个页,其页表的大小则为252×4=254B。因此,又可将页表分成242个页表项,并为
它建立二级页表,二级页表的大小为244B。依次类推,可知道它的3、4、5、6级页表的长度分别
计算机操作系统习题与考研真题解析

是234B、224B、214B、24B,故必须采取6层分页策略。
17.对于表 1-5-1 所示的段表,请将逻辑地址(0,137)
,(1,4 000)
,(2,3 600)
,(5,230)
转换成物理地址。

表1-5-1 段表
段号 内存起始地址 段长
0 50K 10K
1 60K 3K
2 70K 5K
3 120K 8K
4 150K 4K

【参考答案】本问题分步解答如下。
(1)段号0小于段表长度5,故段号合法;由段表的第0项可获得段的内存起始地址为50K,
段长为10K;由于段内地址137小于段长10K,故段内地址也合法,因此可得出对应的物理地址
为50K+137=51 337。
(2)段号l小于段表长度,故段号合法;由段表的第1项可获得段的内存起始地址为60K,
段长为3K;经检查,段内地址4000超过了段长3K,因此产生越界中断。
(3)段号2小于段表长度,故段号合法;由段表的第2项可获得段的内存起始地址为70K,
段长为5K;故段内地址3600也合法。因此,可得出对应的物理地址为70K+3 600=75 280。
(4)段号5等于段表长度,故段号不合法,产生越界中断。

5.3 综合应用题参考答案

18.(考研真题)某系统采用动态分区分配方式管理内存,内存空间为 640KB,低端
40KB 存放 OS。系统为用户作业分配空间时,从低地址区开始。对下列作业请求序列,画
图表示使用首次适应算法进行内存分配和回收后内存的最终映像。作业请求序列如下 :
作业 1 申请 200KB,作业 2 申请 70KB ;
作业 3 申请 150KB,作业 2 释放 70KB ;
作业 4 申请 80KB,作业 3 释放 150KB ;
作业 5 申请 100KB,作业 6 申请 60KB ;
作业 7 申请 50KB,作业 6 释放 60KB。
【参考答案】首次适应算法的思想是把空闲分区按照地址递增的顺序组成一个链表,为进
程分配内存时从链首开始查找,直至找到能容纳进程的分区。本题使用首次适应算法进行内存
分配与回收后,具体过程如下。
35

(1)初始时OS存放在0K~40K,40K~600K为空。
(2)作业1申请200K,作业2申请70K:OS存放在0K~40K,作业1存放在40K~240K,作
业2存放在240K~310K,310K~600K为空。
(3)作业3申请150K,作业2释放70K:OS存放在0K~40K,作业1存放在40K~240K,
240K~310K为空,作业3存放在310K~460K,460K~600K为空。
(4)作业4申请80K,作业3释放150K:OS存放在0K~40K,作业1存放在40K~240K,
240K~460K为空,作业4存放在460K~540K,540K~600K为空。


(5)作业5申请100K,作业6申请60K:OS存放在0K~40K,作业1存放在40K~240K,
1

部分
作业5存放在240K~340K,作业6存放在340K~400K,400K~460K为空,作业4存放在
460K~540K,540K~600K为空。

课后习题参考答案
(6)作业7申请50K,作业6释放60K:OS存放在0K~40K,作业1存放在40K~240K,
作业5存放在240K~340K为空,作业7存放在400K~450K,450K~460K为空,作业4存放在
460K~540K,540K~600K为空。
因此,内存的最终映像如图1-5-2所示。
19.某 OS 采用分段存储管理方式,用户区内存为 512KB,空闲块链入空闲块表,分
配时截取空闲块的前半部分(低地址部分),初始时全部空闲。执行申请、释放操作序列
request(300KB)、request(100KB)、release(300KB)、request(150KB)、request
(50KB)
、request(90KB)后 :
(1)若采用首次适应算法,则空闲块表中有哪些空闲块(指出大小及起始地址)?
(2)若采用最佳适应算法,则空闲块表中有哪些空闲块(指出大小及起始地址)?
(3)若随后又要申请 80KB,则针对上述两种情况会产生什么后果?这说明了什么
问题?
【参考答案】
(1)采用首次适应算法时的内存分配情况如图1-5-3(a)所示。内存中有两个空闲块。第1
块:起始地址290K,大小10KB。第2块:起始地址400K,大小112KB。
(2)采用最佳适应算法时的内存分配情况如图1-5-3(b)所示。内存中有两个空闲块。第1
块:起始地址240K,大小60KB。第2块:起始地址450K,大小62KB。

0KB 0KB

req150KB req150KB
0K
OS
40K 150KB 150KB
req50KB req90KB
作业1 200KB
240K req90KB 240KB
作业5 290KB
340K 300KB 300KB
400K
req100KB req100KB
作业7
450K 400KB 400KB
req50KB
460K 450KB
作业4
540K 512KB 512KB

640K (a)首次适应算法 (b)最佳适应算法

图 1-5-2 内存最终映像 图 1-5-3 内存分配情况


36

(3)若随后又要申请80KB,则首次适应算法可以分配成功,而最佳适应算法没有足够大
的空闲区以供分配。这说明首次适应算法尽可能地使用了低地址部分的空闲区域,而留下了高
地址部分的大空闲区,因此更有可能满足进程的申请。
20.某系统的空闲分区如表 1-5-2 所示,采用可变分区分配策略处理作业。现有作
业序列 96KB、20KB、200KB,若采用首次适应算法和最佳适应算法来处理这些作业序列,
计算机操作系统习题与考研真题解析

则哪种算法能满足该作业序列的请求?为什么?

表1-5-2 空闲分区表

分区号 分区大小 分区起始地址

1 32KB 100K

2 10KB 150K

3 5KB 200K

4 218KB 220K

5 96KB 530K

【参考答案】本问题分步解答如下。
(1)采用首次适应算法时,96KB作业进入4号空闲分区,20KB作业进入1号空闲分区,这
时空闲分区如表1-5-3所示。

表1-5-3 采用首次适应算法时的空闲分区表

分区号 分区大小 分区起始地址

1 12KB 120K

2 10KB 150K

3 5KB 200K

4 122KB 316K

5 96KB 530K

此时再无空闲分区可以满足200KB大小的作业,因此该作业序列的请求无法被满足。
(2)采用最佳适应算法时,作业序列分别进入5、1、4号空闲分区,可以满足该作业序列
的请求。分配处理之后的空闲分区如表1-5-4所示。

表1-5-4 采用最佳适应算法时的空闲分区表

分区号 分区大小 分区起始地址

1 12KB 120K

2 10KB 150K

3 5KB 200K

4 18KB 420K
37

第6章 虚拟存储器

6.1 简答题参考答案


1

部分
1.常规存储器管理方式具有哪两大特征?它们对系统性能有何影响?

课后习题参考答案
【参考答案】常规存储器管理方式具有一次性和驻留性这两大特征。一次性指进程必须全
部装入内存;驻留性指在程序运行过程中,进程全部驻留在内存中。一次性对内存空间的浪费
非常大;驻留性使内存中暂时不用的程序或数据无法被释放。
2.什么是虚拟存储器?如何实现页式虚拟存储器?
【参考答案】虚拟存储器是具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩
充的一种存储系统。从用户观点看,虚拟存储器具有比实际内存大得多的容量,其逻辑容量由
逻辑地址结构以及内存和外存容量之和决定,其运行速度接近于内存的存取速度,而每位的成
本却又接近于外存。
为实现虚拟存储器,首先需要扩充页表,增加状态位以指出所需页是否在内存中,增加外
存起始地址以便调入页面,增加引用位以供置换算法使用,增加修改位以减少换出时写入磁盘
的次数。另外,还要使用两种关键技术。①请求调页技术。该项技术是指及时将进程所要访问
的不在内存中的页调入内存。该功能是由硬件(缺页中断机构发现缺页)和软件(将所需页调
入内存)配合实现的。②置换页技术。该项技术是指当内存中已无足够空间用于装入即将调入
的页时,为了保证进程能继续运行,系统必须换出内存中的部分页,以腾出足够的空间。具体
的置换操作并不复杂,其关键是确定应将哪些页换出,即采取什么置换算法。
3.
“整体对换从逻辑上也扩充了内存,因此也实现了虚拟存储器的功能”这种说法是
否正确,请说明理由。
【参考答案】这种说法是错误的。整体对换将内存中暂时不用的某个程序及其数据换出至
外存,腾出足够的内存空间以装入在外存中具备运行条件的进程所对应的程序和数据。虚拟存
储器是指仅把作业的一部分装入内存便可运行作业的存储器系统,亦指具有请求调入功能和置
换功能、能从逻辑上对内存容量进行扩充的存储器系统,它的实现必须建立在离散分配的基础
上。虽然整体对换和虚拟存储器均能从逻辑上扩充内存空间,但整体对换不具备离散性。实际
上,在具有整体对换功能的系统中,进程的大小仍将受到实际内存容量的限制。
4.在请求分页系统中,为什么说一条指令执行期间可能产生多次缺页中断?
【参考答案】在请求调页时,只要作业的部分页在内存中,该作业就能执行;而在执行过
程中发现所要访问的指令或数据不在内存中时,系统会产生缺页中断,将所需的页面调入内
存。在请求调页系统中,一条指令(如copy A to B)可能跨了两个页,而其中要访问的操作数可
能与指令不在同一个页上,且操作数本身也可能跨了两个页。当要执行这类指令而相应的页又
都不在内存中时,就将产生多次缺页中断。
38

5.试比较缺页中断与一般的中断,它们之间有何明显区别?
【参考答案】缺页中断与一般中断的区别主要有:①一般中断只需要保护现场然后即可直
接跳到须及时处理的地方;②缺页中断除了需要保护现场外,还需要判断内存中是否有足够的
空间来存储所需的页或段,然后再把所需的页或段调进来使用。
6.试说明在请求分页系统中页面的调入过程。
计算机操作系统习题与考研真题解析

【参考答案】每当程序所要访问的页面未在内存时(存在位为“0”),便向CPU发出缺页
中断,中断处理程序保存CPU现场信息,分析中断原因后,转入缺页中断处理程序。该程序通
过查找页表得到该页在外存的物理地址,如果此时内存能容纳新页,则启动磁盘,将所缺页面
调入内存,然后修改页表。如果内存已满,则须按照某种置换算法进行页面置换;如果换出页
面被修改过(修改位为“1”),则必须将它写回磁盘,再把缺页调入内存,将页表中调入页的
存在位改为“1”,并将此页表项写入快表中。利用修改后的页表,形成要访问数据的物理地
址,再去访问内存数据。整个页面调入过程对用户是透明的。
7.(考研真题)简述在具有快表的请求分页系统中,将逻辑地址转换为物理地址的完
整过程。
【参考答案】在具有快表的请求分页系统中,将逻辑地址转换为物理地址的完整过程为:
①检索快表,试图从中找出所要访问的页;②如果找到,那么修改页表项中的访问位,供置换
算法选择淘汰页时参考,将写指令的修改位置1,然后利用页表项中给出的物理块号和页内地
址形成物理地址,地址转换结束;③如果没找到,那么应到内存中查找页表,再根据查找到的页
表项中的状态位来判断该页是否已调入内存。若该页已调入内存,则将该页的页表项写入快表。
当快表已满时,先调出按某种算法所确定的页的页表项,再写入该页的页表项。若该页未调入内
存,则产生缺页中断,请求OS从外存中将该页调入内存,再转到步骤②进行地址转换。
8.何谓固定分配局部置换和可变分配全局置换的内存分配策略?
【参考答案】
(1)固定分配局部置换:固定分配是指,为每个进程分配一组固定数目的物理块,在进程
运行期间不再改变;局部置换是指,如果进程在运行中发现缺页,则只能从分配给该进程的n个
页面中选出1页换出,然后再调入1页。
(2)可变分配全局置换:可变分配是指,先为每个进程分配一定数目的物理块,在进程运
行期间,可根据情况做适当的改变;全局置换是指,如果进程在运行中发现缺页,则将OS所保
留的空闲物理块或者所有进程的全部物理块选择1块换出然后再将缺页调入。
9.实现 LRU(least recently used,最近最久未使用)页面置换算法所需要的硬件支
持是什么?
【参考答案】需要寄存器和栈等硬件支持。寄存器用于记录某进程在内存中各页的使用情
况;栈用于保存当前使用的各页的页面号。
10.什么是“抖动”?产生“抖动”的原因是什么?
【参考答案】①“抖动”是指刚被换出的页很快被访问,须重新调入,因此须再选一页调
出,而此时被换出的页很快又要被访问,因而又须将它调入,如此频繁地更换页面,使得系统
把大部分时间用在了页面的换进/换出上,而几乎不能完成任何有效的工作,我们称这一现象为
“抖动”。②产生“抖动”的根本原因是同时在系统中运行的进程太多,分配给每个进程的物
理块数太少,其不能满足进程正常运行的基本要求,致使每个进程在运行时会频繁缺页。
39

11.何谓工作集?它是基于什么原理而确定的?
【参考答案】①工作集(或驻留集)是指在某段时间间隔内进程实际要访问的页面集合。经常
被使用的页面需要存在于工作集中,而长期不被使用的页面则要从工作集中丢弃。②确定工作集的
原理是:基于程序运行时的局部性原理,程序在运行期间对页面的访问在一段时间内局限于较少的
页面,这些页面称为活跃页面,页面集合即为工作集。如果能预先将活跃页面调入内存,则将大大
降低缺页率。因此须使OS跟踪每个进程的工作集,并为进程分配大于其工作集的物理块。如果还有
空闲物理块,则可以再调一个进程到内存以增加多道程序数。如果所有工作集之和超过了可用物理


块的总数,那么OS会暂停一个进程,将其页面调出并且将其物理块分配给其他进程,以防止出现抖
1

部分
动现象。正确选择工作集的大小,对存储器利用率和系统吞吐量的提高具有重要影响。

课后习题参考答案
12.为了实现请求分段存储管理,应在系统中增加配置哪些硬件机构?
【参考答案】为了实现请求分段存储管理,应在系统中配置多种硬件机构,以支持快速完
成请求分段功能。所需的硬件支持有段表机制、缺段中断机构以及地址转换机构。

6.2 计算题参考答案

13.(考研真题)某虚拟存储器的用户空间共有 32 个页面,每页 1KB,内存 16KB。


假定某时刻系统为用户的第 0、1、2、3 页分配的物理块号分别为 5、10、4、7,而该用
户作业的长度为 6 页,试将十六进制逻辑地址 0A5C、103C、1A5C 转换成物理地址。
【参考答案】由题目所给条件可知,该系统的逻辑地址有15位,其中高5位为页号,低10位
为页内地址;物理地址有14位,其中高4位为块号,低10位为块内地址。另外,由于题目中给出
的逻辑地址是十六进制数,故可先将其转换成二进制数以直接获得页号和页内地址,再完成地
址的转换。
(1)逻辑地址0A5CH转化为二进制为000 1010 0101 1100,页号为0 0010,即2号页,页号
合法。从页表中找到对应的内存物理块号为4,即0100;与页内地址10 0101 1100拼接而形成物
理地址01 0010 0101 1100,即125CH。
(2)逻辑地址103CH的页号为4,页号合法,但该页未装入内存,故产生缺页中断。
(3)逻辑地址1A5CH的页号为6,页号非法,故产生越界中断。
14.某请求调页系统,页表保存在寄存器中。若一个被替换的页未被修改过,则处理
一个缺页中断需要 8ms ;若被替换的页已被修改过,则处理一个缺页中断需要 20ms。内
存存取时间为 1µs,访问页表的时间可忽略不计。假定 70% 被替换的页被修改过,为保证
有效存取时间不超过 2µs,可接受的最大缺页率是多少?
【参考答案】如果用p表示缺页率,则有效访问时间不超过2µs可表示为:
(1-p)×1µs+p×(70%×20ms+30%×8ms+1µs)≤2µs
因此可计算出:p≤1/16 400 ≈ 0.000 06,即可接受的最大缺页率为0.000 06。
15.(考研真题)某分页式虚拟存储系统,用于页面交换的磁盘的平均访问与传输时间
是 20ms,页表保存在内存中,访问时间为 1µs,即每引用一次指令或数据就需要访问内存
2 次。为改善性能,可以增设一个联想寄存器,若页表项在联想寄存器中,则只要访问 1
次内存。假设 80% 的访问对应的页表项在联想寄存器中,剩下的 20% 中有 10% 的访问(即
总数的 2%)会产生缺页。请计算有效访问时间。
40

【参考答案】本题分步解答如下。
(1)80%的访问的页表项在联想寄存器中,访问耗时1µs。
(2)18%的访问的页表项不在联想寄存器中,但在内存中,访问耗时(1µs+1µs)。
(3)2%的访问产生缺页中断,访问耗时(1µs+1µs+20ms+1µs)。
因此有效访问时间为80%×1+(1-80%)×[(1-10%)×1×2]+2%×(1×3+
20×1000)=401.22µs
计算机操作系统习题与考研真题解析

16.假定某 OS 存储器采用页式存储管理,一个进程在快表中的页表项如表 1-6-1 所示,


在内存中的页表项如表 1-6-2 所示。
表1-6-1 快表中的页表项 表1-6-2 内存中的页表项
页号 页帧号 页号 页帧号
0 f1 4 f5
1 f2 5 f6
2 f3 6 f7
3 f4 7 f8
8 f9
9 f10
注:只列出不在快表中的页表项。

假定该进程长度为 320B,每页 32B。现有逻辑地址 101、204、576(八进制),若这


些逻辑地址能转换成物理地址,则说明转换的过程,并指出具体的物理地址 ;若不能转换,
则说明原因。
【参考答案】1页的大小为32B,逻辑地址结构为:低5位为页内位移,其余高位为页号。
101(八进制)=001 000 001(二进制),因此页号为2,在联想寄存器中,对应的块号为
f3,即物理地址为(f3,1)。
204(八进制)=010 000 100(二进制),因此页号为4,不在联想寄存器中,查找内存的页
表得块号为f5,即物理地址为(f5,4),用其更新联想寄存器。
576(八进制)=101 111 110(二进制),因此页号为11,已超出页表范围,即产生越界中断。
17.有一个矩阵 int A[100,100]以行优先方式进行存储。计算机采用虚拟存储系统,物
理内存共有 3 页,其中 1 页用来存放程序,其余 2 页用来存放数据。假设程序已在内存中占了
1 页,其余 2 页空闲。若每页可存放 200 个整数,则程序 1、程序 2 执行的过程中各会发生多
少次缺页?当每页只能存放 100 个整数时,又会发生多少次缺页?以上结果说明了什么问题?

程序 1 : 程序 2 :
for(i=0;i<100;i++) for(j=0;j<100;j++)
for(j=0;j<100;j++) for(i=0;i<100;i++)
A[i,j]=0; A[i,j]=0;
【参考答案】本题分步解答如下。
(1)程序1按行优先的顺序访问数组元素,与数组在内存中存放的顺序一致,每个内存页
面可存放200个数组元素。这样,程序l每访问两行数组元素就会产生1次缺页中断,因此程序1在
执行过程中会发生50次缺页。
(2)程序2按列优先的顺序访问数组元素,由于每个内存页面存放两行数组元素,因此程
41

序2每访问两个数组元素就会产生1次缺页中断,整个执行过程会发生5000次缺页。
(3)若每页只能存放100个整数,则每页仅能存放一行数组元素,同理可以计算出:程序1
在执行过程中产生100次缺页;程序2在执行过程中产生10 000次缺页。
(4)以上结果说明:缺页的次数与内存中数据存放的方式及程序执行的顺序有很大关系。
同时说明:当缺页中断次数不多时,减小页面大小影响并不大;但当缺页中断次数很多时,减
小页面大小会带来很严重的影响。


6.3 综合应用题参考答案 1

部分
课后习题参考答案
18.(考研真题)有一个请求分页式虚拟存储器系统,分配给某进程 3 个物理块,开始
时内存中预装入第 1,2,3 个页面,该进程的页面访问序列为 1,2,4,2,6,2,1,5,6,1。
(1)若采用 OPT(optimal,最佳)页面置换算法,则访问过程发生的缺页率为多少?
(2)若采用 LRU 页面置换算法,则访问过程中的缺页率为多少?
【参考答案】
(1)采用OPT页面置换算法时,因为内存中预装入了前3个页面,所以前3个页面不发生缺
页。访问过程中发生了2次缺页,缺页率f =2/10×100%=20%。页面置换走向如图1-6-1所示。

访问串 1 2 4 2 6 2 1 5 6 1
1 1 1 1 1 1 1 1 1 1
内存 2 2 2 2 2 2 5 5 5
4 4 6 6 6 6 6 6
缺页 √ √

图 1-6-1 采用 OPT 页面置换算法时的页面置换走向

(2)采用LRU页面置换算法时,访问过程中发生了4次缺页,缺页率f =4/10×100%=40%。
页面置换走向如图1-6-2所示。

访问串 1 2 4 2 6 2 1 5 6 1
1 1 1 1 6 6 6 5 5 5
内存 2 2 2 2 2 2 2 6 6
4 4 4 4 1 1 1 1
缺页 √ √ √ √

图 1-6-2 采用 LRU 页面置换算法时的页面置换走向

19.进程已分配到 4 个块,如表 1-6-3 所示(页号为十进制,从 0 开始编号)。当进


程访问第 4 页时,产生缺页中断,请分别用 FIFO(first in first out,先进先出)页面置换
算法和 LRU 页面置换算法决定缺页中断处理程序选择换出的页面。
表1-6-3 页表
块号 页号 装入时间 最近访问时间 访问位 修改位
2 0 60 161 0 1
1 1 130 160 0 0
0 2 26 162 1 0
3 3 20 163 1 1
42

【参考答案】
(1)FIFO页面置换算法:按照先进先出规则,最先进入的页面应最先被换出,因此访问第
4页时,缺页中断处理程序应选择的是3号页。由于该页的修改位是1,在换出内存后应先进行回
写,即重新保存。
(2)LRU页面置换算法:最近一次访问时间离当前最远的页面应被选择换出,因此缺页中
断处理程序应选择的是1号页。
计算机操作系统习题与考研真题解析

20.某系统有 4 个页,某个进程的页面使用情况如表 1-6-4 所示,问采用 FIFO、


LRU、简单 Clock 和改进型 Clock 页面置换算法,分别会置换哪一页?

表1-6-4 页面使用情况
页号 装入时间 上次引用时间 R(读) M(修改)
0 126 279 0 0

1 230 260 1 0

2 120 272 1 1

3 160 280 1 1

【参考答案】
(1)FIFO页面置换算法选择最先进入内存的页面进行替换。由表1-6-4中所示装入时间可
知,2号页最先进入内存,因此 FIFO页面置换算法将选择2号页替换。
(2)LRU页面置换算法选择最近最长时间未使用的页面进行替换。由表1-6-4中所示的上次
引用时间可知,1号页是最近最长时间未使用的页面,因此LRU页面置换算法将选择1号页替换。
(3)简单Clock页面置换算法从上一次的位置开始扫描,选择第一个访问位为0的页面进行
替换。由表1-6-4中的R(读)标志位可知,按装入顺序依次扫描,页面0未被访问,扫描结束,
因此简单Clock页面置换算法将选择0号页替换。
(4)改进型Clock页面置换算法从上一次的位置开始扫描,首先寻找未被访问和修改的页
面。由表1-6-4中的R(读)标志位和M(修改)标志位可知,只有页面0满足R=0和M=0,因此
改进型Clock页面置换算法将选择0号页替换。
21.
(考研真题)请求分页管理系统中,假设某进程的页表内容如表 1-6-5 所示。

表1-6-5 进程页表内容
页号 页框号 有效位(存在位)
0 101H 1

1 — 0

2 254H 1

页面大小为 4KB,一次内存的访问时间是 100ns,一次快表的访问时间是 10ns,处理


一次缺页的平均时间是 108ns(已含更新快表和页表的时间),进程的驻留集大小固定为 2,
采用 LRU 页面置换算法和局部淘汰策略。假设 :①快表初始为空 ;②地址转换时先访问快
表,若快表未命中,则再访问页表(忽略访问页表之后的快表更新时间);③有效位为 0 表
示页面不在内存中,产生缺页中断,缺页中断被处理后,返回产生缺页中断的指令处重新
43

执行。设有虚地址访问序列 2362H、1565H、25A5H,请问 :
(1)依次访问上述 3 个虚地址,各需要多少时间?给出计算过程。
(2)基于上述访问序列,虚地址 1565H 的物理地址是多少?请说明理由。
【参考答案】
(1)页面大小为4KB=2 12B,故页内偏移量为12位,占虚地址的低12位,高4位为页号。
虚地址2362H的页号为2,页内地址为362H。先访问快表(10ns),未命中;再去访问页表
(100ns),获得对应的物理块号254H,其与页内地址362H拼接成物理地址254362H,同时将第


2页的信息装入快表中;最后根据这个物理地址访问内存(100ns)。因此,访问到虚地址对应
1

部分
单元的数据总共需要10ns+100ns+100ns=210ns。

课后习题参考答案
同理,虚地址1565H的页号为1,页内地址为565H。先访问快表(10ns),未命中;访问页
表(100ns),不在内存中,产生缺页中断,中断处理时间为108ns,然后返回产生缺页中断的指
令处重新执行,并以此更新快表和页表;访问快表(10ns)便可得到对应的物理地址,根据物
理地址访问内存(100ns)。总共需要10ns+100ns+108ns+10ns+100ns≈108ns。
同理,虚地址25A5H的页号为2,页内地址为5A5H。先访问快表(10ns),该页信息已
装入快表,获得对应的物理块号254H,从而拼接成物理地址2545A5H,根据该地址访问数据
(100ns)。总共需要110ns。
(2)访问1565H时,产生缺页中断,在处理中断时,合法驻留集为2,内存已满,LRU页面
置换算法将选择淘汰0号页,然后将101H号页框分配给1号页,这样便可得到页对应的物理块号
101H,其与页内地址565H拼接成的物理地址为101565H。

第7章 输入/输出系统

7.1 简答题参考答案

1.试说明 I/O 系统的基本功能。


【参考答案】I/O系统的基本功能主要包括:①隐藏物理设备的细节;②保证OS与设备无关;
③提高处理机和I/O设备的利用率;④控制I/O设备;⑤确保对设备的正确共享;⑥处理错误。
2.I/O 软件一般分为用户层软件、设备独立性软件、设备驱动程序和中断处理程序这
4 个层次,它们的基本功能分别是什么?请说明下列工作分别是在哪一层完成的 ?
(1)向设备寄存器写命令。
(2)检查用户是否有权使用设备。
(3)将二进制整数转换成 ASC Ⅱ的格式打印。
(4)缓冲管理。
【参考答案】
(1)向设备寄存器写命令是在设备驱动程序中完成的。
44

(2)检查用户是否有权使用设备,属于设备保护,因此其在设备独立性软件中完成。
(3)将二进制整数转换成ASCII格式打印是通过I/O库函数完成的,如C语言的库函数printf
中就有打印格式的控制字符串,因此其在用户层软件中完成。
(4)缓冲管理属于I/O的公有操作,因此是在设备独立性软件中完成的。
3.设备控制器由哪几部分组成?为了实现 CPU 与设备控制器之间的通信,设备控制
计算机操作系统习题与考研真题解析

器应具备哪些功能?
【参考答案】①设备控制器的组成部分主要包括设备控制器与CPU的接口、设备控制器与
设备的接口、I/O逻辑这3部分。②设备控制器应具备接收和识别命令、交换数据、标志和报告
设备的状态、缓冲地址、识别数据、控制差错等功能。
4.
(考研真题)什么是通道?通道经常采用图 1-7-1 所示的交叉连接方式,为什么?

I/O设备
通道1 设备控制器1
I/O设备
存储器
I/O设备
通道2 设备控制器2
I/O设备

图 1-7-1 通道交叉连接图

【参考答案】①通道是一种特殊的处理机,它具有执行I/O指令的能力,并且可以通过执行
通道I/O程序来控制I/O操作。②图1-7-1中的交叉连接主要是为了解决通道的瓶颈问题。之所以
会产生瓶颈问题,是因为通道价格昂贵,设置的通道数量较少,导致系统吞吐量下降。交叉连
接的多通路方式不仅解决了瓶颈问题,还提高了系统可靠性。
5.设备中断处理程序通常须完成哪些工作?它对中断进行处理的过程包含哪些步骤?
【参考答案】设备中断处理程序要完成:①唤醒被阻塞的驱动进程;②保存被中断进程
的CPU现场信息;③转入相应的设备处理程序;④处理中断;⑤恢复被中断进程的CPU现场。
对中断进行处理的过程为:①测定是否有未响应的中断信号;②保护被中断进程的CPU现场;
③转入相应的设备处理程序;④处理中断;⑤恢复CPU现场并退出中断。
6.(考研真题)为什么要有设备驱动程序?用户进程是如何通过设备驱动程序来控制
设备工作的?
【参考答案】设备驱动程序与硬件密切相关,主要负责接收上层软件发来的I/O指令,并将
其转换成具体要求发送给设备控制器;反之,也将来自设备控制器的信号传送给上层软件。采
用设备驱动程序实现I/O系统的高层与设备控制器之间的通信,驱动I/O设备工作。
用户进程通过设备驱动程序控制设备工作的过程为:①接收由用户进程发来的I/O命令和
参数,并将命令中的抽象要求转换为具体要求,如将磁盘盘块号转换为磁盘的盘面、磁道和扇
区号;②检查用户I/O请求的合法性,如果请求不合法,则拒绝接收I/O请求并反馈用户进程;
③了解I/O设备的状态,如果设备准备就绪,则可由设备控制器设置设备的工作方式、传递有关
参数;否则,将请求者的请求块挂到设备请求队列上等待;④发出I/O命令,如果设备空闲,则
立即启动I/O设备,完成指定的I/O操作。
45

7.推动 I/O 控制方式发展的主要因素是什么 ?


【参考答案】推动I/O控制方式发展的主要因素包括:①尽量减少CPU对I/O控制的干预,
把CPU从繁杂的I/O控制中解脱出来,以便更多地去完成数据处理任务;②缓和CPU的高速性和
设备的低速性之间速度不匹配的矛盾,以提高CPU利用率和系统吞吐量;③提高CPU和I/O设
备操作的并行程度,使CPU和I/O设备都处于忙碌状态,提高整个系统的资源利用率和系统吞
吐量。
8.请说明中断驱动 I/O 方式和 DMA(direct memory access,直接存储器访问)方式


有什么不同。 1

部分
【参考答案】它们主要在以下两个方面有不同。

课后习题参考答案
(1)I/O中断频率。在中断驱动I/O方式中,每当输入数据缓冲寄存器中装满输入数据或将
输出数据缓冲寄存器中的数据输出之后,设备控制器就会发生一次中断,由于设备控制器中配
置的数据缓冲寄存器通常较小,如1个字节或1个字,因此中断比较频繁。而在DMA方式中,在
DMA控制器的控制下,一次能完成一批连续数据的传输,并在整批数据传送完成后才发生一次
中断,因此可大大减少CPU处理I/O中断的时间。
(2)数据的传送方式。在中断驱动I/O方式中,由CPU直接将输出数据写入控制器的数据缓
冲寄存器中以供设备输出,或在中断发生后直接从数据缓冲寄存器中取出输入数据以供进程处
理,即数据的传送必须经过CPU;而在DMA方式中,数据传送是在DMA控制器的控制下直接在
内存和I/O设备间进行的,CPU只须将磁盘地址、内存地址和字节数传给DMA控制器即可。
9.设备无关性的基本含义是什么?为什么要设置设备无关性软件?
【参考答案】为了提高OS的可适应性和可扩展性,在现代OS中都实现了设备无关性(设备
独立性),其基本含义是应用程序独立于物理设备。为了实现设备无关性,引入了逻辑设备和
物理设备这两个概念。在应用程序中,可通过逻辑设备名称请求使用某类设备;而系统在实际
执行时,必须使用其对应的物理设备名称,应用程序应与实际使用的物理设备无关,由OS考虑
因物理设备不同而需要使用不同的设备驱动程序等问题。
设置设备无关性软件的目的是:①增加设备分配的灵活性;②实现I/O重定向。当I/O设备被
更换时不必改变应用程序,即I/O重定向。
10.设备分配过程中可能会出现死锁吗?为什么?
【参考答案】在设备分配过程中,如果在进程发出I/O请求后,系统为其分配了I/O设备,则
进程仍继续运行;运行中再次发出新的I/O请求,只有当某个请求不满足时,进程才会阻塞。这
种情况下,一个进程可以同时使用多个设备。虽然进程推进迅速,但此时的资源分配方式是不
安全的,可能会发生死锁。
11.SPOOLing(simultaneous peripheral operations on-line,假脱机)系统由哪几
部分组成?以打印机为例,说明如何利用 SPOOLing 技术实现多个进程对打印机的共享?
【参考答案】SPOOLing系统由磁盘上的输入井和输出井、内存中的输入缓冲区和输出缓冲
区、输入进程和输出进程以及井管理程序组成。
采用SPOOLing技术共享打印机时,对所有提出输出请求的用户进程,系统接受它们的请求
时,并不真正分配打印机,而是由SPOOLing管理进程做两件事情:①在输出井中为它申请一空
闲缓冲区,并将要打印的数据送入其中;②为用户进程申请一张空白的用户打印请求表,并将
用户的打印请求填入该表中,再将该表挂到SPOOLing文件队列上。
46

至此,用户进程认为打印过程已经完成,而不必等待真正的慢速的打印过程完成。当打印
机空闲时,SPOOLing打印进程将从SPOOLing文件队列的队首取出一张打印请求表,根据表中
的要求将要打印的数据从输出井传送到内存输出缓冲区,再由打印机进行输出打印。打印完成
后,再处理SPOOLing文件队列中的下一个打印请求表,直至队列为空。这样,虽然系统中只有
一台打印机,但系统并未将它分配给任何进程,而只是为每个提出打印请求的进程在输出井中
分配一个存储区(相当于一个逻辑设备),使每个进程都感觉自己独占一台打印机,从而实现
计算机操作系统习题与考研真题解析

了多个进程对打印机的共享。
12.(考研真题)在单缓冲区情况下,为什么系统对一块数据的处理时间为 max(C,T)+M ?
【参考答案】以输入为例,假定从磁盘中把一块数据输入缓冲区的时间为T;OS将缓冲区
数据传送到用户区的时间为M;CPU对这块数据进行计算的时间为C。在单缓冲区情况下,由
于设备的输入操作和CPU的处理操作可以并行执行,因此系统对每一整块数据的处理时间为
max(C,T)+M。

7.2 计算题参考答案

13.(考研真题)设系统缓冲区和用户工作区均采用
90
单缓冲区,从外设读入 1 个数据块到系统缓冲区的时间
为 100,从系统缓冲区读入 1 个数据块到用户工作区的 用户工作区
时间为 5,对用户工作区中的 1 个数据块进行分析的时间 5
为 90(见图 1-7-2)。进程从外设读入并分析 2 个数据
系统缓冲区
块的最短时间是多少?
100
【参考答案】数据块1从外设到用户工作区的总时间为
外设
105,在这段时间内,数据块2没有进行操作。在数据块1进
行分析处理时,数据块2从外设到用户工作区的总时间为
图 1-7-2 单缓冲区处理数据过程图
105,在这段时间内两个过程是并行的。加上处理数据块2的
时间90,总共是105+105+90=300。
14.假定把磁盘上一个数据块中的信息输入一单缓冲区的时间 T 为 100µs,将缓冲区中
的数据传送到用户区的时间 M 为 50µs,CPU 对这一块数据进行计算的时间 C 为 50µs。请
问,系统对一块数据的处理时间为多少?如果将单缓冲区改为双缓冲区,则系统对一块数
据的处理时间为多少?
【参考答案】单缓冲区处理一块数据的时间为max(C,T )+M=max(50 μs ,100μs )
+50μs=150μs;双缓冲区处理一块数据的时间为max(C,T)=max(50μs,100μs)=100μs。
15.(考研真题)某磁盘的转速为 10 000r/min,平均寻道时间为 6ms,磁盘传输速率
为 20MB/s,磁盘控制器时延为 0.2ms,读取一个 4KB 的扇区所需的平均时间约为多少?
【参考答案】磁盘转速是10 000r/min,平均转1转的时间是6ms,因此查询扇区的
平 均 时间是(1/2)×6ms=3ms。因为磁盘传输速率是20M B/s ,所以读取4K B扇区信息
的时间为4KB/(20MB/s)=0.2ms。时延为0.2ms,平均寻道时间为6ms,因此总时间为
3ms+6ms+0.2ms+0.2ms=9.4ms。
47

16.某磁盘有 40 个柱面,查找移过每个柱面需要 5ms,若文件信息块凌乱存放,则


相邻逻辑块平均间隔 9 个柱面。文件信息块经优化分布后,相邻逻辑块平均间隔 2 个柱面。
假设磁盘时延为 100ms,传输速度为 20ms/ 块,请问在信息块非优化存放和优化存放两种
情况下,传输 100 块文件信息各需多长时间?
【参考答案】在两种情况下传输100块文件信息所需时间分析如下。
(1)非优化存放。读1块数据需要时间:9×5+100+20=165ms,则传输100块文件信息需要
时间16 500ms。


(2)优化存放。读1块数据需要时间:2×5+100+20=130ms,则传输100块文件信息要时间 1

部分
13 000ms。

课后习题参考答案
17.
(考研真题)假设有 11 个进程先后提出磁盘 I/O 请求,当前磁头正在 110 号磁道处,
并预向磁道序号增加的方向移动。请求队列的顺序为 30、145、120、78、82、140、20、
42、165、65,分别用 FCFS 调度算法和 SCAN 调度算法完成上述请求,写出磁道访问顺
序和每次磁头移动的距离,并计算平均移动磁道数。
【参考答案】本题分步解答如下。
(1)FCFS调度算法:访问顺序为30、145、120、78、82、140、20、42、165、55、65;
移动距离为80、115、25、42、4、58、120、22、123、110、10;平均移动磁道数为(80+115+
25+42+4+58+120+22+123+110+10)/11=64.45。
(2)SCAN调度算法:访问顺序为120、140、145、165、82、78、65、55、42、30、
20;移动距离为10、20、5、20、83、4、13、10、13、12、10;平均移动磁道数为
(10+20+5+20+83+4+13+10+13+10+10)/11=18.18。
18.(考研真题)磁盘请求服务队列中要访问的磁道分别为 38、6、37、100、14、
124、65、67,磁头上次访问了 20 磁道,当前处于 30 磁道上,试采用 FCFS、SSTF(shortest
seek time first,最短寻道时间优先)和 SCAN 调度算法,分别计算磁头移动的磁道数。
【参考答案】本题分步解答如下。
(1)FCFS调度算法:磁头移动顺序为30、38、6、37、100、14、124、65、67;移动磁道
数为8+32+31+63+86+10+59+2=391。
(2)SSTF调度算法:磁头移动顺序为30、37、38、14、6、65、67、100、124;移动磁道
数为7+1+24+8+59+2+33+24=158。
(3)SCAN调度算法:磁头移动顺序为30、37、38、65、67、100、124、14、6;移动磁道
数为7+1+27+2+33+24+110+8=212。

7.3 综合应用题参考答案

19.(考研真题)目前 PC(personal computer,个人计算机)上使用的外部存储设备


的速度都相当快,例如刻录一张 DVD(单面单层 DVD 的容量通常大约为 4.7GB)需要几
分钟到十几分钟时间。与 DVD 相比,硬盘的速度更快。请问 :这样的高速设备采用的大概
是什么样的 I/O 控制方式?请说出你的推断理由。
【参考答案】程序I/O方式会使CPU陷入忙等状态,这会极大地浪费CPU的计算资源,因此
程序I/O方式的效率比较低,在现代的OS中已经十分少见了。中断I/O方式对于高速设备而言,
48

每秒产生的中断次数多达几百万甚至更多,这同样会给CPU带来极大的计算资源开销。并且PC
现在通常没有通道机制。因此DMA方式是DVD这种高速设备通常采用的I/O控制方式。
20.除了 FCFS 调度算法外,所有磁盘调度算法都不公平,例如会造成有些请求“饥饿”,
试分析 :
(1)为什么不公平?
计算机操作系统习题与考研真题解析

(2)如何构建一种公平性调度算法?
(3)为什么公平性在分时系统中是一个很重要的指标?
【参考答案】
(1)比如SSTF调度算法,其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的
寻道时间最短,如果新进程请求要访问的磁道与磁头当前所在的磁道距离较近,则必会优先被
满足,进而就会产生“饥饿”现象。在SCAN调度算法中,若磁头刚在某方向上越过某一磁道,
某进程就发出此磁道的访问请求,则此时进程会等待,即等磁头继续从该方向访问剩余磁道
后,反方向再扫描完所有要访问的磁道,然后处理此进程的请求,这会致使该进程的等待时间
在最坏情况下为2T(T为由里向外或由外向里单向扫描完要访问的磁道所需的时间)。CSCAN
调度算法会始终保持一个方向依次访问所有磁道;但当有进程反复地请求某个磁道的I/O操作
时,该进程就会垄断整个磁盘设备,进而发生磁臂粘着现象。
(2)公平性调度算法的整体思想是避免某请求长时间等待。为此,可划定一个时间界限,
把这段时间内尚未得到服务的请求强制移到队列首部,并标记任务新请求不能插到这些请求
前。在SSTF调度算法中,可以重新排列这些老请求,以优先处理它们。
(3)公平性在分时系统中可避免分时进程等待时间过长而产生超长的响应时间。
21.假设有 4 个记录(A、B、C、D)被存放在磁盘的某个磁道上,该磁道被划分成 4
块,每块存放 1 个记录,其布局如表 1-7-1 所示。
现在要顺序处理这些记录。假定磁盘转速为 20ms/r,处理程序每次从磁盘读出一个记
录后要花 5ms 对其进行处理,若磁头现在处于首个逻辑记录的始点位置,则请问 :
(1)处理程序处理完这 4 个记录所花费的时间是多少?
(2)按最优化分布重新安排这 4 个逻辑记录,写出记录的安排顺序,并计算处理所需
要的时间。
【参考答案】
(1)磁盘旋转速度为20ms/r,磁道划分为4块,每块存放一个记录,因此读出一个记录要花
5ms。优化前处理记录所花费的总时间为(5+5)+(5×4+5)+(5×4+5)+(5×4+5)=85ms。
(2)优化后记录的安排顺序为A、C、B、D,如表1-7-2所示。

表1-7-1 记录存放布局情况 表1-7-2 优化后记录存放布局情况


块号 记录号 块号 记录号

1 A 1 A

2 B 2 C

3 C 3 B

4 D 4 D
49

优化后处理记录所花费的总时间为(5+5)+(5+5)+(5+5+5)+(5+5)=45ms。
22.假定磁盘的磁臂现在处于 6 号柱面上,有表 1-7-3 所示的 6 个请求进程等待访问
磁盘,试列出最省时间的响应次序。

表1-7-3 请求进程等待访问磁盘位置
请求进程序号 柱面号 磁头号 块号
1 7 6 2


2 5 5 6
1

部分
3 15 20 6

课后习题参考答案
4 7 4 4

5 20 9 5

6 5 15 2

【参考答案】由题意可知最省时间的调度算法为SSTF调度算法,该调度算法要求访问的磁
道离所在磁道最近,以使每次的寻道时间最短,但此调度算法不能保证平均寻道时间最短。由
于磁臂刚开始处于6号柱面上,由表1-7-3可知,所有请求进程中离磁柱6号柱面最近的为1、2、
4、6号请求进程,均只有1个柱面的距离,由于请求进程3和请求进程5的柱面号均大于当前的柱
面号,因此应选择2号或6号请求进程作为第1个请求进程来处理。由于请求进程6的块号为2,比
请求进程2的块号6要小,旋转时间较短,更靠近6号柱面,因此第1个响应的是请求进程6,然后
是请求进程2。此时,磁臂处于5号柱面。同理,由于请求进程4的块号比请求进程1的块号小,
故先响应请求进程4,然后响应请求进程1。以此类推,再响应请求进程3、请求进程5。因此,
最省时间的响应次序是:6→2→4→1→3→5。

第8章 文件管理

8.1 简答题参考答案

1.何谓数据项、记录和文件?
【参考答案】①数据项是最低级的数据组织形式,可分为基本数据项和组合数据项。基本
数据项是描述一个对象某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,又称
为数据元素或字段。组合数据项是若干个基本数据项所构成的数据项。②记录是一组相关数据
项的集合,用于描述一个对象某方面的属性。③文件是由创建者定义的、具有文件名的一组相
关信息的集合。
2.一个比较完善的文件系统应具备哪些功能?
【参考答案】一个比较完善的文件系统应具备5个功能。①文件存储空间管理。通过文件存
50

储空间管理,能使文件“各得其所”,并且能尽量提高文件存储空间的利用率。②目录管理。
通过目录管理,能实现文件“按名存取”,提高文件的检索速度,解决文件的命名冲突问题
(允许文件重名),并能实现文件共享。③文件读/写管理。通过文件读/写管理,可以实现
文件数据的快速读/写。④文件安全性管理。通过采取多级文件保护等措施,可以实现对系统
中文件的保护,防止文件被偷窃、修改和破坏。⑤用户接口管理。文件系统向用户提供一个统
一的、方便使用的接口,用户通过该接口可以方便地获得如文件存取、创建、删除、修改等文
计算机操作系统习题与考研真题解析

件管理服务。
3.为什么在大多数 OS 中都引入了“打开”这一文件系统调用?打开的含意是什么?
【参考答案】①当用户要求对一个文件实施多次读/写或者其他操作时,每次都要从检索目
录开始。为了避免多次重复检索目录,在大多数OS中都引入了“打开”这一文件系统调用,
当用户第一次请求对某文件进行操作时,须先利用open系统调用将该文件打开。②所谓“打
开”,是指系统将指定文件的属性(包括该文件在外存上的物理位置)从外存复制到内存中已
打开文件表的一个表目中,并将该表目的编号(或称索引号)返回给用户。“打开”就是在用户
和指定文件之间建立起一个连接。此后,用户通过该连接可直接得到文件信息,避免了再次通
过目录检索文件,即当用户再次向系统发出文件操作请求时,系统可根据用户提供的索引号直
接在已打开文件表中查找到文件信息。这样不仅节省了检索开销,而且提高了文件操作速度。
如果用户不再对该文件实施操作,则可以利用“关闭”系统调用来关闭此文件,即断开此连
接,此时,OS将会把该文件从已打开文件表的表目中删除。
4.什么是文件的逻辑结构?逻辑文件有哪几种组织形式?
【参考答案】①文件的逻辑结构是指从用户的角度出发所观察到的文件组织形式,也就是
用户可以直接处理的数据及其结构。②逻辑文件根据其结构可分为两种:一种是无结构的流式
文件,是指文件信息由一串字符流构成;另一种是有结构的记录式文件,是指将文件信息按照
在逻辑上独立的含义划分为信息单位,每个信息单位称为一个逻辑记录(简称记录)。
5.如何提高变长记录顺序文件的检索速度?
【参考答案】为了提高变长记录顺序文件的检索速度,可建立一张索引表,以主文件中每
条记录的长度及指向对应记录的指针(即该记录在逻辑地址空间的起始地址)为表项的内容。
由于索引表是一个定长记录的顺序文件,其可实现方便快速的直接存取。但是,如果文件较
大,则可建立多级索引以提高检索效率。
6.什么是“按名存取”?文件系统如何实现文件的按名存取?
【参考答案】①“按名存取”指用户只要给出文件名就能存取外存空间中的文件信息,而不
必给出文件的具体物理地址。②文件系统实现文件按名存取的步骤为:首先利用用户提供的文件
名,检索文件目录中该文件的FCB(file control block,文件控制块)或索引节点;然后根据FCB
中的文件物理地址,将文件读入内存。
7.UNIX 系统把文件描述信息从文件目录项中分离出来的原因是什么?
【参考答案】将文件描述信息从文件目录项中分离出来后,目录项中只包含文件名和索引
节点编号,文件的其他描述信息放在索引节点中。这样的分离主要有两个优点。
(1)提高查找速度。查找文件时,用欲查找的文件名与文件目录中的文件名进行依次比
较。由于文件目录存在于外存,比较时须将其读入内存。FCB包括全部文件描述信息时,一个
外存盘块仅能保存较少的FCB,查找速度较慢;将FCB描述信息分离后,文件目录中仅保存FCB
51

文件名和索引节点编号信息,此时一个盘块中可容纳较多的FCB,进而即可减少磁盘块的读取
次数,提高文件检索速度。
(2)实现文件链接。链接就是将路径名作为文件名,使不同的用户均可使用。描述信息分
离后,目录项只包括文件名和索引节点编号,索引节点中包含文件描述信息和标志该索引节点
与对应索引号相连接的计数。
8.目前广泛采用的目录结构是哪种?它有什么优点?
【参考答案】目前广泛采用的目录结构是多级树形目录,它具有以下优点。


1

部分
(1)能有效提高对目录的检索速度。假定文件系统中有N个文件,在单级目录中,最多
要检索N个目录项;但对于i级树形目录,在目录中每检索一个指定的文件,最多可能要检索

课后习题参考答案
t
i× N 项。
(2)允许文件重名。在树形结构的文件系统中,不仅允许每个用户在自己的分目录中使用
与其他用户的文件相同的名字,而且允许同一个用户的不同分目录中的文件重名。
(3)便于实现文件共享。在树形目录中,用户可通过路径名共享他人的文件;也可将共享
文件链接到自己的目录下实现共享,实现方式是系统在用户目录中增设一个目录项,并在其中
填上用户赋予共享文件的新文件名,以及该共享文件的唯一标识符(或索引节点编号)。
(4)能更有效地进行文件的管理和保护。在多级目录中,用户可按文件性质的不同,将它
们存放到不同的子目录中,并且可以赋予各目录不同的存取权限,因此,能更有效地管理和保
护文件。
9.试说明在树形目录中线性检索法的检索过程,并画出相应的流程图。
【参考答案】在树形目录中,用户提供的是从根目录(或当前目录)开始的、由多个文件
分量名所组成的文件路径名。系统在检索一个文件时:①系统读入给定文件路径名中的第一个
文件分量名,用它与根目录(或当前目录)文件中各目录项的文件名进行顺序比较,若能找
到匹配的目录项,则在它的FCB或索引节点编号中找到对应的文件;②系统读入第二个文件分
量名,用它与刚检索到的目录文件中的各目录项文件名进行顺序比较,若能找到匹配者,则重
复上述过程;③如此逐级检索指定文件的分量名,最后将会得到指定文件的FCB或索引节点编
号。检索过程的流程(以UNIX系统为例)如图1-8-1所示。
10.在树形目录中,利用链接方式共享文件有何好处?
【参考答案】利用链接方式共享文件主要有以下几方面的好处。
(1)方便用户。此共享方式允许用户将共享文件链接到自己的子目录下,并赋予它新的文
件名,方便用户管理和使用共享文件。
(2)可防止共享文件被任意删除。每次链接时,系统对索引节点中的链接计数字段i_nlink
执行加1操作;删除时,先对该字段执行减1操作,只有当i_nlink值为0时,共享文件才会被真正
删除,因此可防止共享文件被任意删除。
(3)可加快检索速度。为了加快检索文件的速度,一般系统都引入了当前目录。若共享文
件已被链接到当前目录下,则系统无须再逐级检索目录,进而提高了检索速度。
11.什么是保护域?进程与保护域之间存在着怎样的动态联系?
【参考答案】保护域是进程对一组对象的访问权的集合。保护域规定了进程所能访问的一
组对象(硬件或软件)以及所能执行的操作(即访问权)。
52

进程与保护域之间的动态联系是指进程的可用资源集在其整个生命周期中是变化的,进程
运行在不同的阶段时可以根据需要从一个保护域切换到另一个保护域。

开始

否 是
计算机操作系统习题与考研真题解析

文件名是否以“/”开头?

将当前目录作为工作目录 将根目录作为工作目录

返回 否
“访问权限非法” 访问权限是否合法?



是否还有路径名?

返回指定文件的FCB 是
或索引节点编号
读入下一个文件分量名

将文件分量名与目录项中
的文件名进行顺序比较

返回“指定文件 否
是否找到了匹配的目录项?
未找到”

得到匹配文件分量名的FCB
或索引节点编号,获得下一级目录

将下一级目录作为工作目录

图 1-8-1 线性检索法流程图

12.什么是访问控制表和访问权限表?系统如何利用它们来实现对文件的保护?
【参考答案】本题分步解答如下。
(1)访问控制表是对访问矩阵按列(对象)进行划分,由有序对集{〈域,权集〉}组成,
可用于描述不同用户(进程)对于同一对象的不同访问权限集。访问控制表也可用于定义各域
对于某对象默认的访问权集,其可作为资源能否使用的首要依据。
(2)访问权限表是对访问矩阵按行(域)进行划分,由有序对集{〈对象,权集〉}组成,
表示一个域对每个对象可以执行的一组操作。当域为用户(进程)、对象为文件时,访问权限
表可用于描述一个用户(进程)对每个文件所能执行的一组操作。
(3)系统为每个对象配置一张访问控制表。当一个进程第一次试图访问一个对象时,必须
先检查访问控制表,确定进程是否具有对该对象的访问权。如果其无权访问该对象,则系统会拒
绝本次访问,并构成一个例外(异常)事件;否则(有权访问),允许本次访问,为该进程建立
一个访问权限,并将该权限连接到该进程。以后,进程便可直接利用这一返回的权限去访问该对
象,亦可快速验证访问的合法性。当进程不再需要对该对象进行访问时,可撤销该访问权。
53

8.2 计算题参考答案

13.一个文件系统中,FCB 占 64B,一个盘块大小为 1KB,采用单级文件目录,假如


文件目录中有 3 200 个目录项,则检索一个文件平均需要访问磁盘大约多少次?
【参考答案】文件目录中共有3 200个目录项,每个目录项占64B,因此,该目录文件共占
用3 200×64B=200KB,相当于200个盘块。查找一个目录项,平均需要调入盘块(N+1)/2=


(200+1)/2≈100次。
1

部分
14.在某个文件系统中,每个盘块为 512B,FCB 占 64B,其中文件名占 8B。如果索
引节点编号占 2B,则针对一个存放在磁盘上的、具有 256 个目录项的目录,请分别计算引

课后习题参考答案
入索引节点前后,为找到某个文件的 FCB 而平均启动磁盘的次数。
【参考答案】①在引入索引节点前,每个目录项中均会存放对应文件的FCB,故256个目录
项的目录须占用256×64/512=32个盘块。因此,该目录中检索到一个文件平均启动磁盘的次数
为(32+1)/2=16.5≈17次。②在引入索引节点后,每个目录项中须存放文件名和索引节点编号,
因此256个目录项的目录总共需要占用256×(8+2)/512=5个盘块。因此,找到匹配的目录项平
均需要启动(5+1)/2=3次磁盘;得到索引节点编号后,还须启动磁盘以将对应文件的索引节点
读入内存,故平均需要启动磁盘4次。因此,引入索引节点后可减少启动磁盘的次数,提高了检
索文件的速度。
15.(考研真题)设文件 F1 的当前引用计数值为 1,先建立 F1 的符号链接(软链接)
文件 F2,再建立 F1 的硬链接文件 F3,然后删除 F1。此时,F2 和 F3 的引用计数值分别是多少?
【参考答案】①建立符号链接(软链接)时,引用计数值直接被复制,因此F2的引用计数
值为1。②建立硬链接时,引用计数值加1,F 3的引用计数值为2;但在删除文件时,对于硬链
接,引用计数值减1,因此删除F1后F3的引用值变为1。
16.(考研真题)索引顺序文件可能是最常见的一种逻辑文件组织形式,其不仅有效
克服了变长记录文件不便于直接存取的缺点,且付出的额外存储开销也不算大,对于包含
40 000 条记录的主数据文件,为了能检索到指定关键字的记录,采用索引顺序文件组织方式,
平均检索效率可提高到顺序文件组织方式的多少倍(假定主数据文件和索引表均采用顺序
查找法)?
【参考答案】若顺序文件中所含有的记录数为N,则检索到指定关键字的记录平均须查找

N/2个记录。但对于索引顺序文件,检索到指定关键字的记录平均须查找 N 个记录,因而其检
索效率比顺序文件提高了约 N /2倍。因此,包含40 000条记录的文件,采用索引顺序文件组织
方式的平均检索效率比顺序文件提高了 40 000 /2=100倍。

17.(考研真题)某文件系统的目录由文件名和索引节点编号构成。若每个目录项的长
度均为 64B,其中 4B 存放索引节点编号,60B 存放文件名。文件名由小写英文字母构成,
则该文件系统能创建的文件数量上限为多少?
【参考答案】创建的文件数量上限等于索引节点数量上限,索引节点为4B,即为32位,故
最多有232个索引节点,即最多能创建232个文件。
54

8.3 综合应用题参考答案

18.针对图 1-8-2 所示的文件系统目录结构,若 C 和 D 分别是两个用户的目录,则请问 :


(1)C 用户在当前目录“/C”下欲共享文件 f2,应具备什么条件?
(2)若 C 用户需要经常访问文件,则其应如何操作才会更简单、更快捷?
计算机操作系统习题与考研真题解析

(3)若 D 用户不愿意别人访问其文件 f3,则其应如何操作?


【参考答案】
(1)只有当C用户拥有对文件的访问权限时,才能共享文件f2,此时,通过绝对路径名“/
D/H/f2”或相对路径名“…/D/H/f2”即可访问文件f2。
(2)如果C用户需要经常访问文件f4,则其可以在自己的工作目录下建立一个文件f4的链
接文件Df4,以后他在工作目录“/C”下便可直接使用路径“Df4”来访问文件f4,操作更方
便,速度更快。
(3)D用户可以将文件f3的访问权限设置成只允许文件主访问,而不允许其他用户访问。
19.有一共享文件,它具有下列文件名 :/usr/Wang/test/report、/usr/Zhang/report、
/usr/Lee/report,试填写图 1-8-3 中的 A、B、C、D、E。

根目录
A

A B C D
B
E F G H

Wang Zhang C
I
f1 f2 f3

J K D

Df4 f4 E

图 1-8-2 文件系统目录结构 图 1-8-3 文件共享示意

【参考答案】根据题意可知A为根目录root;由图1-8-3可知,B为Zhang、Wang的上一级目
录,根据目录路径可知访问Zhang和Wang都要经过usr目录,因此B为usr目录;根据路径/usr/Lee/
report可知,C为Lee;D为Wang的子目录,由路径/usr/Wang/test/report可知,D为test;E为该树形
目录的最后一级目录,根据题意可知E为report。
20.(考研真题)假设某系统的目录管理采用了索引节点方式。如果用户需要打开文件
/usr/student/myproc.c,则请简要阐述目录检索的大致过程(假设根目录内容已经读入内存
且该文件存在)。
【参考答案】目录检索的大致过程为:①在根目录中查找usr目录项;②找到usr目录项
后,根据其索引节点编号,获得索引节点位置并将其内容读入内存(若不在内存),然后根
据索引节点中的文件外存地址读入usr的内容;③在usr中查找student目录项,获取索引节点并
读入student的内容(过程类似于第②步,若还有更深层次的目录,则中间目录也采用类似的方
法);④在student中查找myproc.c目录项,获取其索引节点(过程类似于第②步)。
55

第9章 磁盘存储器管理

9.1 简答题参考答案


1

部分
1.
(考研真题)文件物理结构是指一个文件在外存上的存储组织形式,主要有连续结构、

课后习题参考答案
链接结构和索引结构这 3 种,请分别简述它们的优缺点。
【参考答案】本题分步解答如下。
(1)连续结构。优点:①存储管理简单,容易实现;②支持顺序存取和随机存取;③顺序
访问速度快。缺点:①要求为每个文件分配连续的存储空间;②必须事先知道文件的长度,要
求能灵活地插入和删除记录;③不利于文件的动态增长。
(2)链接结构。优点:①消除了磁盘的外部碎片,提高了磁盘空间的利用率;②能适应
文件的动态增长;③方便插入、修改和删除记录。缺点:①存取速度较慢,不适合随机存取;
②物理块间的链接指针错误会造成数据丢失,可靠性差;③需要较多的寻道次数和较长的寻道
时间;④链接指针会占用空间,降低了空间利用率。
(3)索引结构。优点:①既能顺序存取,又能随机存取;②能适应文件的动态增长;③方
便插入、修改和删除记录。缺点:①需要较多的寻道次数和较长的寻道时间;②索引表增加了
系统开销,包括内存空间和存取时间。
2.在 FAT 中为什么要引入“簇”的概念?以“簇”为基本分配单位有什么好处?
【参考答案】①引入“簇”的原因是为了适应磁盘容量不断增大的需要,在进行盘块分配
时,不再以盘块而是以簇为基本单位。一个簇所应包含的扇区的数量与磁盘容量直接相关。
②以簇为基本分配单位能适应磁盘容量不断增大的情况,还可以
减少FAT(file allocation table,文件配置表)中的项数(在相同的 FCB A FAT
磁盘容量下,FAT中的项数与簇的大小成反比),使FAT占用更少 9

的存储空间,进而减少访问FAT的存取开销。 10
11
12 11
3.在 MS-DOS 系统中有两个文件 A 和 B,A 占用 11、
16 12
12、16、14 这 4 个 盘 块 ;B 占 用 13、18、20 这 3 个 盘 块。 FCB B 18 13
试画出文件 A 和 B 中各盘块间的链接情况及 FAT 的情况。 EOF 14
【参考答案】文件A、B中各盘块间的链接情况及FAT的情况 13 15

如图1-9-1所示。 14 16
17
4.假定一个文件系统的外存组织方式为显示链接组织方
20 18
式,在 FAT 中可有 64K 个指针,磁盘盘块大小为 512B。试
19
问该文件系统能否表示一个 512MB 的磁盘? EOF 20
【参考答案】512MB/512B=1M个盘块,每个盘块应设置一个
指针来指示下一个盘块位置,故应有1M个指针指示1M个盘块。 图 1-9-1 盘块间的链接情况及
FAT 的情况
56

因此,64K个指针的文件系统不能指引512MB的磁盘。
5.(考研真题)某文件系统为单级目录结构,文件的数据一次性写入磁盘,已写入的
文件不可修改,但可多次创建新文件。请回答如下问题。
(1)在连续、链式、索引这 3 种文件数据块组织方式中,哪种更合适?说明理由。为
定位文件数据块,需要在 FCB 中设计哪些相关描述字段?
计算机操作系统习题与考研真题解析

(2)为快速找到文件,对于 FCB,是集中存储好,还是与对应的文件数据块连续存储好?
说明理由。
【参考答案】
(1)采用连续结构组织方式更合适。该方式组织文件所占磁盘块连续,因此寻道时间更短,
文件随机访问效率更高。需要在FCB中加入〈起始块号,块数〉或〈起始块号,结束块号〉字段。
(2)将所有的FCB集中存放更好。这样在随机查找文件名时,只需要访问FCB对应的块,
因此可以减少磁头移动次数和磁盘I/O访问次数。
6.有一计算机系统利用图 1-9-2 所示的位示图(行号、列号都从 0 开始编号)来管
理空闲盘块。如果盘块从 1 开始编号,每个盘块的大小为 1KB,则请回答下列问题 :

i/j 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
3 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1
4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

图 1-9-2 位示图

(1)现要为文件分配两个盘块,试具体说明分配过程 ;
(2)若要释放磁盘的第 300 块,则应如何处理 ?
【参考答案】
(1)为某文件分配两个盘块的过程如下:
① 顺序检索位示图,从中找到第一个值为0的二进制位,得到其行号i=2,列号j=2;
② 计算出该位所对应的盘块号
b=i×16+j+1=2×16+2+1=35;
③ 修改位示图,令map[2,2]=1,并将对应的盘块35分配给文件。按照同样的方式,可找到第
3行、第6列的值为0的位,将其转换为盘块号55;将位的值修改为1,并将55号盘块分配给文件。
(2)释放磁盘的第300块时,应进行如下处理:
① 计算出磁盘第300块所对应的二进制位的行号i和列号j,即
i=(300-1)DIV 16=18,j=(300-1)MOD 16=11;
② 修改位示图,令map[18,11]=0,表示对应的盘块为空闲块。
7.
(考研真题)某系统采用成组链接法管理磁盘的空闲空间,目前盘块的链接情况处于
图 1-9-3 所示的状态,先由进程 A 释放物理块 181、135、192,再由进程 B 申请 4 个物理块。
试分别画图说明进程 A 释放物理块后和进程 B 申请物理块后的盘块链接情况。
57

S.free 99 55
free[0] 34 62
free[1] 35 35# 143



free[96] 70 70# 85
free[97] 75 75# 87
free[98] 98 98# 34#


free[99] 1

部分
图 1-9-3 盘块链接情况

课后习题参考答案
【参考答案】本题分步解答如下。
(1)进程A释放物理块181、135、192的过程为:①目前栈中有99个物理块,当进程A释放
181#物理块时,栈中的块数为100;②进程A继续释放135#物理块,并将栈中的100个盘块号记录
在135#物理块中,然后将135#记录在栈中;③继续释放192#物理块并将其放入栈中,此时S.free
的值为2,即栈中的空闲块数为2。进程A释放3个物理块后盘块的链接情况如图1-9-4所示。

S.free 2 100 55
free[0] 135 34 62
free[1] 192 35 35# 143

free[96] 192# 70 70# 85


free[97] 75 75# 87
free[98] 98 98# 34#
free[99] 181 181#
135#

图 1-9-4 进程 A 释放 3 个物理块后盘块的链接情况

(2)进程B申请4个物理块的过程为:①首先申请栈中的192#物理块;②然后将135#物理块
中的内容(100个盘块号)复制到栈中,再将135#物理块分配出去,此时S.free的值为100;③依
次分配栈中的181#物理块和98#物理块,此时S.free的值为98。进程B申请4个物理块后盘块的链
接情况如图1-9-5所示。

S.free 98 55
free[0] 34 62
free[1] 35 35# 143

free[96] 70 70# 85
free[97] 75 75# 87
free[98] 34#
free[99]

图 1-9-5 进程 B 申请 4 个物理块后盘块的链接情况
58

8.(考研真题)磁盘长期使用后,读 / 写磁盘中数据的速度就会变慢 ;而执行磁盘碎


片整理程序后,读 / 写速度就提高了,为什么 ?
【参考答案】①文件磁盘存储不连续。计算机系统经过一段时间的使用后,由于文件修
改、删除、新建等操作混合在一起产生的积累效应,许多文件在磁盘上的存储位置变得不连
续,进而导致读/写数据速度变慢。②磁盘是一个靠盘片的高速旋转进行读/写的设备,当系统
需要读/写的数据连续存储在同一磁道时,存储效率较高。当数据的存储不连续时,由于寻道需
计算机操作系统习题与考研真题解析

要开销,效率会有较大程度的下降。用户在读/写文件时,文件的连续存储也有利于提高磁盘
工作效率,提高数据读/写速度。③通过磁盘碎片整理程序整理碎片,可以将存放文件的数据集
中排列,有效提高了文件系统的性能。
9.
(考研真题)何谓磁盘高速缓存?在设计磁盘高速缓存时需要考虑哪些问题?
【参考答案】磁盘高速缓存是指在内存中为磁盘盘块设置的一个缓冲区,在该缓冲区中保存了
某些盘块的副本。系统在访问磁盘时,首先会查看磁盘高速缓冲中是否存在要访问的盘块内容,如
果存在,则可从磁盘高速缓存中去获取,而无须启动磁盘,进而提高了访问速度;如果不存在,则
启动磁盘以将所需盘块内容读入,并把该内容传送给磁盘高速缓存,以方便再次访问时获取。
在设计磁盘高速缓存时需要考虑的问题有:①如何将磁盘高速缓存中的数据传送给请求进
程;②应采用什么样的置换策略;③已修改的盘块数据应在何时写回磁盘。
10.什么是磁盘容错技术?请简述基于集群技术实现容错的几种主要的工作模式。
【参考答案】磁盘容错技术是通过增加冗余的磁盘驱动器、磁盘控制器等方法来提高磁盘
系统可靠性的一种技术。磁盘容错技术也叫作系统容错技术(system fault tolerant,SFT)。
基于集群技术实现容错主要有3种工作模式。①双机热备份模式。在这种模式的系统中,通
常备有两台处理能力完全相同的服务器,一台为主服务器,另一台为备份服务器。该模式提高
了系统的可用性,易于实现。主、备份服务器完全独立,可支持远程热备份,可以消除由于火
灾、爆炸等非计算机因素所造成的隐患。但是该模式中备份服务器处于被动等待状态,使用效
率只有50%。②双机互为备份模式。两台服务器平时均为在线服务器,各自完成自己的任务。
每台服务器内都配置了两个硬盘,用其中的一个硬盘作为另一台服务器的镜像盘,实现互相
备份。这种模式中两台服务器都可处理任务,因而系统效率较高。当其中一台服务器发生故障
时,系统可指定另一台服务器来接替它的工作。③公用磁盘模式。将多台服务器连接到一个公
共的磁盘系统中,以消除信息的复制时间,减少了网络和服务器的开销。
11.引入检查点的目的是什么 ? 引入检查点后应如何进行恢复处理 ?
【参考答案】①引入检查点的目的是使对事务记录表中事务记录的清理工作经常化。②引
入检查点后的恢复处理工作由恢复例程来实现:首先,查找事务记录表,确定在最近检查点以
前开始执行的最后的事务Ti;找到Ti后,返回搜索事务记录表,找到第一个检查点记录后,从该
检查点开始,返回搜索相应的事务记录,并利用redo和undo过程对它们进行相应的处理。

9.2 计算题参考答案
12.请分别解释在连续分配方式、隐式链接分配方式、显式链接分配方式和索引分配
方式中,如何将文件的字节偏移量 3 500 转换为物理盘块号和块内位移量(设物理盘块的
大小为 1KB,盘块号占 4B)?
【参考答案】[3 500/1 024]=3,3 500%1 024=428,即逻辑盘块号为3,块内位移量为428。
59

①在连续分配方式中,从文件的FCB中得到分配给该文件的起始物理盘块号,假设为a0,则字节
偏移量3 500对应的物理盘块号为a0+3,块内位移量为428。②在隐式链接分配方式中,由于在每个
盘块中都要留出4B(如最后的4B)来存放文件的下一个盘块号,因此字节偏移量3 500的逻辑盘块号
为[3 500/1 020]=3,而块内位移量为3 500%1 020=440。从文件的FCB中获得该文件的首个盘块的
盘块号,如b0,通过读第b0块来获得分配给文件的第1个盘块的盘块号,如b1;再从b1盘块中得到第
2块的盘块号,如b2;从b2盘块中得到第3块的盘块号,如b3。如此,便可得到字节偏移量3 500对应
的物理盘块号为b3,而块内位移量则为440。③在显式链接分配方式中,从文件的FCB中得到分配给


文件的首个盘块的盘块号,如c0,然后在FAT的第c0项中得到分配给文件的第1个盘块的盘块号,如
1

部分
c1;再在FAT的第c1项中得到文件的第2个盘块的盘块号,如c2;在FAT的第c2项中得到文件的第3个
盘块的盘块号,如c3。如此,便可获得字节偏移量3 500对应的物理盘块号为c3,而块内位移量则为

课后习题参考答案
428。④在索引分配方式中,从文件的FCB中得到索引表的地址。从索引表的第3项(距离索引表首
字节12B的位置)可获得字节偏移量3 500对应的物理盘块号,而块内位移量为428。
13.(考研真题)对于容量为 200GB 的硬盘,若采用 FAT 文件系统且盘块大小设定为
4KB,则请问其 FAT 表项长度应当选用 16 位还是 32 位(采用二进制表示)?其 FAT 共
须占用多少字节的空间?
【参考答案】①该硬盘共有盘块号N=200GB/4KB=50M个,因此FAT中至少要有50M个表项
来记录各盘块的使用情况,由于32M<50M<64M,表项长度至少用26位二进制表示。为了便于
存取,FAT选用32位表示。②因为FAT有50M个表项,FAT表项长度为32位,即32/8=4B,因此,
FAT共占用50M×4B=200MB的空间。
14.某个容量为 1.44MB 的软盘,共有 80 个柱面,每个柱面上有 18 个盘块,盘块大
小为 1KB,盘块和柱面均从 0 开始编号。文件 A 依次占据了 20、500、750、900 这 4 个
盘块,其 FCB 位于 51 号盘块上,磁盘最后一次访问的是 50 号盘块。若采用隐式链接分配
方式,则请计算顺序存取该文件的全部内容需要的磁盘寻道距离。
【参考答案】要想顺序存取该文件,须先访问其FCB,得到首个物理盘块号,然后依次访
问文件的所有盘块。由此可知,该文件访问顺序为51、20、500、750、900号盘块,对应的磁道
号依次为2、1、27、41、50,磁头当前位于50号盘块(即2号磁道)上,因此,磁盘寻道距离为
(2-2)+(2-1)+(27-1)+(41-27)+(50-41)=50。
15.
(考研真题)某文件系统采用索引物理结构存储文件,磁盘空间为 1 000GB。一个
目录项可以存储 10 个盘块的地址,前 9 个为直接地址,最后一个为一级间址。若盘块的大
小为 512B,则该文件系统最大能支持的文件大小是多少 ?
【参考答案】9个直接地址支持的文件长度是9×512B=4.5KB。由于一个目录项可以存放10
个盘块的地址,因此一级间址可以存放10个目录项的地址,1个一级间址可以存放的文件大小为
10×512B=5KB。该系统能支持的最大文件长度为9×512B +10×512B=9.5KB。
16.
(考研真题)某文件系统采用混合索引分配方式,如图 1-9-6 所示,有 10 个直接块
(每个直接块指向 1 个数据块)、1 个一级间接块、1 个二级间接块和 1 个三级间接块,间接
块指向的是 1 个索引块,每个索引块和数据块的大小均为 512B,索引块编号的大小为 4B。
(1)若只使用直接块,则文件最大为多少字节?
(2)在该系统中能存储的文件最大是多少?
(3)若读取某文件第 10MB 的内容,则需要访问磁盘几次?
60

数据

数据
直接块
数据

索引块

索引块
数据 数据
一级间接块

索引块
数据
计算机操作系统习题与考研真题解析

数据
二级间接块

索引块
数据
三级间接块
数据

图 1-9-6 文件系统混合索引分配方式

【参考答案】
(1)直接块指向数据块的块数为10,因此若只使用直接块,则文件最大为10×512B=
5 120B。
(2)一级间接块指向的索引块指针数为512B/4B=128个,因此一级间接块指向数据块的块
数是128块。二级间接块指向的索引块指针数也是128个,每个索引块里还有128个指针数据块,
因此二级间接块指向的最大数据块数为128×128个。同理,三级间接块指向数据块的块数是
128×128×128块。因此该系统能存储的最大文件为(10+128+1282+1283)×512B=1 082 201 088
B=1 056 837KB。
(3)10MB的文件需要的数据块个数为10MB/512B=2 048块。直接块和一级间接块指向的
数据块个数为10+128=138块<2 048块。直接块、一级间接块和二级间接块指向的数据块个数为
10+128+1282=16 552块>2 048块,因此第10MB的数据应该存放在二级间接块下的某个数据块
中,共需要访问磁盘3次。
17.在 UNIX 系统中,如果一个盘块的大小为 1KB,每个盘块号占 4B,即每块可放
256 个地址,一个文件索引节点中磁盘的物理盘块号结构如图 1-9-7 所示。请转换下列文
件的字偏移量为物理地址 :
(1)9 999 ;
(2)18 000 ;
(3)420 000。

100 0
i.addr(0) 4 096
34 1
i.addr(1) 135
35 2
i.addr(2) 192
70 3
i.addr(3) 0
75 4
i.addr(4) 3
98 5

i.addr(5) 123 342 143


181 6
i.addr(6) 245 335 144
633 7 331 0
i.addr(7) 111 984 145

82 1
i.addr(8) 367
428#

162 2
i.addr(9) 6 198 255

i.addr(10) 428 331#


1 146 255
i.addr(11) 9 123
9 123#
i.addr(12) 8 034

图 1-9-7 文件索引节点中磁盘的物理盘块号结构
61

【参考答案】在UNIX系统中,文件存储采用混合索引分配方式;即在FCB中,第0~9个地
址为直接地址,第10个地址为一级间址,第11个地址为二级间址,第12个地址为三级间址。使用
多重索引结构,在索引节点中根据逻辑盘块号通过直接索引或间接索引找到对应的物理块号。
(1)[9 999/1 024]=9,9 999%1 024=783,因此逻辑盘块号为9;直接索引第9个地址,
得到物理盘块号为6,块内偏移地址为783。
(2)[18 000/1 024]=17,18 000%1 024=592,因此逻辑盘块号为17;10<17<
(10+256),故通过一次间接索引可在第10个地址处得到物理盘块号。i.addr(10)中查到428


号盘块为一级间址索引块,块内偏移量为17-10=7,对应的盘块号为633,该盘块中的592字节即
为文件的18 000字节的物理地址,因此块内偏移地址为592。 1

部分
(3)[420 000/1 024]=410,420 000%1 024=160。逻辑盘块号为(10+256)<410,通过

课后习题参考答案
二次间接索引i.addr(11)查得9 123号盘块为二级索引块,因为(410-266)/256商为0,余数为
144;从9 123号盘块中查0号盘块,得到一级索引块为331;从331中查144号偏移量,得到数据
盘块号335,该块中的块内偏移地址160即为420 000字节的物理地址。
18.假设某系统磁盘共含 500 个盘块,盘块号为 0—499。若用位示图法管理这 500
个盘块的空间,则当字长为 32 位时,请问 :①位示图需要多少个字?②第 i 字第 j 位对应
的盘块号是多少?
【参考答案】①位示图需要500 DIV 32=16个字。②第i字第 j位对应的盘块号是32×i+ j。

9.3 综合应用题参考答案

19.如果一个文件存放在 100 个数据块中,FCB、FAT、索引块或索引信息等都驻留


在内存中。在下面几种情况下,分别需要做几次磁盘 I/O 操作?
(1)采用连续分配方式,将最后一个数据块搬到文件头部 ;
(2)采用单级索引分配方式,将最后一个数据块搬到文件头部 ;
(3)采用显式链接分配方式,将最后一个数据块搬到文件头部 ;
(4)采用隐式链接分配方式,将首个数据块搬到文件尾部。
【参考答案】
(1)采用连续分配方式时,若文件分配到的首个盘块的前面一块不是空闲的,那么将最
后一个数据块搬到文件头部就意味着整个文件必须“搬家”,因此要读每个块,然后重写每个
块,总共要做200次磁盘I/O操作。
(2)采用单级索引分配方式时,仅须修改索引表的内容,而无须对文件数据块进行读/
写,因此总共要做0次磁盘I/O操作。
(3)采用显式链接分配方式时,仅须修改FAT中的指针,因此总共要做0次磁盘I/O操作。
(4)采用隐式链接分配方式时,首先要读第0块以得到原来第1块的块号,将原来第1块
的块号记录到FCB中的首块号字段中;然后依次读入第1块到第98块的内容以得到原来最后1块
(即第99个数据块)的块号,然后再读入第99块的内容,修改其中的链接指针以使其指向原来
的首个块,并重新将该块写入磁盘;把原来的首块(现在的最后一块)中的链接指针的内容修
改为EOF,然后将该块重新写入磁盘。因此总共要做102次磁盘I/O操作。
20.存放在某个磁盘上的文件系统,采用混合索引分配方式,其 FCB 中共有 13 个地
址项,第 0—9 个地址项为直接地址,第 10 个地址项为一次间址,第 11 个地址项为二次
62

间址,第 12 个地址项为三次间址。如果每个盘块的大小为 512B,盘块号占 3B,则每个盘


块最多存放 170 个盘块地址。
(1)将文件的字节偏移量 5 000、15 000、150 000 转换为物理盘块号和块内偏移量。
(2)假设某个文件的 FCB 已在内存中,但其他信息均在外存中,为了访问该文件中某
个位置的内容,最少需要访问几次磁盘,最多需要访问几次磁盘?
计算机操作系统习题与考研真题解析

【参考答案】
(1)[5 000/512]=9,5 000%512=392,即字节偏移量5 000对应的逻辑盘块号为9,块内
偏移量为392。由于9<10,故可直接从该文件的FCB的第9个地址项处得到物理盘块号,块内
偏移量为392。[15 000/512]=29,15 000%512=152,即字节偏移量15 000对应的逻辑盘块号
为29,块内偏移量为152。由于10<29<(10+170),而29-10=19,故可从FCB的第10个地址
项(即一次间址项)中得到一次间址块的地址;读入该一次间址块并从它的第19项(即该一次
间址块的第57~59这3个字节)中获得对应的物理盘块号,块内偏移量为152。[150 000/512]
=292,150 000%512=496,即字节偏移量150 000对应的逻辑盘块号为292,块内偏移量为496。
由于(10+170)<292<(10+170+170×170),而292-(10+170)=112,112/170商为0,余数
为112,故可从FCB的第11个地址项(即二次间址项)中得到二次间址块的地址,读入二次间址
块并从它的第0项中获得1个一次间址块的地址,再读入该一次间址块并从它的第112项中获得对
应的物理盘块号,块内偏移量为496。
(2)由于文件的FCB已在内存中,为了访问文件中某个位置的内容,最少需要访问1次磁
盘(即可通过直接地址直接读文件盘块),最多需要访问4次磁盘(第1次是读三次间址块,第2
次是读二次间址块,第3次是读一次间址块,第4次是读文件盘块)。
21.(考研真题)文件 F 由 200 条记录组成,记录从 1 开始编号,用户打开文件 F 后,
欲将内存中的一条记录插入文件 F 中,作为其第 30 条记录。请回答下列问题,并说明理由。
(1)若文件系统采用顺序分配方式,每个存储块存放 1 条记录,文件 F 的存储区域前
后均有足够的空闲存储空间,则要完成上述操作最少要访问多少次存储块?文件 FFCB 内
容会有哪些改变?
(2)若文件系统采用链接分配方式,每个存储块存放 1 条记录和 1 个链接指针,则要
完成上述操作最少要访问多少次存储块?若每个存储块的大小为 1KB,其中 4B 存放指针,
则该系统支撑文件的最大长度是多少?
【参考答案】
(1)文件系统采用连续分配方式,即文件F的200条记录连续。文件F的存储区域前后均有
足够的空闲存储空间,在第30条记录处插入1条记录,若要使插入操作访问存储块的次数最少,
则需要将前29条记录向前移动。每移动1条记录需要访问2次存储块(1次读出,1次存入),即
总共需要访问58次存储块。将第30条记录存入文件F中需要访问1次存储块,故总共需要访问59
次存储块。文件F的起始存储块号和文件长度的内容会因插入操作的改变而改变。
(2)文件系统采用链接分配方式,插入1条记录不需要移动其他记录,只需要找到插入点
的位置,然后插入并修改相邻记录的存储块号即可。在第30条记录处插入1条记录,需要从第1
条记录开始查找到第29条记录,这个过程须访问29次存储块。插入新记录需要访问1次存储块,
修改第29条记录的链接块号,使其指向新插入的第30条记录又需要访问1次存储块,故整个过程
共需要访问31次存储块。存放指针需要4B,每字节8位,故最大可寻址的空间是232B=4GB,每
个磁盘大小是1KB(等于1 024B),排除存放指针的4B,则存放数据的部分为1 024-4=1 020B,
故文件系统支持文件的最大长度为4G×1 020B=4 080GB。
63

第10章 多处理机操作系统
1.为什么说通过提高 CPU 时钟频率来提高计算机运算速度的方法已接近极限?


【参考答案】因为CPU所运算的指令或数据及其结果都是以电子信号的方式通过传输介质
1

部分
送入或送出的。因此,在一个时钟周期内,应至少保证信号在传输介质中能完成一个往返的传
输。CPU的时钟频率将受限于信号在介质上的传输时间。换言之,电子信号在真空中的传输速

课后习题参考答案
度是30cm/ns,而在铜线或光纤中的传输速度大约是20cm/ns。这意味着,对于时钟频率为1GHz
的计算机,信号的路径长度不能超过200mm;对于时钟频率为100GHz的计算机,则不能超过
2mm;对于时钟频率为1 000GHz的计算机,则不能超过100μm。显然,这对缩小元器件体积的
要求越来越高。
2.引入 MPS(multiprocessor system,多处理机系统)的原因有哪些?
【参考答案】引入MPS的原因有以下几点。
(1)解决CPU的时钟频率问题。在早期,人们首先会采用提高CPU时钟频率的方法来提高
计算速度。目前,这种通过提高CPU时钟频率来提高计算机计算速度(系统性能)的方法已接
近极限。
(2)增加系统吞吐量。随着系统中处理机数目的增加,系统的处理能力也相应增强。显
然,这可使系统在单位时间内完成更多的工作,即增加了系统吞吐量。
(3)节省投资。在达到相同处理能力的情况下,与n台独立的计算机相比,采用具有n个处
理机的系统,可以更加节省费用。这是因为,此时的n个处理机可以做在同一个机箱中,使用同
一个电源和共享一部分资源,如外设、内存等。
(4)提高系统可靠性。MPS通常具有系统重构的功能,即当其中任何一个处理机发生故障
时,系统可以进行重构,然后继续运行。
3.什么是紧密耦合 MPS 和松散耦合 MPS ?
【参考答案】
紧密耦合MPS,通常是通过高速总线或高速交叉开关来实现多个处理机之间的互连的。
系统中的所有资源和进程都由OS实施统一的控制和管理。这类系统有两种实现方式:①多处
理机共享内存系统和I/O设备,每个处理机都可以对整个存储器进行访问,访问时间一般为
10ns~50ns;②将多处理机与多个存储器分别相连,或将内存划分为若干个能被独立访问的存储
器模块,每个处理机对应一个存储器或存储器模块,而且每个处理机只能访问其所对应的存储
器或存储器模块,以便多个处理机能同时对内存进行访问。
松散耦合MPS,通常是通过通道或通信线路来实现多台计算机之间的互连的。每台计算机
都有自己的存储器和I/O设备,并配置了OS来管理本地资源和在本地运行的进程。因此,每台计
算机都能独立地工作,必要时可通过通信线路与其他计算机交换信息,以及协调它们之间的工
作。但在这种类型的系统中,消息传递的时间一般为10ms~50ms。
64

4.何谓 UMA(uniform memory access,内存统一访问)多处理机结构?它又可进一


步分为哪几种结构?
【参考答案】在UMA结构的MPS中,各处理机单元在功能和结构上都是相同的,在处理上
没有主从之分,即该MPS属于对称多处理(symmetrical multi-processing,SMP)系统,每个处
理机均可访问不同模块中的存储器单元,并且对于每个存储器单元的读/写速度是相同的。根
计算机操作系统习题与考研真题解析

据处理机与存储器模块的连接方式的不同,可将UMA多处理机结构分为3种:①使用单总线的
SMP结构;②使用多总线的SMP结构;③使用单级交叉开关的系统结构。
5.何谓使用单总线的 SMP 结构和使用多总线的 SMP 结构?
【参考答案】本题分步解答如下。
(1)使用单总线的SMP结构如图1-10-1(a)所示。在这种结构的系统中,多个CPU与一个
集中的存储器相连,所有CPU都通过公用总线访问同一个系统的物理存储器,每个CPU均可访
问不同存储器模块中的单元,以及与其他CPU进行通信。这种结构的缺点在于可伸缩性有限。
系统中所有CPU对存储器的访问,都需要通过总线进行。可以通过为每个CPU配置一个高速缓
存的方法解决此问题,如图1-10-1(b)所示,这些高速缓存可以很大限度地减少该CPU对总线
的访问频率,极大地减少总线上的数据流量,以支持更多的CPU。
(2)使用多总线的SMP结构。在这种结构的系统中,所有的CPU不仅共享一个高速缓存,
还有一个本地私有的存储器,如图1-10-1(c)所示。各CPU与本地的私有存储器、I/O设备通过
本地总线连接,系统再使用系统总线将不同CPU的本地总线进行连接,并且将系统中的共享存
储器连接在系统总线上。

私有存储器

共享存储器 共享存储器
共享存储器

CPU CPU CPU CPU


CPU CPU M M M

总线 总线 高速缓存

(a)没有高速缓存 (b)有高速缓存 (c)有高速缓存和私有存储器

图 1-10-1 基于总线的 SMP 结构

6.何谓使用单级交叉开关的系统结构和使用多级交换网络的系统结构?
【参考答案】本题分步解答如下。
(1)使用单级交叉开关的系统结构。在这种结构中,利用电话交换系统中使用交叉开关的
方法,如图1-10-2所示,将系统中所有的CPU与存储器结点通过交叉开关阵列相互连接。每个交
叉开关均为其中两个结点(CPU与存储器模块)之间提供一条专用连接通路,从而避免了在多
个CPU之间因为要访问存储器模块而形成对链路的争夺。
(2)使用多级交换网络的系统结构。图1-10-3(a)是一个最简单的2×2交叉开关,它有两
个输入和两个输出。送入任一输入的信息可以交换到任一输出线上。可以将这样的2×2交换开
关分级连接起来,形成多级交叉开关网络,如图1-10-3(b)所示。
65

000
001
010
011
100
101
110
111
交叉点开关打开

000
001
010
011
(b)
100


101
110 交叉点开关关闭 1

部分
111

课后习题参考答案
关闭的交叉点开关
打开的交叉点开关

图 1-10-2 使用交叉开关的 UMAMPS

3级
CPU 存储器
000 1A 2A 3A 000
001 b b b 001
b
010 010
1B 2B 3B
011 011
100 b 100
1C 2C 3C
101 101
110 a a 110
A X 1D 2D 3D
B Y 111 a a 111

(a)2×2交叉开关 (b)多级交叉开关网络

图 1-10-3 使用多级交换网络的 SMP 结构示意

7.何谓 NUMA(nonuniform memory access,非统一内存访问)结构?它有何特点?


【参考答案】①NUMA也称为非一致存储访问。在NUMA结构的MPS中,系统访问时间会
随存储字位置的不同而变化,系统中的公共存储器和分布在所有处理机上的本地存储器共同构
成了系统的全局地址空间,其可被所有的处理机访问。②NUMA结构的特点是:所有共享存储
器在物理上是分布式的,在逻辑上是连续的,所有这些存储器的集合就是全局地址空间;系统
中的每个CPU都可以访问整个系统的内存,但访问时所使用的指令有所不同。
8.在 NUMA 结构中,为什么要为每个 CPU 配置高速缓冲? CC-NUMA 和 NC-NUMA
分别代表什么?
【参考答案】①对于NUMA多处理机结构,其为每个CPU配备各自的高速缓存的目的是减
少CPU对远程内存的访问次数。②将每个CPU配备有各自的高速缓存的结构称为CC-NUMA。将
每个CPU没有配备各自的高速缓存的结构称为NC-NUMA。
9.试说明多处理机 OS 的特征。
【参考答案】多处理机OS是在单机多道程序系统的基础上发展起来的,它们之间有许多相
似之处,但也存在着较大的差异。归纳来说,多处理机OS具有以下几方面的新特征。
66

(1)并行性。单机多道程序系统的主要目标是,为用户建立多个虚拟处理机以及模拟多处
理机环境,使程序能并发执行,从而改善资源利用率并提高系统吞吐量。而在MPS中,由于存
在多个实处理机,可使多个进程并行执行,因此,多处理机OS的主要目标应是进一步增强程序
执行的并行性,以获得更高的系统吞吐量并提高系统的运算速度。
(2)分布性。在单处理机系统中,所有的任务都是在同一个处理机上执行的,所有的文
件和资源也都处于OS的统一管理之下。然而对于MPS而言,无论其结构如何,在任务、资源
计算机操作系统习题与考研真题解析

和对它们的控制等方面,都呈现出一定的分布性。这种情况,在松散耦合MPS中表现得尤其
明显。
(3)处理机之间的通信和同步性。在MPS中,不仅在同一个处理机上并发执行的各进程之
间,由于资源共享和相互合作的需要,须实现同步和通信,而且在不同处理机上运行的不同进
程之间,也需要同步和通信,这对于提高程序执行的并行性、改善系统性能至关重要。
(4)可重构性。为提高系统的可靠性,在MPS中,应使OS具有这样的能力:当系统中某
个处理机或存储器模块等资源发生故障时,系统能够自动切除故障资源、换上备份资源,并对
系统进行重构,以保证其能继续工作。
10.试比较单处理机 OS 和多处理机 OS 中的进程管理。
【参考答案】单处理机OS和多处理机OS中的进程管理在下列几个方面存在不同。
(1)进程同步方面。在单机多道程序系统中,各进程只能交替执行,不会发生两个进程在
同一时刻访问系统中同一个共享资源的情况。然而,在多机环境下,由于多个进程在不同的处
理机上是并行执行的,因而可能出现多个进程对某个共享资源进行同时访问的情况。可见,多
处理机OS中,不仅需要解决程序并发执行时引发的同步问题,而且需要解决多个不同的处理机
程序并行执行时所引发的同步问题。因此,对于这两类进程同步问题的解决机制,除了采用通
常的锁、信号量和管程外,还应采用新的同步机制和互斥算法。
(2)进程通信方面。在单机环境中,所有进程都采用共享同一存储器的方式,驻留在同
一台机器中。这样,进程间通信的主要方式是共享存储器方式和直接通信方式。但在多机环境
中,相互合作的进程可能运行在不同的处理机上,它们之间的通信涉及处理机间的通信,特别
是在松散耦合MPS中,进程甚至在不同的机器上,其间的通信还需要较长的通信信道或者需要
经过网络。因此,在MPS中,进程通信的实现广泛地采用了间接通信方式。
(3)进程调度方面。在单机环境中,进程调度只是简单地按照一定的算法,从就绪队列中
选择一个进程并使之执行。为平衡I/O负载,可在调度时适当地进行I/O任务和计算任务的搭配,
以提高系统的资源利用率。但在MPS中,发挥多处理机最大效能的关键在于增强程序执行的并
行性。因此,在进程调度时,主要应考虑如何实现负载的平衡。在调度任务并为其分配处理机
时,一方面必须了解每个处理机的能力,以便把适合的任务分配给它;另一方面也要确切地了
解作业中各任务间的关系,即哪些任务必须顺序执行,哪些任务可以并行执行。
11.试比较单处理机 OS 和多处理机 OS 中的内存管理。
【参考答案】在多处理机环境中,通常每个处理机都有属于自己的局部(本地)存储器,
也有可供多个处理机共享的(系统)存储器。每个处理机访问局部存储器与访问系统存储器或
其他处理机的局部存储器(统称远地存储器)相比,所花费的时间也可能是不同的。因此,在
MPS中,存储器系统的结构十分复杂,这致使对存储器系统的管理也变得非常复杂,除了需
要具有单机多道程序系统中的地址转换机构和虚拟存储器功能外,还应增强/增加下列功能/
机制。
67

(1)地址转换机构。该机构不仅用于将虚拟地址转换成物理地址,还应能确定所访问的是
局部存储器还是远地存储器。事实上,在目前很多支持多处理机的OS中,对整个存储器系统已
经采用连续的地址方式进行描述,即一个处理机无须专门去识别所要访问的存储器模块的具体
位置。
(2)访问冲突仲裁机构。当多个处理机上的进程同时竞争访问某个存储器模块时,该机
构能够按照一定的规则,决定哪个处理机上的进程可立即访问,哪个或哪些处理机上的进程应
等待。


(3)数据一致性机制。当共享内存中的某个数据在多个处理机的局部存储器中出现时,OS
1

部分
应保证这些数据的一致性。
12.何谓中心同步实体、集中式同步机构和非集中式同步机构?

课后习题参考答案
【参考答案】为实现进程之间的同步,系统中必须有相应的同步实体,如硬件锁、信号量
以及进程等。如果该同步实体满足下述2个条件,则称之为中心同步实体:①具有唯一的名字,
并且为彼此必须同步的所有进程所知道;②在任何时刻,这些进程中的任何一个进程都可以访
问该同步实体。基于中心同步实体所构成的所有同步机构被称为集中式同步机构;相应地,其
他同步机构则称为非集中式同步机构。
13.集中式同步算法具有哪些特征和缺点?
【参考答案】本题分步解答如下。
(1)集中式同步算法具有2个特征:①当多个进程需要同时访问共享资源或进行通信时,
仅由中心控制节点做出判定,选择一个进程执行;②判定所需要的全部信息都集中在中心控制
节点。
(2)集中式同步算法的缺点在于:①可靠性差,由于中心控制节点的故障会对系统造成
灾难性的影响,有的系统允许中心控制节点进行浮动,即当其出现故障时,系统立即选择一个
新的节点作为中心控制节点;②易形成瓶颈,大量的资源共享和进程通信都是通过中心控制节
点进行管理的,这很容易使中心控制节点成为整个系统的瓶颈,严重影响系统的响应速度和吞
吐量。
14.一个完全分布式同步算法应具有哪些特征?
【参考答案】一个完全分布式同步算法应具有以下特征:①所有节点均具有相同的信息;
②所有节点仅基于本地信息做出判定;③为了做出最后的判定,所有节点担负相同的职责;④
为了做出最后的判定,所有节点都要付出同样的工作量;⑤通常一个节点发生故障,不会导致
整个系统崩溃。大多数同步算法都无法同时具备这5个特征,因此完全分布式同步算法的实际应
用很少。
15.如何利用自旋锁实现对总线的互斥访问?它与信号量的主要区别是什么?
【参考答案】利用自旋锁实现对总线互斥访问的方法是:在总线上设置一个自旋锁,该锁
最多只能被一个内核进程持有。当一个内核进程需要使用总线对某个存储单元进行读/写访问
时,先请求自旋锁,以获得对总线的使用权。如果该锁被占用,那么这个进程就会一直进行
“旋转”,循环测试锁的状态,直到自旋锁重新可用。如果锁未被占用,则请求该锁的内核进
程便能立刻得到它,并继续执行,直到完成对指定存储单元的读/写操作后,释放该锁。可见,
自旋锁可以在任何时刻防止多个内核进程同时进入临界区,因此其可有效避免多处理机上并发
运行的内核进程对总线资源的竞争。
68

自旋锁与信号量的主要区别在于:自旋锁可避免调用进程阻塞。由于自旋锁使用者一般保
持锁的时间非常短,调用进程可用“旋转”来取代进程切换。由于进程切换需要一定开销,并
且会使高速缓存失效,直接影响系统的性能,因此将自旋锁应用于对总线资源的竞争,其效率
要远高于信号量机制,且在多处理机环境中应用非常方便。
16.为什么要引入读 - 复制 - 更新锁?它对读者和写者分别有何影响?
计算机操作系统习题与考研真题解析

【参考答案】读/写自旋锁允许多个读进程同时读,但只要有一个写进程在写,便会禁止
所有读进程去读,使读者进入阻塞状态。如果写的时间非常长,则将严重影响多个读进程的工
作。解决上述问题的方法是改变写进程对文件(共享数据结构)进行修改(写)的方式。此
即,当某写进程要往某文件中写入数据时,它先读该文件,将文件的内容复制到一个副本上,以
后只对副本上的内容进行修改。修改完成后,在适当的时候再将修改完成后的文件全部写回去。
对读者和写者的影响。①读者不会被阻塞。读者在访问被读-复制-更新锁保护的共享数据
时不会被阻塞,这一方面极大地提高了读进程的运行效率,另一方面也使读者所在的CPU不会
发生上下文切换,减少了处理机的开销。②无须为共享文件(数据)设置同步机构。在采用读-
复制-更新锁时,允许多个读者和一个或多个写者同时访问被保护的数据,而无须为共享数据
设置同步机构,因此读者没有同步开销,也无须考虑死锁等问题。但是写者的同步开销却比较
大,需要复制被修改的数据结构,延迟数据结构的释放,还必须使用某种锁机制,以与其他写
者的修改操作同步执行。因此,如果读操作较多,而写操作较少,那么读-复制-更新锁就利大
于弊;反之,则对读者的性能提高可能不足以弥补给写者所带来的损失,此时还是应当采用读/
写自旋锁。
17.何谓二进制指数补偿算法?它所存在的主要问题是什么?
【参考答案】①二进制指数补偿算法是指:为每一个CPU对锁进行测试的TSL指令设置一个
指令延迟执行时间,使该指令下次在该延迟时间设定的时间后执行,该延迟时间是按照一个TSL
指令执行周期的二进制指数方式增加的。例如,当一个CPU发出TSL指令对锁进行第一次测试而
发现锁不空闲时,便推迟第二次测试指令的执行时间,等到21个指令执行周期后,如果第二次
测试仍未成功,则将第三次测试指令的执行时间推迟到22个指令执行周期后……如果第n-1次测
试仍未成功,则将第n次的测试推迟到2n-1个指令执行周期后,依次类推,直至次数达到设定的
最大值。当锁释放时,可能首先会由延迟时间最小的CPU获得该锁。②该算法存在的主要问题
是:当锁被释放时,可能由于各CPU测试指令的延迟时间未到,没有一个CPU会及时对锁进行
测试,即不能及时发现锁空闲,进而造成浪费。
18.时间邮戳定序机构和事件计数的作用分别是什么?
【参考答案】本题分步解答如下。
(1)时间邮戳定序机构。对该机构最基本的要求是,在系统中应具有唯一的、由单一物理
时钟驱动的物理时钟体系,以确保各处理机时钟间的严格同步。其基本功能是:①对所有特殊
事件,如资源请求、通信等,均加印时间邮戳;②对每一种特殊事件,只能使用唯一的时间邮
戳;③根据事件上的时间邮戳,定义所有事件的全序。利用时间邮戳定序机构,再配以相应的
算法,可实现不同处理机的进程同步。实际上,许多集中式和分布式同步方式,都将时间邮戳
定序机构作为同步机构的基础。
(2)事件计数。在这种同步机构中,利用定序器为所有特定事件排序。定序器的初值为
0,且为非减少的,对其仅能施加ticket操作。当一个事件发生时,系统便会为之分配一个称为编
69

号(或标号)V的序号,然后使ticket自动加1,一系列的ticket操作形成了一个非负的、增加的整
数序列,然后把打上标号的事件送至等待服务队列排队。与此同时,系统将所有已服务事件的
编号保留,并形成一个称为事件计数E的栈。实际上,E是保存已出现的某特定类型事件编号计
数的对象(Object),其初值为0,当前值是栈顶的编号。
19.什么是任务流时间和调度流时间?举例说明。
【参考答案】本题分步解答如下。
(1)任务流时间。把完成任务所需要的时间定义为任务流时间。如图1-10-4所示,图中有


3个处理机P1~P3和5个任务T1~T5,调度从时间0开始,共运行了7个时间单位,在处理机P1上运 1

部分
行任务T1和T2,分别需要5个和1.5个时间单位;在处理机P2上运行任务T1和T2,分别用了5个和2

课后习题参考答案
个时间单位;在处理机P3上运行任务T3、T4和T5,它们每个都需要2个时间单位。因此,完成任
务T1共需要5+2=7个时间单位,而完成任务T2共需要1.5+5=6.5个时间单位。

P1 T1 T2
处理机

P2 T2 T1

P3 T3 T4 T5

0 1 2 3 4 5 6 7
t

图 1-10-4 任务流和调度流示意

(2)调度流时间。在MPS中,任务可以被分配到多个处理机上运行。一个调度流时间是系
统中所有处理机上的任务流时间的总和。在图1-10-4所示的例子中,3个处理机上的调度流时间
=T1流+T2流+T3流+T4流+T5流=7+6.5+2+2+2=19.5个时间单位。
20.试比较多处理机 OS 中的静态分配方式和动态分配方式。
【参考答案】①静态分配方式是指一个进程从开始执行直至完成,都被固定地分配到一个
处理机上去执行。此时,须为每一处理机设置一专用的就绪队列,该队列中的各进程先后都是
被分配到该处理机上执行的。在进程阻塞后再次就绪时,其仍会被挂在这个就绪队列中,因而
下次它仍在此处理机上执行。这种方式与单机环境下的进程调度一样。其优点是进程调度的开
销小;缺点是会使各处理机的忙闲不均。换言之,系统中有些处理机的就绪队列可能很快就变
成了空队列,即处理机处于空闲状态,而有些处理机则一直忙碌。②动态分配方式是指为了防
止系统中的多个处理机忙闲不均,在系统中仅设置一个公共的就绪队列,系统中的所有就绪进
程都被放在该队列中。分配进程时,可将进程分配到任何一个处理机上。这样,对一个进程的
整个运行过程而言,在每次被调度执行时,进程都会被随机地分配到当时是空闲的某一处理机
上去执行。
21.何谓自调度方式?该方式有何优缺点?
【参考答案】本题分步解答如下。
(1)自调度方式,是由单处理机调度方式演变而来的,即在系统中设置有一个公共的进程
或线程就绪队列,所有的处理机在空闲时都可到该队列中取得一进程(或线程)加以运行。在
自调度方式中,可采用在单机环境下所用的调度算法,如FCFS调度算法、最高优先级优先调度
算法等。
70

(2)优点。①方便移植。系统中的公共就绪队列可按照单处理机系统中所采用的各种方式
进行组织,其调度算法也可沿用单处理机系统中所用的算法,因此容易将单机环境下的调度机
制移植到MPS上,故它仍然是当前MPS中较常用的调度方式。②处理机利用率高。只要公共就
绪队列不空,就不会出现处理机空闲的情况,也不会发生处理机忙闲不均的现象。
(3)缺点。①瓶颈问题。整个系统只设置一个就绪队列供多个处理机共享,这些处理机
必须互斥地访问该队列,这容易形成系统瓶颈。②低效性。当线程阻塞后再重新就绪时,它只
计算机操作系统习题与考研真题解析

能进入这唯一的就绪队列,但却很少有可能仍在阻塞前的处理机上运行。如果在每个处理机上
都配有高速缓存,则这时在其中保留的该线程的数据将失效,而在该线程新获得的处理机上又
须重新建立这些数据的复制。一个线程在其整个生命周期中可能要多次更换处理机,这使高速
缓存的使用效率变得很低。③线程切换频繁。通常,一个应用程序中的多个线程都是相互合作
的,但在采用自调度方式时,这些线程很难同时获得处理机而同时运行,这会使某些线程因合
作线程未获得处理机运行而阻塞,进而被切换下来。
22.何谓成组调度方式?按进程平均分配处理机时间和按线程平均分配处理机时间这
两种方法,哪个更有效?
【参考答案】为了解决在自调度方式中线程被频繁切换的问题,提出了成组调度方式。该
方式将1个进程中的1组线程分配到1组处理机上去执行。在成组调度时,可考虑按进程平均分配
处理机时间或按线程平均分配处理机时间。
(1)面向所有应用程序平均分配处理机时间。假定系统中有N个处理机和M个应用程序,
每个应用程序中至多含有N个线程,则每个应用程序至多可有1/M的时间去占有N个处理机。例
如,有4个处理机与2个应用程序,其中,应用程序A中有4个线程,应用程序B中有1个线程。这
样,每个应用程序可占用4个处理机1/2的时间。图1-10-5(a)所示为此时处理机的分配情况,由
图可看出,使用这种分配方式,在应用程序A运行时,4个处理机都在忙碌;而在应用程序B运行
时,则只有1个处理机忙碌,其他3个空闲。因此,将有3/8的处理机时间(即37.5%)被浪费。

应用程序A 应用程序B 应用程序A 应用程序B


处理机1 线程1 线程1 处理机1 线程1 线程1
处理机2 线程2 空闲 处理机2 线程2 空闲
处理机3 线程3 空闲 处理机3 线程3 空闲
处理机4 线程4 空闲 处理机4 线程4 空闲
1/2 1/2 4/5 1/5
(a)处理机时间浪费37.5% (b)处理机时间浪费15%

图 1-10-5 两种分配处理机时间的方法

(2)面向所有线程平均分配处理机时间。由于应用程序A中有4个线程,应用程序B中只
有1个线程,因此,为应用程序A分配4/5的时间,而只为应用程序B分配1/5的时间,如图1-10-5
(b)所示。此时,将只有15%的处理机时间被浪费。可见,按线程平均分配处理机时间的方法
更有效。
23.试说明采用专用处理机分配方式的理由。
【参考答案】首先,在具有数十个乃至数百个处理机的高度并行的系统中,每个处理机的
投资费用在整个系统中只占很小一部分。对系统的性能和效率来说,单个处理机的利用率已远
不像在单机系统中那么重要。其次,在一个应用程序的整个运行过程中,由于每个进程或线程
71

专用一个处理机,因此可以完全避免进程或线程频繁切换,这加速了程序的运行。
24.在动态调度方式中,调度的主要责任是什么?在调度时应遵循哪些原则?
【参考答案】动态调度方式允许进程在执行期间动态地改变其线程的数目。这样,OS和应
用程序能够共同地进行调度决策。OS负责把处理机分配给作业,而每个作业负责将分配到的处
理机再分配给自己的某一部分可运行任务。在该方式中,OS的调度责任主要限于处理机的分
配,并遵循空闲则分配、新作业绝对优先、保持等待、释放即分配等原则。


1

部分
第11章 虚拟化和云计算

课后习题参考答案
1.何谓虚拟化?为什么要引入虚拟化?
【参考答案】①虚拟化是指把实体计算机的物理资源抽象成逻辑资源,基于这些逻辑资
源构建与实体计算机架构类似、功能等价的逻辑计算机,这些逻辑计算机称为虚拟机(virtual
machine,VM)。②虚拟化的基本思想是分离软硬件以产生更好的系统性能。引入虚拟化的目
的是在多用户之间共享资源并提高资源利用率和应用程序灵活度。
2.请简述虚拟化的发展过程。
【参考答案】该问题分步解答如下。
(1)早期的VM/370。IBM公司开发的一个分时系统VM/370,其核心为虚拟机管理程序,
又称为VMM(virtual machine monitor,虚拟机监视器),它在裸机上运行并且具备多道程序功
能。该系统向上层提供若干个虚拟机,它们仅仅是裸机硬件的精确复制品。这个复制品包含内
核态/用户态、I/O功能、中断及其他真实硬件所应具备的全部功能。
(2)新时代虚拟机。20世纪90年代,为了解决在Intel 80x86 CPU上运行多个Windows XP
的需求,VMware公司采用了一种新的虚拟化技术,并开发了可运行Windows XP的应用程序。
该应用程序可以运行一个或多个Windows XP或其他用于Intel 80x86的客户机OS,而每个客户机
OS都可运行自己的应用程序。原物理机上的Windows XP为主机OS,而VMware应用程序则为
VMM。客户机OS安装在一个虚拟盘上,该盘实际只是主机OS文件系统中的一个大文件。
(3)Java虚拟机。在SUN公司发明Java程序设计语言时,也同时发明了称为JVM(Java
virtual machine)的虚拟机。引入JVM后,Java语言在不同平台上运行时不再需要重新编译。
(4)虚拟化发展。在笔记本和台式计算机上,VMM允许用户安装多个OS来用于研究工
作,或运行为客户机OS而编写的应用程序。为多个客户机OS编写应用程序的公司可以采用虚拟
化技术,在单个物理服务器上运行多个OS,以便开发、测试和调试应用程序。在数据中心,虚
拟化技术常常用于运行和管理计算环境。
3.实现虚拟化的主要技术有哪些?请简要说明。
【参考答案】根据实现原理的不同,虚拟化技术可分为全虚拟化和半虚拟化这两大类。此
外,利用对虚拟化提供支持的硬件特性实现虚拟化的技术被统称为硬件辅助虚拟化,其在全虚
拟化和半虚拟化方案中都有体现。下面分别介绍这3种技术。
(1)全虚拟化,是一种利用纯软件实现的方法。VMM为虚拟机模拟出硬件环境,接收虚
拟机的硬件请求,并将其转发到真正的硬件上。
72

(2)半虚拟化,又称为“协同虚拟化”,通过修改供虚拟机使用的硬件抽象来避开硬件
中存在的虚拟化漏洞,并在客户机OS中加入虚拟化指令,使客户机OS可以请求VMM帮助访问
硬件。
(3)硬件辅助虚拟化,是通过虚拟化开发出新的硬件特性来简化虚拟化技术的。例如VT-x
和AMD-V,两者都针对特权指令为CPU添加了一个执行模式,即使VMM运行在一个新增的根
模式下。特权和敏感指令调用都会自动陷入虚拟化层,而不再需要翻译或半虚拟化。虚拟机的
计算机操作系统习题与考研真题解析

状态保存在虚拟机控制结构或虚拟机控制块中。
4.举例说明硬件辅助虚拟化与全虚拟化的结合。
【参考答案】全虚拟化的实现与计算机硬件结构具有强相关性。早期的ARM处理器在设计
硬件结构时缺乏对虚拟化技术的支持,纯软件的全虚拟化技术实现复杂,且运行效率低下。为
了解决这一问题,硬件辅助技术应运而生。基于ARM v8.4架构的鲲鹏处理器加入了异常级别的
设计、指令集扩展及专用寄存器等面向虚拟化技术的硬件支持。硬件辅助降低了VMM实现的复
杂度,以往依赖纯软件进行的复杂操作可直接使用专用指令让硬件自动执行,这使虚拟机的运
行效率及稳定性得到了提升。
5.何谓 VMM ?它主要有哪些类型?
【参考答案】VMM是虚拟化技术中的虚拟化层,用来实现对计算机硬件资源的模拟、隔
离和共享。从软件架构的角度看,VMM主要有两种类型:Type 1 VMM(裸金属架构VMM)和
Type 2 VMM(寄居架构VMM)。①Type 1 VMM,直接运行在硬件之上,管理底层硬件,并监
管上层虚拟机。②Type 2 VMM,是PC上常用的类型,这类VMM作为一个应用程序运行在主机
OS上,不会直接管理硬件资源,而是会利用主机OS与硬件进行交互。
6.何谓 CPU 虚拟化?如何实现 CPU 虚拟化?
【参考答案】CPU虚拟化是将实际存在的硬件CPU虚拟成逻辑上的CPU。各虚拟CPU之间
相互隔离,并且都能像硬件CPU一样正确执行指令以及处理中断和异常。
要想实现CPU虚拟化,则要对指令执行、中断和异常、上下文切换等进行模拟。它们分别
描述如下。
(1)指令执行。为了保证在VMM对CPU完全控制的同时,虚拟机能够正确、快速地运
行,在指令执行方面须保证虚拟机能受限制地执行。具体实现思想是:普通CPU指令直接执
行,以保证计算性能;敏感指令由VMM模拟执行,以保证安全。
(2)中断和异常。为了使虚拟机能够正常响应中断和异常,可采用VMM模拟方式为虚拟
机提供与硬件环境一致的中断和异常触发条件与处理过程,以使虚拟机觉察不到其所处环境为
虚拟环境。
(3)上下文切换。虚拟机之间采用时分复用的方式共享CPU,因此虚拟机之间的切换需要
解决上下文切换问题。VMM可控制虚拟机进行上下文切换:首先保存当前运行虚拟机的上下
文,然后恢复即将运行虚拟机的上下文。
7.试比较解释执行技术、扫描与修补技术以及二进制翻译技术的优缺点。
【参考答案】本题分步解答如下。
(1)解释执行技术是指将虚拟机所须执行的每一条指令都经VMM实时解释执行。VMM把
指令解释成能够在主机上运行的一个函数,而这个函数可以模拟出虚拟机希望的执行效果。该
技术的优点是所有指令都在VMM的监控之下;缺点是效率低,原本CPU在一个机器周期内就可
73

以执行完成的普通指令,变成了复杂且耗时的内存读/写操作。
(2)扫描与修补技术是指扫描虚拟机所须执行的代码,保留普通指令并修补敏感指令。修
补是指将指令中的敏感指令替换成一个外跳转,在跳转到VMM空间后,再执行可以模拟敏感指
令效果的安全代码块,然后跳回虚拟机继续执行下一条指令。相比解释执行技术,该技术的效
率提高了许多,但每次需要执行敏感指令时都需要跳转,这导致代码的局部性较差,限制了运
行效率的进一步提高。
(3)二进制翻译技术是指在启动虚拟机时,VMM就会预先将后续可能会用到的代码进行


翻译并存储在缓冲区中。翻译时,保留普通指令、替换敏感指令,最后形成一段可直接按顺序
1

部分
执行的代码。该技术的优点是缓冲区中翻译好的代码局部性较高,直接执行速度更快;缺点是
占用内存空间较大。

课后习题参考答案
8.VMM 控制虚拟机进行上下文切换的主要实现方式有哪些?
【参考答案】VMM控制虚拟机进行上下文切换的主要实现方式有两种:软件切换和基于硬
件支持的切换。①在软件切换中,VMM会维护一块内存,用于保存各虚拟机的上下文。虚拟机
进行切换时,先将当前CPU所有寄存器的值存入内存空间,再从内存中读取即将运行的虚拟机
在挂起前所保存的CPU寄存器值,并将其装入对应的寄存器中。②当硬件虚拟化技术出现后,
硬件提供了便于虚拟机进行上下文切换的专用数据结构和指令,使得上下文切换的过程更加高
效。以Intel-VT为例,其设计了虚拟机控制结构VMCS,用于保存虚拟机中所有vCPU的各种状态
参数和操作策略。VMCS其实是物理内存中的一段有特定格式的内存空间,可通过专用指令对
其进行控制。
9.试说明内存虚拟化中两级内存映射的过程。
【参考答案】虚拟内存的虚拟化包括共享RAM中的物理内存以及为虚拟机动态分配内存。
这就需要客户机OS和VMM维护从虚拟内存到物理内存的映射和从物理内存到机器内存的映
射。客户机OS仍然负责从虚拟内存到虚拟机的物理内存的映射,但是它不能直接访问机器内
存。VMM负责将物理内存映射到机器内存上。图1-11-1给出了两级内存映射的过程。

客户机OS VMM

客户机 客户机
机器内存
虚拟内存 物理内存

图 1-11-1 两级内存映射过程

10.请简述全设备模拟、半虚拟化和直接 I/O 虚拟化这 3 种设备虚拟化技术。


【参考答案】本题分步解答如下。
(1)全设备模拟可以在软件中复制一个设备的所有功能或总线结构。该软件作为虚拟设
备处于VMM中,客户机OS的I/O访问请求会陷入VMM中,并与I/O设备进行交互。单一的硬件
设备可以由多个同时运行的虚拟机共享。全设备模拟软件的运行速度会显著慢于其所模拟的
硬件。
(2)半虚拟化由前端驱动和后端驱动组成。前端驱动负责管理客户机OS的I/O请求,后端
驱动负责管理真实的I/O设备并复用不同虚拟机的I/O数据。与全设备模拟相比,半虚拟化的方法
可以获得更好的设备性能,但也会产生更高的CPU开销。
74

(3)直接I/O虚拟化是让虚拟机直接访问硬件设备。它能获得近乎访问本地硬件的性能,
并且CPU开销不高。然而,该技术目前主要应用在大规模主机的网络方面,对于商业硬件设备
而言仍有许多挑战。例如,当一个物理设备被回收以备后续再用时,它可能被设置为一个未知
状态,这可能会导致系统工作不正常,甚至让整个系统崩溃。
11.实现多核虚拟化的主要困难有哪些?
计算机操作系统习题与考研真题解析

【参考答案】多核处理机通过在一个单一芯片上集成多个处理机核而具有更高的性能,但
多核虚拟化对计算机体系结构工程师、编译器编写者、系统设计者以及程序员等都提出了许多
新的挑战。主要有2个困难:①应用程序编写者必须完全并行地使用所有处理机核;②软件必须
明确地为处理机核分配任务。
12.何谓云计算?为什么要引入云计算?
【参考答案】①云计算是分布式计算、网格计算、并行计算、效用计算、网络存储技术、
虚拟化、负载均衡等传统计算机技术和网络技术发展融合的产物,旨在通过网络把多个成本相
对较低的计算实体整合成一个具有强大计算能力的完美系统,并借助SaaS(软件即服务)、
PaaS(平台即服务)、IaaS(基础设施即服务)等先进的商业模式把这种强大的计算能力分布到
终端用户手中。②云计算的核心理念是通过不断提高“云”的处理能力来减少用户终端的处理
负担,最终使用户终端简化成一个单纯的I/O设备,并能按需享受“云”的强大计算能力。美国
国家标准与技术研究院给出的云计算定义为:云计算是一种按使用量付费模式,这种模式提供
可用的、便捷的、按需的网络访问,用户进入可配置的计算资源共享池(含网络、服务器、存
储设备、应用软件以及服务等)后,其中的资源可被快速提供,用户只须投入很少的管理工作
或与服务供应商进行很少的交互即可。
13.试对广义的云计算和狭义的云计算进行比较。
【参考答案】①狭义的云计算是指IT(information technology,信息技术)基础设施的交
付和使用模式,即通过网络以按需、易扩展的方式获得所需的资源。提供资源的网络被称为
“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取、按需使用、按
使用收费。这种特性经常被称为像使用水和电一样使用IT基础设施。②广义的云计算是指服务
的交付和使用模式,即通过网络以按需、易扩展的方式获得所需的服务。这种服务可以与IT、
软件、互联网等相关,也可以是任意其他形式的服务。
14.云计算的基本特征有哪些?
【参考答案】美国国家标准与技术研究院对云计算的定义中指出了其5个特征。①按需自
助服务:消费者无须同服务供应商交互就可以在需要时得到自助的计算资源,如服务器时间、
网络存储空间等(资源的自助服务)。②无处不在的网络访问:用户可借助不同的客户端,通
过标准的应用进行网络访问以获取可用服务。③共享资源池:根据消费者的需求来动态划分或
释放不同的物理资源和虚拟资源。④快速弹性:云计算具有快速、弹性地提供和释放资源的能
力;用户可在任何时间以任何量化方式对其进行购买。⑤服务可计量:云计算能以计量的方法
对服务类型进行自动控制、对资源进行优化使用。
15.什么是静态迁移?请简述它的处理过程。
【参考答案】静态迁移是指在虚拟机关机或暂停的情况下,将相关文件从一台物理机迁移
到另一台物理机上。在虚拟机关机的情况下,只需要简单地迁移虚拟机镜像和相应的配置文件
到另一台物理机上即可。如果需要保存虚拟机迁移之前的状态,则须在迁移之前将虚拟机暂
75

停,然后复制其状态至目的主机,最后在目的主机上重建虚拟机状态,并恢复执行。这种方式
的迁移过程需要显式地停止虚拟机的运行。静态迁移的步骤为:①复制虚拟机的镜像文件和配
置文件;②将镜像文件和配置文件复制到目标虚拟机相应的目录中;③激活虚拟机配置文件;
④开启虚拟机电源,启动迁移后的虚拟机。
16.什么是动态迁移?它的处理步骤有哪些?
【参考答案】动态迁移也叫作在线迁移(分为手动和自动两种),是指在虚拟集群中,当
一个虚拟机失效时,在不停止虚拟机的前提下,将故障转移至另一台主机的虚拟机上的过程。


这一过程实现的前提是这两个虚拟机要运行相同的客户机OS。在线迁移虚拟机具体包括以下6个 1

部分
步骤。

课后习题参考答案
步骤0和步骤1:预迁移与预定。确定要迁移的虚拟机和目标主机。尽管用户可以手动将一
台虚拟机迁移到一台合适的物理主机上,但在大部分情况下,迁移是因负载均衡和服务器合并
等策略而自动发起的。
步骤2:迭代预复制。由于虚拟机的整个执行状态都存储在内存中,因此向目标节点发送
虚拟机的内存数据可以确保虚拟机提供服务的连续性。第一轮会传输所有的内存数据,后续的
传输会不断地迭代复制刚更新过的数据,该过程重复进行,直至脏的内存页足够少。在该步骤
中,尽管一直在迭代复制内存数据,但并不中断程序的运行。
步骤3:挂起并复制。在最后一轮传输内存数据时,挂起正在被迁移的虚拟机。其他非内
存数据(如CPU和网络的状态等)也被同时发送。在该步骤中,虚拟机停止且其他应用不再运
行。这一段的不可用时间称为迁移的停机时间。应尽量缩短停机时间,以使用户无法察觉。
步骤4和步骤5:提交与重新激活。在复制了所有需要的数据之后,在目标主机上,虚拟机
重新装载其整体,恢复在其中执行的程序,并继续为其提供服务。然后,网络连接被重定向至
新虚拟机,此时,对源主机的依赖被清除。最后,从源主机中移除原虚拟机。至此,整个迁移
过程结束。
17.请简述物理集群和虚拟集群的区别。
【参考答案】一组通过物理网络互连的物理机器称为物理集群。安装在一个或多个物理集
群的分布式服务器上的多个客户虚拟机称为虚拟集群。在逻辑上,处于一个虚拟集群的客户虚
拟机,通过一个跨越了多个物理网络的虚拟网络互联在一起。一个虚拟集群可以由多台物理机
器构成,也可以由一个可运行在多个物理集群上的虚拟机构成。在虚拟集群中,虚拟机客户系
统与物理主机系统并存,并且虚拟机运行在物理主机之上。
18.请举例说明虚拟机的在线迁移过程。
【参考答案】图1-11-2所示为从主机A向主机B在线迁移虚拟机的过程。在迁移中,将虚拟
机的状态文件从存储区域复制到物理主机上。
19.虚拟机在线迁移方案的设计目标是什么?
【参考答案】当虚拟机运行在线服务时,在线虚拟机迁移方案的设计目标是最小化停机时
间、网络带宽消耗及总迁移时间这3个指标。另外,在迁移过程中,还需要确保不会因资源(如
CPU、网络带宽等)竞争而中断运行在同一物理主机上的其他活跃服务。
20.软件授权的目的是什么?
【参考答案】软件授权是软件保护概念的延伸和发展。其目标对象同时涵盖了开发商和最
终用户。其目的是在保护软件不被盗版的同时,为开发商创造更方便、更灵活的销售模式。
76

虚拟机在主机A上正常运行 步骤0:预迁移
主机A上激活虚拟机
备选物理主机可能被预选为迁移目标
块设备被镜像,空闲资源被保留

步骤1:预定
计算机操作系统习题与考研真题解析

在目的主机上初始化一个容器

由于复制而引入的开销 步骤2:迭代预复制
使得影子页表模式可以在接下来
的循环中选代复制脏页

停机时间(虚拟机停止服务) 步骤3:挂起并复制
在主机A上挂起虚拟机
发起ARP以将网络重定向到主机B
将虚拟机的所有其余状态同步至主机B

虚拟机在主机B上正常运行
步骤4:提交
释放主机A上的虚拟机状态

步骤5:重新激活
在主机B上激活虚拟机
连接本地设备
恢复正常操作

图 1-11-2 在线迁移虚拟机的过程

21.运行在虚拟机上的软件如何被授权?举例说明。
【参考答案】大部分软件是基于某个处理机而授权的。在某些情况下,软件商会在许可证
(license)中加入明确的条款,禁止在虚拟机或未授权的虚拟机中使用该软件。
以微软公司的Windows Server 2012 R2为例,它有2种基本的版本:标准版和数据中心。除了
在针对不同的虚拟机时许可证不同外,它们各自的特点几乎相同。这意味着用户选择的版本取
决于虚拟环境,而不是所需要的功能可用性。
(1)标准版的许可证只允许物理主机运行两个虚拟机,这两个虚拟机不能使用虚拟机自动
激活技术。
(2)数据中心与许可证在一台物理主机上,此时物理主机可以运行虚拟机的数量不受限
制,且这些虚拟机可以容易地使用虚拟机自动激活技术。
虚拟机不会直接授权。然而,如上所述,标准版的许可证允许一个许可的物理主机上运行
达到2个OS的虚拟实例,数据中心的许可证允许主机上运行任意数量的OS的虚拟实例。
22.云计算中授权的主要功能是什么?
【参考答案】云计算中的授权主要用于身份认证与访问管理,它是确定用户或系统身份并
授予其权限的过程,被用于确定用户或系统是否具有执行某些操作所需的权限。在数字服务方
面,授权是认证的下一步骤。授权管理是为了有效管理根据机构策略制定实体可访问资源权利
的过程而进行的活动。
77

第12章 保护和安全
1.实现“安全环境”的主要目标是什么?


【参考答案】实现“安全环境”的主要目标有数据机密性、数据完整性和系统可用性。
1

部分
①数据机密性:指将机密的数据置于保密状态,仅允许被授权用户访问系统中的信息,以避免
数据暴露。②数据完整性:指对数据或资源的可信赖程度,包括数据(信息内容)的完整性和

课后习题参考答案
数据来源的完整性,通常用于表述防止不当或未经授权的修改。③系统可用性:指能保证计算
机中的资源供授权用户随时访问,系统不会拒绝服务。
2.系统安全性的复杂性表现在哪几个方面 ?
【参考答案】系统安全性的复杂性表现在以下几个方面。
(1)多面性:在较大规模的系统中,通常存在多个风险点,在这些风险点处又都包含物理
安全、逻辑安全及安全管理这3方面的内容。其中任一方面出现问题,都可能引发安全事故。
(2)动态性:由于IT不断发展和攻击者的手段层出不穷,系统的安全问题呈现出了动态性。
(3)层次性:系统安全是一个涉及诸多方面且相当复杂的问题,因此需要采用系统工程的
方法对其加以解决——利用多个层次的安全功能来覆盖系统安全的各个方面。
(4)适度性:根据实际需要提供适度的安全目标并加以实现。
3.对系统安全性的威胁可分为哪几类?分别介绍它们。
【参考答案】对系统安全性的威胁主要包括:假冒用户身份、数据截取、拒绝服务、修改
信息、伪造信息、否认操作、中断传输、通信量分析。
(1)假冒用户身份:也称为身份攻击,指用户身份被非法窃取,亦即攻击者伪装成一个合
法用户,利用安全体制所允许的操作去破坏系统安全;在网络环境下,假冒者又可分为发方假
冒和收方假冒两种。
(2)数据截取:未经核准的用户可能会通过非正当途径截取网络中的文件和数据,由此造
成网络信息的泄露。截取方式可以是直接从电话线上窃听,也可以是利用计算机和相应的软件
来截取信息。
(3)拒绝服务:指未经主管部门的许可,拒绝接受一些核准用户对网络资源进行访问。
(4)修改信息:未经核准的用户不仅可能从系统中截取信息,还可能修改数据包中的
信息。
(5)伪造信息:未经核准的用户可将一些经过精心编造的虚假信息送入计算机,或者在某
些文件中增加一些虚假记录,这同样会威胁系统中数据的完整性。
(6)否认操作:这种类型的威胁又称为抵赖,是指某用户不承认自己曾经做过的事情。
(7)中断传输:指系统中因某资源被破坏而造成信息传输中断,这将威胁系统的可用性。
(8)通信量分析:攻击者可以通过窃听手段窃取在线路中传输的信息,考察数据包中的协
议控制信息,了解通信者的身份与地址等;通过研究数据包的长度和通信频度,攻击者可以了
解到所交换数据的性质。
78

4.可信计算机系统评价准则将计算机系统的安全程度分为哪几个等级 ?
【参考答案】国际标准化组织将“IT安全评价通用准则(简称CC)”作为国际标准,CC为
相互独立的机构对相应的IT安全产品进行评价提供了可比性。该标准将计算机系统的安全程度
划分为8个等级:D1、C1、C2、B1、B2、B3、A1、A2。其中,D1为安全度最低级,C1又称为自由
安全保护级,C2又称为受控存取控制级,在后面的各级中,逐渐加强了对用户访问权限的限制。
计算机操作系统习题与考研真题解析

5.什么是易位法和置换法?试举例说明置换法。
【参考答案】易位法和置换法是两种最基本的加密方法。①易位法是按照一定规则,重新
安排明文中的比特或字符顺序以形成密文,而字符本身保持不变。按易位单位的不同,易位法
又可分成比特易位和字符易位两种。前者的实现方法简单易行,并且可用硬件实现,主要用于
数字通信中;后者则是利用密钥对明文进行易位后形成密文,例如,将明文Please transfer转换
为密文AFIISKSOSELAWAIA的加密过程。②置换法是按照一定规则,用一个字符去置换另一个
字符以形成密文,例如,How are you?中的每个字符用字母表中其后面第一个字母代替就是Ipx
bsf zpv?
6.试比较对称加密算法和非对称加密算法。
【参考答案】可以从表1-12-1所示的几个方面比较对称加密算法和非对称加密算法。

表1-12-1 对称加密算法和非对称加密算法的比较
比较内容 对称加密算法 非对称加密算法
密钥必须保密,故密钥的传递需要 公开密钥无须保密,可通过一般的通信环
密钥的保密性
可靠的通道 境传递;而私用密钥则无须传递

密钥量大,难以管理,如N个用户
密钥量大大减少,N个用户之间相互保密地
密钥的量 之间相互保密地传送数据,需要
传送数据,只需要2N个密钥
N(N-1)/2个密钥

加密速度快,故适合大量数据的加
加密速度 加密速度慢,只适合少量数据的加密

由于通信双方需要共享保密的密
互不相识的用户 由于公开密钥是公开的,故可以满足互不
钥,故无法满足互不相识的用户之
之间的通信 相识的用户之间的保密通信
间的保密通信

由于密钥至少是两人共享,故难以
数字签名 可以完成数字签名
解决数字签名的验证问题

7.试说明保密数据签名的加密和解密方式。
【参考答案】保密数据签名的加密和解密方式如下:
(1)发送者A用自己的私用密钥Kda对明文P进行加密,得到密文DKda(P);
(2)发送者A再用接收者B的公钥Keb对DKda(P)进行加密,得到EKeb[DKda(P)]后传送至接
收者B;
(3)接收者B收到E Keb[D Kda(P)]后,先用私钥Kdb对其进行解密,得到D Kdb{E Keb[D Kda
(P)]}=DKda(P);
(4)接收者B再用发送者A的公钥Kea对DKda(P)进行解密,得到EKea[DKda(P)]=P。
79

8.数字证明书的作用是什么?举例说明数字证明书的申请、发放和使用过程。
【参考答案】CA(cerif ication authority,认证机构)为公开密钥发放一份公开密钥证明
书,又把该公开密钥证明书称为数字证明书,用于证明通信请求者的身份。其申请、发放和使
用过程如下:
(1)用户A在使用数字证明书之前,应先向CA申请数字证明书,此时A应向CA提供身份证
明和希望使用的公钥A;
(2)CA在收到用户A发来的申请报告后,若决定接受其申请,则发给A一份数字证明书,


此证明书中包括公钥A和CA发证者的签名等信息,然后利用CA的私钥对所有的这些信息进行加
1

部分
密,即对CA进行数字签名;
(3)用户A在向用户B发送报文信息时,由用户A用私钥对报文进行加密(即进行数字签

课后习题参考答案
名),然后连同已加密的数字证明书一起发给B;
(4)为了能对所收到的数字证明书进行解密,用户B须向CA申请获得CA的公钥B;CA收
到用户B的申请后,可决定将公钥B发给用户B;
(5)用户B利用CA的公钥B对数字证明书加以解密,以确认该数字证明书系原件,并从数
字证明书中获得公钥A,然后确认该公钥A系用户A的密钥;
(6)用户B再利用公钥A对用户A发来的加密报文进行解密,进而得到用户A发来的报文的
真实明文。
9.可利用哪几种方式来确定用户身份的真实性?
【参考答案】由于身份认证是通过验证被认证对象的一个或多个参数的真实性和有效性来
确定被认证对象是否名符其实的,因此,在被认证对象与要验证的那些参数之间,应存在严格
的对应关系。身份认证目前主要依据3方面的信息来实现。①所知:基于个人所知道或所掌握
的知识(如某系统的登录名、口令、密码等)进行身份认证。②所有:基于个人所具有的东西
(如身份证、信用卡、钥匙等)进行身份认证。③个人特征:基于个人所具有的特征,特别是
生理特征(如指纹、声音等)进行身份认证。
10.基于口令机制的认证技术通常应满足哪些要求 ?
【参考答案】为了防止攻击者猜中口令,这种机制通常应满足以下几点要求。
(1)口令长度适中:口令通常是由一串字母和数字组成的。口令如果太短,则很容易被攻
击者猜中。因此建议口令长度不少于7个字符,而且在口令中应包含大写字母和小写字母以及数
字,最好还能引入特殊符号。
(2)自动断开连接:为了给攻击者猜中口令增加难度,在口令机制中还应引入自动断开连
接的功能,即只允许用户输入有限次数的不正确口令,通常规定为3~5次。如果用户输入不正
确口令的次数超过了规定的次数,系统便会自动断开该用户所在终端的连接。
(3)隐蔽回送显示:在用户输入口令时,登录程序不应将该口令回送到屏幕上显示,以防
止被就近的其他用户发现。
(4)记录和报告:该功能用于记录所有用户登录系统和退出系统的时间,也用于记录和报
告攻击者非法猜测口令的企图,以及所发生的与安全性有关的其他不轨行为,这样便能及时发
现有人在对系统的安全性进行攻击。
11.在口令机制中,应如何保证口令文件的安全性?
【参考答案】为了保证口令文件的安全性,可采取2种保护措施。
80

(1)采用加密技术。首先,对口令文件中的口令部分必须采用加密技术加密后再进行保
存。当验证口令时,系统须用同样的算法对用户输入的口令进行编码,并将编码后的口令与存
储在口令文件中的已加密的口令进行比较。为了防止密钥泄露,对口令进行加密可采用单向加
密的方式,即只能将口令的明文转换成密文,而不能将密文解密成明文。
(2)采用强制性的保护措施。为了防止攻击者通过利用加密程序、采用字典攻击等方式来
破译口令,还可采用强制性的保护措施,如仅允许OS本身访问口令文件,或者进一步强制为仅
计算机操作系统习题与考研真题解析

允许需要访问该表的系统模块访问口令文件。
12.试给出一种对加密口令进行验证的方法。
【参考答案】当某用户输入一个口令时,系统利用函数 f(x)对该口令进行加密,然后将加密
后的口令与存储在口令文件中的已加密的口令进行比较,若两者匹配,则认为该用户是合法用
户。对攻击者而言,即使其能获取口令文件中已加密的口令,也无法对它们进行译码,因而不
会影响系统的安全性。图1-12-1所示为对加密口令进行验证的方法。

存入口令 否
f(x) 口令文件
是否超过 是
拒绝进入
加密函数 规定次数?

用户输入口令 进行
f(x) 口令是否合法?
口令比较


进入系统

图 1-12-1 对加密口令进行验证的方法

13.基于物理标志的认证技术又可细分为哪几种?
【参考答案】基于物理标志的认证技术主要有基于磁卡的认证技术和基于IC卡(integrated
circuit card,集成电路卡)的认证技术这2种。
(1)基于磁卡的认证技术。磁卡是基于磁性原理来记录数据的,如果在磁条上记录的是用
户名、用户密码、账号和金额,则该卡便是金融卡或银行卡;如果在磁条上记录的是有关用户
的信息,则该卡便可作为证明用户身份的物理标志。
(2)基于IC卡的认证技术。在IC卡中可装入CPU和存储器芯片,使该卡具有一定的智能。
IC卡中的CPU用于对内部数据进行访问和与外部数据进行交换,还可利用较复杂的加密算法对
数据进行处理,这使IC卡比磁卡具有更强的防伪性和保密性。
14.智能卡可分为哪几种类型?它们是否都可用于基于用户持有物的认证技术中?
【参考答案】智能卡分为存储器卡、微处理器卡和密码卡。①存储器卡:没有微处理器芯
片,不具有安全性,只能作为储值卡,用来存储少量金额的现金与信息。②微处理器卡:增加
了一个微处理器,增强了安全性,被广泛用作信用卡。用户可以在商场把信用卡插入读卡机
后,授权进行一定数额的转账,然后信用卡会将一段加密后的信息发送到商场,商场再将该信
息转发到银行,最后从用户在该银行中的账户中扣除所须付出的金额。③密码卡:增加了加密
运算协处理器和RAM,由于它支持非对称加密算法,而且所支持的密钥长度可达1024位,因而
极大地增强了IC卡的安全性。因此密码卡完全可以作为用户的数字身份证明。
81

15.被选用于身份识别的生理标志应具备哪几个条件?请列举几种常用的生理标志。
【参考答案】被选用的生理标志应具备以下条件:①足够的可变性,系统可根据它来区别
成千上万的不同用户;②保持稳定,通常不会发生变化;③不易被伪装。常用的生理标志有指
纹、眼纹、声音、人脸等。
16.对生物识别系统的要求有哪些?一个生物识别系统通常由哪几部分组成?
【参考答案】对生物识别系统的要求有:①识别系统的性能必须满足要求,包括应具有很
强的抗欺骗和防伪造能力,而且还应能防范攻击者设置陷阱;②能被用户接受,完成一次识别


的时间不应太长,一般不应超过1~2s;出错率应足够低,这一点随应用场合的不同而异;对 1

部分
于用在极为重要的场合中的识别系统,要求绝对不能出错,可靠性和可维护性也要好;③系统

课后习题参考答案
成本适当;系统成本包括系统本身的成本、运营期间所需的费用和系统维护(包含消耗性材料
等)的费用。
生物识别系统通常由注册和识别两部分组成。①注册部分:配置有一张注册表,每个注册
用户在注册表中都有一个记录;记录中至少有两项,其中一项用于存放用户姓名,另一项用于
存放用户的主要特征(用户的生物特征被数字化后形成用户样本,从中可提取出用户的主要特
征)。该记录通常存放在中心数据库中,供多个生物识别系统共享,但也可存放在用户的身份
智能卡中。②识别部分:第1步是要求用户输入用户登录名,这样可使系统尽快找到该用户在系
统中的记录;第2步是对用户输入的生物特征进行识别,即对用户的生物特征与用户记录中的样
本信息特征进行比较,若相同,则允许用户登录,否则,拒绝用户登录。
17.早期通常采用的内部攻击方式有哪几种?
【参考答案】早期通常采用的内部攻击方式有下列6种。①窃取尚未清除的有用信息。在许
多OS中,在进程结束而归还资源时,有的资源中可能还留存着非常有用的信息,但系统并未清
除它们。攻击者为了窃取这些信息,会请求调用许多内存页面和大量的磁盘空间或磁带,以读
取其中的有用信息。②通过非法的系统调用搅乱系统。攻击者尝试利用非法的系统调用,或者
在合法的系统调用中使用非法参数(还可能使用虽是合法、但不合理的参数),达到搅乱系统
的目的。③使系统自己封杀校验口令程序。攻击者为了逃避校验口令验证,在登录过程中可通
过按DEL或者BREAK键等令系统封杀掉校验口令程序,此时用户无须输入口令便可成功登录。
④尝试许多在明文规定中不允许做的操作。攻击者专门去执行系统不允许做的操作,企图破坏
系统的正常运行。⑤在OS中增添陷阱门。攻击者要求某个系统程序员在OS中增添陷阱门,使攻
击者可以绕过口令验证而进入系统。⑥骗取口令。攻击者可以伪装成一个忘记了口令的用户,
请求系统管理员帮其查出某个用户的口令。
18.何谓逻辑炸弹?较常用的引发逻辑炸弹爆炸的条件有哪些?
【参考答案】“逻辑炸弹”是指在特定逻辑条件被满足时实施破坏的计算机程序,该程序
被执行后会造成计算机数据丢失、计算机不能从硬盘或者软盘进行引导,甚至会使整个系统瘫
痪,并出现物理损坏的虚假现象。
常用的引发逻辑炸弹爆炸的条件有:①时间引发,即规定在一年中或一个星期中的某个特
定的日期触发爆炸;②事件引发,即当所设置的事件发生时引发爆炸,比如发现了所寻找的某
些文件;③计数器引发,即计数值达到所设置的值时引发爆炸。
19.何谓陷阱门和特洛伊木马?举例说明。
【参考答案】本题分步解答如下。
82

(1)陷阱门,是一段代码,可提供进入一个程序的隐蔽入口点。程序员通过陷阱门可跳过
正常的验证过程。例如:正常的登录程序代码如图1-12-2(a)所示,该程序while循环中的最后
两句的含意是,仅当输入的用户名和口令都正确时,用户才能登录成功。但如果将该程序while
循环中的最后一条语句改成图1-12-2(b)所示的登录程序代码,此时最后两句的含意变为,当
输入的用户名和口令都正确时,或者使用的登录名为“zzzzz”而无论用什么口令时,都能成功
登录。
计算机操作系统习题与考研真题解析

while(TRUE){ while(TRUE){
printf("login:"); printf("login:");
get_string(name); get_string(name);
disable_echoing(); disable_echoing();
printf("password:"); printf("password:");
get_string(password); get_string(password);
enable_echoing(); enable_echoing();
v=check_validity(name, password); v=check_validity(name, password);
if(v) break; if(v||strcmp(name,"zzzzz")==0)break;
} }
excute_shell(name); excute_shell(name);

(a)正常的登录程序代码 (b)插入陷阱门后的登录程序代码

图 1-12-2 陷阱门实例

(2)特洛伊木马,是一个嵌入有用程序中的、隐蔽的、危害安全的恶意程序。当该程序执
行时会引发隐蔽代码执行,进而产生难以预料的后果。例如:编写特洛伊木马的人将其隐藏在
一个新游戏程序中,并将该游戏程序发送给某计算机系统的操作员。操作员在玩新游戏时,隐
藏在后台运行的特洛伊木马就能继承操作员的高特权,访问口令文件。再如:在文本编辑程序
中隐蔽的特洛伊木马,会把用户正在前台编辑的文件悄悄地复制到预先设定的某个地方,以便
以后能访问它;但这并不会过分影响用户所进行的文本编辑工作,用户也很难发现自己的文件
已被复制。
20.何谓移动代码?为什么说在应用程序中包含了移动代码就可能不安全?
【参考答案】如果一个程序在运行时能在不同机器之间来回迁移,那么该程序就被称为移
动代码。如果一个用户程序中包含了移动代码,那么当为该用户程序建立进程后,该移动代码
就将占用该进程的内存空间,并作为合法用户的一部分运行,此时其拥有用户的访问权限。这
样显然不能保证系统安全,因为别有用心的人完全可以借助移动代码进入其他系统,以合法用
户的身份进行窃取和破坏。
21.什么叫缓冲区溢出?攻击者是如何利用缓冲区溢出进行攻击的?
【参考答案】①如果程序员没有对某个数据结构进行边界检查,而编译器也不对它进行边
界检查,那么就可以向该数据结构填充超过其本身容量的数据,溢出的数据将覆盖在合法数据
上,这种情况叫作缓冲区溢出。②攻击者可以利用缓冲区溢出进行攻击,例如,在C语言中进行
函数调用时,会首先将函数调用的参数和函数的返回地址依次压入堆栈的栈顶;如果函数体内
还定义了一个局部变量(如一个数组),则还将在堆栈栈顶为局部变量分配空间。攻击者可向
该数组写入超过其容量的大量数据,其中溢出的数据将覆盖掉保存在堆栈中的函数返回地址,
此时函数再返回时,就将根据栈中的内容跳转到一个随机的地方,从而引起程序崩溃;如果攻
83

击者将一段恶意代码以及该恶意代码的起始地址写到该数组中,并且使恶意代码的起始地址刚
好覆盖到函数的返回地址上,那么函数返回后便会执行该恶意代码,进而通过程序崩溃拒绝服
务,或者利用恶意代码实施攻击。
22.病毒和蠕虫有何异同?
【参考答案】病毒和蠕虫都是利用程序来威胁计算机系统安全的,它们都具有传染性、隐
蔽性和破坏性,但病毒是一段代码,需要寄生在另一个合法程序中,而蠕虫则是一个独立的程
序;病毒通过宿主程序的运行而感染给更多其他的程序,蠕虫则通过自我复制而传播到其他计


算机中。 1

部分
23.计算机病毒的特征是什么?它与一般的程序有何区别?

课后习题参考答案
【参考答案】计算机病毒与一般的程序有着明显的区别,其主要特征介绍如下。
(1)寄生性:病毒通常不是一个独立的程序,而是会寄生在某个文件中或是磁盘的系统区
中;寄生在文件中的病毒称为文件型病毒,而侵入磁盘系统区的病毒则称为系统型病毒;还有
一种综合型病毒,它既能寄生在文件中,又能侵入磁盘系统区。
(2)传染性:病毒在运行过程中将进行自我复制,并将复制品放置在其他文件中或磁盘的
某个系统区中;文件被感染后便含有了该病毒的一个克隆体,而这个克隆体也同样会传染给其
他文件,如此不断地传染,就会使病毒迅速蔓延开来。
(3)隐蔽性:为了逃避反病毒软件的检测,病毒设计者会通过伪装、隐藏、改变状态等手
段将病毒隐藏起来,使病毒能在系统中长期生存。
(4)破坏性:主要表现在占用系统空间、占用处理机时间、对系统中的文件造成破坏、使
机器运行产生异常等方面。
计算机病毒与一般程序的区别:病毒通常不是独立的程序,它具有自我复制和迅速传播的
特性,而且还会想方设法隐藏自己,其存在的基本目标就是搞破坏。
24.什么是文件型病毒?试说明文件型病毒对文件的感染方式。
【参考答案】文件型病毒是指采用寄生方式附着在正常程序里,在病毒发作时不影响原来
程序的正常运行,以致不能被用户及时发现而长期潜伏下来的病毒。受感染的程序在被执行
时,病毒将寻找其他可执行文件继续传播。
文件型病毒使文件受感染的方式可分为两种。①主动攻击型感染:当病毒程序在执行时,
它将不断地对磁盘上的文件进行检查,当发现被检查文件尚未被感染时,就去感染它,进而使
它带有病毒。②执行时感染:在病毒环境中,每当一个未被感染的程序在被执行时,如果它是
病毒所期待的文件类型,且磁盘没有写保护,则该程序就会被病毒感染;病毒在感染文件时,
通常是有针对性的。
25.病毒设计者可以采取哪几种隐藏方式来让病毒逃避检测?
【参考答案】病毒设计者通常采取3种隐藏方式来让病毒逃避检测。
(1)伪装。为了逃避检测,病毒将把自己伪装起来,使被感染过的文件与原有文件一样。
伪装方式主要有两种。①压缩伪装:通过压缩技术,使感染上病毒的文件的长度与原文件的长
度一致,以逃避检测。使用该方法时,在病毒中应包含压缩程序和解压缩程序。②修改日期和
时间伪装:通过修改感染上病毒的文件的修改日期和时间,使之与原文件相同。
(2)隐藏。为了逃避反病毒软件的检测,病毒程序的设计者常把病毒隐藏在一个不易被检
查到的地方。①隐藏于目录或注册表空间。目录的末端是一个隐藏病毒的好地方。②隐藏于程
84

序的页内碎片里。一个程序段和数据段可能被装入若干个页面中。通常在最后一页都会有页内
碎片,因此,在系统中就可能存在许多页内碎片,病毒就可以隐藏在这些碎片中。当病毒隐藏
在多个碎片中时,可由指针将这些碎片链接起来。③更改用于磁盘分配的数据结构。在这种方
法中,病毒可以为真正的引导记录扇区和病毒自身重新分配磁盘空间,然后再更改用于磁盘分
配的数据结构的内容,以使病毒合法地占据存储空间,这样既不会被发现,也不会被覆盖。④
更改坏扇区列表。病毒可以更改真正的引导记录扇区和磁盘的任意空闲扇区,然后将这些扇区
计算机操作系统习题与考研真题解析

作为坏扇区,再相应地修改磁盘的坏扇区列表。
(3)改变状态。为了逃避反病毒软件的检测,病毒设计者又设计了多状态病毒。常见的产
生多状态病毒的方法有:①插入多余的指令;②对病毒进行加密。
26.试说明基于病毒数据库的病毒检测方法。
【参考答案】基于病毒数据库的病毒检测方法介绍如下。①建立病毒数据库。为了建立病
毒数据库,首先应当采集病毒样本,为此,设计了一个称为诱饵文件的程序,它能让病毒感
染,但不会执行任何操作。用它来获取病毒的完整代码,然后将病毒的完整代码输入病毒数据
库中,如此一来,病毒数据库中所收集的病毒样本的种类就会越来越多,利用它去检测病毒的
成功率也就会越来越高。②扫描硬盘上的可执行文件。将反病毒软件安装到计算机上之后,便
可对硬盘上的可执行文件进行扫描,检查硬盘上的所有可执行文件,看是否有与病毒数据库中
的病毒样本相同的,如果有,则将其清除。
27.如何利用数字签名验证信息内容?
【参考答案】要利用数字签名验证信息内容和确定签名人的身份,可采用以下方法。
(1)发送方使用Hash函数(或称作散列函数)为自己的任意长度的消息生成一个简短的、
固定长度的消息摘要(也称作信息标记)。
(2)发送方使用自己的私有密钥对消息摘要进行加密,将加密结果作为自己的数字签名,
并将其与消息原文一起发送给接收方。
(3)接收方收到消息后,使用发送方的公开密钥对其中的数字签名进行解密,从而得到发
送方消息摘要的副本。
(4)接收方使用相同的Hash函数来计算接收到的消息摘要。
(5)比较两个摘要,如果两者完全相同,则可确认数字签名是正确的,即发送方的消息在
发送的过程中没有发生改变。
第2部分
拓展习题及其参考
答案与解析
2

第1章 操作系统引论
本章主要讲述OS的基本概念,具体包括OS的目标和作用、OS的发展过程、OS的基本特性
和主要功能、OS的结构等内容。
本章学习目标如下。
(1)掌握OS的概念与主要功能。
(2)理解OS的特性与主要类型。
(3)了解OS的形成,分时系统和实时系统的特点,OS在计算机系统中的地位,OS的结构
设计,OS为用户提供的用户接口以及中断和系统调用等。

1.1 知识导图
根据本章重要知识点而总结的知识导图如图2-1-1所示。

第 1 章复习指导
86

并发:两个或多个事件在同一时间间隔内发生

共享:系统中的资源可供内存中多个并发执行的进程共同使用
特性
虚拟:将一个物理实体变成若干个逻辑上的对应物

异步:进程是以用户不可预知的速度向前推进的
计算机操作系统习题与考研真题解析

处理机管理:进程控制、进程同步、进程通信、调度
操作系统的基本概念
存储器管理:内存分配、内存保护、地址映射、内存扩充
功能
设备管理:缓冲管理、设备分配、设备处理

文件管理:文件存储空间管理、目录管理、文件的读/写管理和保护

用户接口:联机用户接口、脱机用户接口、图形用户接口
接口
程序接口:系统调用

未配置操作系统的计算机系统
操 作 系 统 引 论

单道批处理系统

多道批处理系统
操作系统的发展过程
分时系统

实时系统

微机操作系统

内核态、用户态

操作系统的运行环境 中断(外中断)、异常(内中断)

系统调用

模块化结构

操作系统的结构 分层式结构

微内核结构

图 2-1-1 操作系统引论知识导图

1.2 拓展习题

1.2.1 选择题
1.(名校考研真题,单项选择题,2分)对于一台PC而言,下列各项中( )对系统必
不可少。
87

A.OS B.Office软件 C.C语言编辑器 D.杀毒软件


2.(名校考研真题,单项选择题,2分)从用户的角度看,OS是( )。
A.用户与计算机硬件系统之间的接口
B.控制和管理计算机系统资源的软件
C.合理组织计算机工作流程的软件


D.一个大型的工具软件 2

部分
3.(全国统考真题,单项选择题,2分)计算机开机后,OS最终被加载到( )。

拓展习题及其参考答案与解析
A.BIOS B.ROM C.EPROM D.RAM
4.(名校考研真题,单项选择题,2分)配置了OS的计算机是一台比原来的物理计算机功
能更加强大的计算机,这样的计算机只是一台逻辑上的计算机,称为( )计算机。
A.虚拟 B.物理 C.并行 D.共享
5.(全国统考真题,单项选择题,2分)与单道程序系统相比,多道程序系统的优点是
( )。
Ⅰ.CPU利用率高 Ⅱ.系统开销小 Ⅲ.系统吞吐量大 Ⅳ.I/O设备利用率高
A.仅Ⅰ、Ⅲ B.仅Ⅰ、Ⅳ C.仅Ⅱ、Ⅲ D.仅Ⅰ、Ⅲ、Ⅳ
6.(名校考研真题,单项选择题,2分)引入多道程序技术的前提条件之一是系统具有
( )。
A.分时功能 B.中断功能 C.多CPU技术 D.SPOOLing技术
7.(名校考研真题,单项选择题,2分)下列对OS的叙述中,正确的是( )。
A.OS都在内核态运行
B.分时系统中常用的原则是使时间片越小越好
C.批处理系统的主要缺点是缺少交互性
D.DOS是一个单用户多任务的OS
8.(名校考研真题,单项选择题,2分)OS的基本类型主要有( )。
A.批处理系统、分时系统和多任务系统
B.批处理系统、分时系统和实时系统
C.单用户系统、多用户系统和批处理系统
D.实时系统、分时系统和多用户系统
9.(全国统考真题,单项选择题,2分)下列关于批处理系统的叙述中,正确的是( )。
Ⅰ.批处理系统允许多个用户与计算机直接交互
Ⅱ.批处理系统分为单道批处理系统和多道批处理系统
Ⅲ.中断技术使得多道批处理系统和I/O设备可与CPU并行工作
A.仅Ⅱ、Ⅲ B.仅Ⅰ C.仅Ⅰ、Ⅱ D.仅Ⅰ、Ⅲ
10.(名校考研真题,单项选择题,2分)( )系统允许一台主机上同时连接多台终
端,多个用户可以通过各自的终端同时交互地使用计算机。
A.网络 B.分布式 C.分时 D.实时
11.(名校考研真题,单项选择题,2分)分时系统的主要目的是( )。
A.充分利用I/O设备 B.比较快速地响应用户
C.提高系统吞吐量 D.充分利用内存
12.(名校考研真题,单项选择题,2分)下列( )等的实现最好采用实时系统平台。
Ⅰ.航空订票系统 Ⅱ.办公自动化系统 Ⅲ.机床控制系统 Ⅳ.AutoCAD
88

Ⅴ.工资管理系统 Ⅵ.股票交易系统
A.Ⅰ、Ⅱ、Ⅲ B.Ⅰ、Ⅲ、Ⅳ C.Ⅰ、Ⅴ、Ⅳ D.Ⅰ、Ⅲ、Ⅵ
13.(全国统考真题,单项选择题,2分)下列关于多任务OS的叙述中,正确的是( )。
Ⅰ.具有并发和并行的特点
Ⅱ.需要实现对共享资源的保护
Ⅲ.需要运行在多 CPU 的硬件平台上
计算机操作系统习题与考研真题解析

A.仅Ⅰ B.仅Ⅱ C.仅Ⅰ、Ⅱ D.Ⅰ、Ⅱ、Ⅲ


14.(名校考研真题,单项选择题,2分)并发性是指若干事件在( )发生。
A.同一时刻 B.不同时刻 C.同一时间间隔内 D.不同时间间隔内
15.(全国统考真题,单项选择题,2分)单处理机系统中,可并行的是( )。
Ⅰ.进程与进程 Ⅱ.处理机与设备 Ⅲ.处理机与通道 Ⅳ.设备与设备
A.Ⅰ、Ⅱ、Ⅲ B.Ⅰ、Ⅱ、Ⅳ C.Ⅰ、Ⅲ、Ⅳ D.Ⅱ、Ⅲ、Ⅳ
16.(全国统考真题,单项选择题,2分)中断处理和子程序调用都需要压栈以保护现场,
中断处理一定会保存而子程序调用不需要保存其内容的是( )。
A.程序计数器 B.程序状态字寄存器
C.通用数据寄存器 D.通用地址寄存器
17.(全国统考真题,单项选择题,2分)内部异常(内中断)可分为故障(fault)、陷阱
(trap)和终止(abort)3类。下列有关内部异常的叙述中,错误的是( )。
A.内部异常的产生与当前执行的指令相关
B.内部异常的检测由CPU的内部逻辑实现
C.内部异常的响应发生在指令执行过程中
D.内部异常处理后系统会返回到发生异常的指令继续执行
18.(全国统考真题,单项选择题,2分)异常是指令执行过程中在处理机内部发生的特殊事
件,中断是来自处理机外部的请求事件。下列关于中断和异常的叙述中,错误的是( )。
A.“访问内存时缺页”属于中断
B.“整数除以零”属于异常
C.“DMA传送结束”属于中断
D.“存储保护错”属于异常
19.(全国统考真题,单项选择题,2分)处理外部中断时,应该由OS保存的是( )。
A.程序计数器的内容 B.通用寄存器的内容
C.快表中的内容 D.Cache中的内容
20.(全国统考真题,单项选择题,2分)本地用户通过键盘登录系统时,首先获得键盘输
入信息的程序是( )。
A.命令解释程序 B.中断处理程序
C.系统调用服务程序 D.用户登录程序
21.(全国统考真题,单项选择题,2分)定时器产生时钟中断后,由时钟中断处理程序更
新的部分内容是( )。
Ⅰ.内核中时钟变量的值
Ⅱ.当前进程在时间片内的剩余执行时间
Ⅲ.当前进程占用CPU的时间
A.仅Ⅰ、Ⅱ B.仅Ⅱ、Ⅲ C.仅Ⅰ、Ⅲ D.Ⅰ、Ⅱ、Ⅲ
89

22.(全国统考真题,单项选择题,2分)下列选项中,会导致用户进程从用户态切换到内
核态的操作是( )。
Ⅰ.整数除以零 Ⅱ.sin()函数调用 Ⅲ.read系统调用
A.仅Ⅰ、Ⅱ B.仅Ⅰ、Ⅲ C.仅Ⅱ、Ⅲ D.Ⅰ、Ⅱ、Ⅲ
23.(名校考研真题,单项选择题,2分)OS中有一组特殊的程序,它们不能被系统中


断。在OS中它们称为( )。 2

部分
A.初始化程序 B.原语 C.子程序 D.控制模块

拓展习题及其参考答案与解析
24.(全国统考真题,单项选择题,2分)下列选项中,OS提供给应用程序的接口是( )。
A.系统调用 B.中断 C.库函数 D.原语
25.(全国统考真题,单项选择题,2分)若一个用户进程通过read系统调用读取一个磁盘
文件中的数据,则下列关于此过程的叙述中,正确的是( )。
Ⅰ.若该文件的数据不在内存中,则该进程进入睡眠等待状态
Ⅱ.请求read系统调用会导致CPU从用户态切换到内核态
Ⅲ.read系统调用的参数应包含文件名称
A.仅Ⅰ、Ⅱ B.仅Ⅰ、Ⅲ C.仅Ⅱ、Ⅲ D.Ⅰ、Ⅱ、Ⅲ
26.(全国统考真题,单项选择题,2分)执行系统调用的过程包括如下主要操作:①返回
用户态;②执行陷入(trap)指令;③传递系统调用参数;④执行相应的服务程序。正确的执行
顺序是( )。
A.②→③→①→④ B.②→④→③→①
C.③→②→④→① D.③→④→②→①
27.(全国统考真题,单项选择题,2分)下列关于系统调用的叙述中,正确的是( )。
Ⅰ.在执行系统调用服务程序的过程中,CPU处于内核态
Ⅱ.OS通过提供系统调用来避免用户程序直接访问外设
Ⅲ.不同的OS为应用程序提供了统一的系统调用接口
Ⅳ.系统调用是OS内核为应用程序提供服务的接口
A.仅Ⅰ、Ⅳ B.仅Ⅱ、Ⅲ C.仅Ⅰ、Ⅲ、Ⅳ D.仅Ⅰ

1.2.2 填空题
28.(名校考研真题,填空题,2分)OS是计算机系统中的一个( ),它负责管理和控
制计算机系统中的( )。
29.(名校考研真题,填空题,2分)现代OS的基本特性是并发性、( )、( )和
异步性。
30.(全国统考真题,填空题,2分)某设备中断请求的响应时间和处理时间为100ns,每
400ns发出一次中断请求,中断响应所允许的最长时延为50ns,则在该设备持续工作的过程中,
CPU用于该设备的I/O时间占整个CPU时间的百分比至少是( )。
31.(名校考研真题,填空题,2分)系统执行原语操作时,要( )(允许/禁止)中断。
32.UNIX系统是一个( )。
33.(名校考研真题,填空题,2分)( )是指OS仅将应用必需的所有核心功能放入内
核,其他功能都放在内核之外,由处在用户态运行的服务进程实现。
90

1.2.3 简答题
34.(名校考研真题,简答题,10分)方便性和有效性是设计OS的两个主要目标,以两种
OS的技术为例,分别说明它们是如何实现这两个目标的(一个是实现方便性的例子,一个是实
现有效性的例子)。
35.在分时系统中,为使多个进程能够及时与系统交互,最关键的问题是能在短时间内使
计算机操作系统习题与考研真题解析

所有就绪进程都能运行。当就绪进程数为100时,为保证响应时间不超过2s,此时的时间片最大
是多少?
36.(全国统考真题,简答题,10分)某单CPU系统中有输入设备和输出设备各1台,现有
3个并发执行的作业,每个作业的输入、计算和输出时间分别为2ms、3ms和4ms,且都按输入、
计算和输出的顺序执行,则执行完这3个作业需要的时间最少是多少?
37.处理机为什么要区分内核态和用户态?在什么情况下进行两种状态的转换?
38.叙述系统调用的概念和OS提供系统调用的原因。

1.2.4 综合应用题
39.(名校考研真题,综合应用题,8分)现有A、B两个程序,程序A按顺序使用CPU
10s,使用设备甲5s,使用CPU 5s,使用设备乙5s,最后使用CPU 10s。程序B按顺序使用设备甲
10s,使用CPU 10s,使用设备乙5s,使用CPU 5s,使用设备乙10s,试问:
(1)在顺序执行程序A和程序B的情况下,CPU的利用率是多少?
(2)在多道程序环境下,CPU的利用率是多少?请画出A、B程序的执行过程。
(3)在多道批处理系统中,是否并发的进程越多,资源利用率越好?为什么?
40.设某计算机系统中有一个CPU、一台输入设备、一台打印机。现有两个进程同时进入
就绪状态,且进程A先得到CPU运行,进程B后运行。进程A的运行情况为:计算50ms,打印信
息100ms,再计算50ms,再打印信息100ms,结束。进程B的运行情况为:计算50ms,输入数据
80ms,再计算100ms,结束。画出它们的运行图,并说明:
(1)开始运行后,CPU有无进行空闲等待?若有,则请说明其在哪段时间内进行了空闲等
待,并计算CPU的利用率。
(2)进程A运行时有无等待现象?若有,在何时发生等待现象?
(3)进程B运行时有无等待现象?若有,在何时发生等待现象?

1.3 参考答案与解析

1.3.1 选择题
1.【参考答案】A
【解析】OS作为用户与计算机硬件系统之间的接口,负责管理计算机资源,实现对计算机
资源的抽象。
2.【参考答案】A
【解析】OS处于用户和计算机硬件系统之间,用户通过OS来使用计算机系统。从用户角度
看,OS是用户与计算机硬件系统之间的接口。
91

3.【参考答案】D
【解析】计算机开机后,OS程序就会被自动加载到内存中的系统程序区,即RAM。
4.【参考答案】A
【解析】OS实现了对计算机资源的抽象,用户不必关心物理接口的实现细节。计算机配置
了OS之后,用户所看到的计算机就是一台比原来的物理计算机(裸机)功能更强大、使用更方


便的虚拟计算机。 2

部分
5.【参考答案】D

拓展习题及其参考答案与解析
【解析】多道程序系统通过组织作业(编码或数据)使CPU总有一个作业可执行,从而提
高了CPU利用率、系统吞吐量和I/O设备利用率,Ⅰ、Ⅲ、Ⅳ是优点。但系统要付出额外的开销
来组织作业和切换作业,故Ⅱ错误。因此选D。
6.【参考答案】B
【解析】中断是多道程序技术得以实现的基础,因为多个进程之间的切换是通过中断来完
成的。
7.【参考答案】C
【解析】OS的内核运行在内核态,应用程序运行在用户态;分时系统中并不是时间片越小
越好。系统进程较多时,若时间片较小,则CPU会频繁切换进程,进而会导致系统性能下降;
在批处理系统中,用户将作业提交直至作业完成,都不能与自己的作业交互;DOS是一个单用
户单任务的OS。
8.【参考答案】B
【解析】OS的基本类型主要有批处理系统、分时系统和实时系统。
9.【参考答案】D
【解析】在批处理系统中,作业执行时用户无法干预其运行,只能通过事先编制作业控制
说明书来间接干预其运行,缺少交互能力。
10.【参考答案】C
【解析】分时系统能很好地将一台主机提供给多个用户使用,以提高计算机的利用率,实
现人机交互和主机共享。
11.【参考答案】B
【解析】分时系统能很好地将一台主机提供给多个用户同时使用,实现人机交互和主机共
享。对每个用户而言,他们都希望得到CPU的快速响应,因此快速响应用户是分时系统追求的
主要目标。
12.【参考答案】D
【解析】实时系统主要应用在需要对外界输入立即做出反应的场合,不能有拖延,否则会
产生严重后果。航空订票系统需要实时处理票务,因为票额数据库的数量直接反映了航班的可
订机位。机床控制系统也要实时,不然会出差错。股票交易行情随时在变,若不能实现实时交
易,则会出现时间差,进而导致交易出现偏差。
13.【参考答案】C
【解析】多任务OS可在同一时间内运行多个应用程序,因此Ⅰ正确。多个任务必须互斥地
访问共享资源,为了达到这一目标,必须对共享资源进行必要的保护,因此Ⅱ正确。现代OS
都是多任务的(主要特点是并发和并行),但并不一定要运行在多CPU上,单CPU也可满足要
求,因此Ⅲ错误。综上所述,Ⅰ、Ⅱ正确,Ⅲ错误,因此选C。
92

14.【参考答案】C
【解析】OS的并发性是指两个或多个事件在同一时间间隔内发生。
15.【参考答案】D
【解析】并发性是指若干事件在同一时间间隔内发生,并行性是指若干事件在同一时刻发
生。故在单处理机系统中,进程与进程之间只能并发执行。
16.【参考答案】B
计算机操作系统习题与考研真题解析

【解析】子程序调用只须保存程序断点,即该指令的下一条指令的地址;中断调用子程序
不仅要保存断点,还要保存程序状态字寄存器的内容。
17.【参考答案】D
【解析】内中断是指来自CPU和内存内部的中断,包括程序运算所引起的各种错误,如地
址非法、校验错、页面失效、指令非法、用户程序执行特权指令自行中断(INT)和除数为零
等,以上错误都是在指令的执行过程中产生的,A正确。检测异常的工作是由CPU实现的,B正
确。内中断不能被屏蔽,一旦出现应立即处理,C正确。考虑到在特殊情况(如除数为零或自行
中断等)下系统会自动跳过中断指令,因此程序不会返回发生异常的指令继续执行, D错误。
18.【参考答案】A
【解析】异常也称为内中断、例外或陷入,中断信号来自处理机内部,如程序的非法操作
码、地址越界、算术溢出、虚存系统缺页以及专门的陷入指令等。中断又称为外中断,中断信
号来自处理机外部;常见的外中断有时钟中断、键盘中断等。DMA传送结束时会由I/O接口向处
理机发出中断请求。
19.【参考答案】B
【解析】在处理外部中断的过程中,程序计数器的内容由中断隐指令自动保存,而通用寄
存器的内容则由OS保存。
20.【参考答案】B
【解析】键盘是通过中断I/O方式工作的,故本地用户通过键盘登录系统时,首先获得键盘
输入信息的程序是中断处理程序。
21.【参考答案】D
【解析】时钟中断的主要工作是处理与时间有关的信息并决定是否执行调度程序。与时
间有关的信息包括系统时间、进程的时间片、时延、使用CPU的时间、各种定时器,因此Ⅰ、
Ⅱ、Ⅲ均正确。
22.【参考答案】B
【解析】整数除以零会发生异常,需要在内核态执行;read系统调用函数也需要在内核态执
行;sin()函数调用在用户态执行。
23.【参考答案】B
【解析】原语是指由若干条指令构成的、用于完成某种特定功能的一组程序。原语是原子
操作,具有不可分割性,要么全做,要么全不做。原语在执行过程中不允许被中断。
24.【参考答案】A
【解析】OS接口主要有命令接口和程序接口(也称为系统调用)。库函数是高级语言中提
供的与系统调用对应的函数(有些库函数与系统调用无关),目的是隐藏“访管”指令的细节,
使系统调用更方便、抽象。但是,库函数属于用户程序而非系统调用,其是系统调用的上层。
25.【参考答案】A
【解析】若该文件的数据不在内存中,则产生缺页,原进程进入阻塞状态,直至所需数据
93

都被调入内存后才会唤醒该进程,Ⅰ正确;read系统调用通过陷入将CPU从用户态切换到内核
态,从而获取相应的系统服务,Ⅱ正确;读文件时首先用open系统调用打开该文件,open系统
调用中的参数包含文件的路径名和文件名,read系统调用仅使用open系统调用返回文件描述符,
而不使用文件名作为参数,Ⅲ错误。
26.【参考答案】D


【解析】在OS中,用户进程执行系统调用时,首先传递系统调用所需的参数;其次执行陷 2

部分
入指令,从用户态进入内核态;然后执行相应的服务程序;最后将处理结果返回给用户进程,

拓展习题及其参考答案与解析
并从内核态返回用户态。
27.【参考答案】C
【解析】用户可以在用户态调用OS的服务,但是执行具体的系统调用服务程序是在内核态
下进行的,Ⅰ正确;设备管理是OS的功能之一,其包括对I/O设备的分配、初始化、维护等,用
户程序通过系统调用使用OS的设备管理服务,Ⅱ正确;若OS不同,则底层逻辑与实现方式也不
同,为应用程序提供的系统调用接口也不同,Ⅲ错误;系统调用是指用户在程序中调用OS提供
的子功能,Ⅳ正确。

1.3.2 填空题
28.【参考答案】系统软件;软硬件资源
【解析】OS是一组负责控制和管理计算机软件、组织计算机工作流程以及方便用户使用计
算机的程序集合,是一个系统软件。
29.【参考答案】共享性;虚拟性
【解析】现代OS的主要特性是并发性、共享性、虚拟性和异步性,其中,最基本的特性是
并发性和共享性。
30.【参考答案】25%
【解析】无论50ns时延是否存在,每400ns的中断请求都需要花费100ns进行中断响应和处
理,因此CPU用于该设备的I/O时间占整个CPU时间的百分比至少是100/400×100%=25%。
31.【参考答案】禁止
【解析】原语是原子操作,故系统执行原语时要禁止中断。
32.【参考答案】多用户多任务交互式分时系统
【解析】UNIX系统应用于一台主机挂接若干终端的分时系统,每个用户使用一台终端与主
机进行交互。为了及时响应各终端用户的请求,UNIX系统采用了基于时间片的轮转策略。
33.【参考答案】微内核OS
【解析】为了提高OS的正确性、灵活性、易维护性和可扩充性,在进行现代OS结构设计
时,即使在单处理机环境下,也大都采用基于客户/服务器模式的微内核结构。微内核OS的微内
核中只放最基本的部分,通常包含与硬件处理紧密相关的部分,并会实现一些基本功能以及客
户和服务器之间的通信功能。

1.3.3 简答题
34.【参考答案】本题分步解答如下。
(1)方便性。例如,OS提供了多种接口方式,用户按需要输入命令后,OS会按命令去控
制程序的执行;用户也可以在程序中调用OS的功能模块来完成相应服务,而不必了解硬件的物
94

理特性。
(2)有效性,指系统资源利用率和系统吞吐量较高。例如,多道批处理系统有效地管理和
分配软硬件资源,组织计算机的工作流程,使多个任务能够共享资源,并互不干扰地依次顺利
完成,进而提高系统工作效率。
35.【参考答案】响应时间不超过2s,即在2s内必须响应所有进程。因此,时间片最大为
2s/100=20ms。
计算机操作系统习题与考研真题解析

36.【参考答案】因CPU、输入设备和输出设备都只有一个,因此各操作步骤不能重叠,
作业执行时间关系图如图2-1-2所示,即执行完3个作业所需要的时间最少是17ms。

输入 计算 输出
1
输入 计算 输出
2
作业

输入 计算 输出
3

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
时间/ms

图 2-1-2 作业执行时间关系图

37.【参考答案】本题分步解答如下。
(1)区分内核态和用户态的目的是保护OS程序。在多道程序环境下,为了保障计算机系统
运行安全,将计算机系统中的指令分为两类:特权指令和非特权指令。能引起系统损害的机器
指令称为特权指令,否则称为非特权指令。
(2)在OS模式(内核态)下系统可执行特权指令和非特权指令,在用户模式(用户态)下
系统只能执行非特权指令。当CPU处于用户态时系统只能执行非特权指令,并且只能访问当前
运行进程(即当前运行的用户程序)的地址空间,这样才能有效地保护OS内核及内存中其他用
户程序不受该运行进程(程序)的侵害。
38.【参考答案】①系统调用也称为程序接口,是OS提供给用户的程序级接口。用户程序
利用系统调用所提供的一组系统调用命令,去调用OS内核中的一个(或一组)过程(函数)来
实现自己所需要的功能。②系统调用可视为OS内核和用户程序之间进行交互的接口,OS向用户
程序提供系统调用的目的是对系统进行保护。当用户程序需要系统服务,即需要调用系统内核
中的某些程序时,只能从规定的位置进入内核,这样才能保证系统的安全。

1.3.4 综合应用题
39.【参考答案】
(1)CPU的利用率=[(程序A使用CPU的时间+程序B使用CPU的时间)/(程序A总工
作时间+程序B总工作时间)]×100%=[(10+5+10)+(10+5)]/[(10+5+5+10+10)+
(10+10+10+5+10)]×100%≈47.1%。
(2)在多道程序环境下,A、B程序执行过程示意如图2-1-3所示。由图2-1-3可知,系
统处理A、B进程需要的时间是50s,其中使用CPU的时间是40s,故CPU的利用率=(40/50)
×100%=80%。
(3)在多道批处理系统中,并不是并发的进程越多资源利用率越好。若系统中并发的进程
过多,则会导致系统在多个进程之间频繁切换,造成系统性能下降,开销增大,从而降低资源
利用率。
95

CPU 设备甲 CPU 设备乙 CPU


A

设备甲 CPU 设备乙 CPU 设备乙


程序
B


2

部分
0 5 10 15 20 25 30 35 40 45 50
时间/s

拓展习题及其参考答案与解析
图 2-1-3 程序执行过程示意

40.【参考答案】进程运行情况如图2-1-4所示。

计算 打印信息 计算 打印信息
A

计算 输入数据 计算
进程

0 50 100 150 200 250 300


时间/ms

图 2-1-4 进程运行时间关系图

(1)CPU在100ms~150ms时间段内空闲,利用率为(250/300)×100%≈83.3%。
(2)进程A无等待现象。
(3)进程B有等待现象,等待时间段为0ms~50ms和180ms~200ms。

第2章 进程的描述与控制
本章主要介绍前趋图、程序顺序执行和程序并发执行,进程的定义与特征,进程的基本状
态与转换,进程的控制原语,进程通信以及线程的概念与实现。
本章学习目标如下。
(1)了解程序的顺序执行过程,理解程序的并发执行过程,掌握并发执行程序的特征;理
解进程的概念。
(2)熟练掌握进程的基本状态与转换。
(3)了解进程的控制原语。
(4)理解线程的概念,以及线程与进程的区别。

2.1 知识导图
第 2 章复习指导
根据本章重要知识点而总结的知识导图如图2-2-1所示。
96

定义:进程是程序的运行过程,是系统进行资源分配和调度的独立单位
概念
特征:动态性、并发性、独立性、异步性

就绪状态:进程已处于准备好执行的状态
计算机操作系统习题与考研真题解析

基本状态 执行状态:进程已获得CPU,其程序正在执行

阻塞状态:因发生某事件而使进程的执行受到阻塞

进程 控制:创建、终止、阻塞与唤醒、挂起与激活

组成:PCB、程序段、数据段

PCB的组织方式:线性方式、链接方式、索引方式
进程的描述与控制

共享存储器系统:共享某些数据结构或共享存储区

通信 消息传递系统:以格式化的消息为单位,利用原语传递消息

管道通信系统:读进程、写进程

进程是拥有资源的基本单位,线程是调度和分派的基本单位

线程 内核支持线程
实现方式
用户级线程

图 2-2-1 进程的描述与控制知识导图

2.2 拓展习题

2.2.1 选择题
1.(名校考研真题,单项选择题,2分)程序运行时独占系统资源,只有程序本身才能改
变系统资源状态,这是指( )。
A.程序顺序执行时的再现性 B.并发程序失去再现性
C.并发程序失去封闭性 D.程序顺序执行时的封闭性
2.(名校考研题,单项选择题,3分)进程和程序的本质区别在于( )。
A.前者分时使用CPU,或者独占CPU
B.前者存储在内存,后者存储在外存
C.前者具有异步性,后者具有可再现性
D.前者可以并发执行,后者不能并发执行
3.(名校考研真题,单项选择题,2分)进程的状态和优先级信息存放在( )中。
A.JCB B.PCB C.快表 D.页表
97

4.(名校考研真题,单项选择题,2分)一般情况下,分时系统中处于( )的进程最多。
A.执行状态 B.就绪状态 C.阻塞状态 D.终止状态
5.(名校考研真题,单项选择题,2分)在单处理机系统中,关于进程的叙述,正确的是
( )。
A.一个处于就绪状态的进程一旦分配了CPU,即进入运行状态


B.只能有一个进程处于就绪状态 2

部分
C.一个进程可以同时处于就绪状态和阻塞状态

拓展习题及其参考答案与解析
D.最多只有一个进程能处于运行状态
6.(名校考研真题,单项选择题,2分)已经获得除( )以外的运行所需所有资源的
进程处于就绪状态。
A.存储器 B.打印机 C.CPU D.磁盘空间
7.(名校考研真题,单项选择题,2分)当一个进程( )时,称其处于阻塞状态。
A.等待进入内存 B.等待协作进程的一个消息
C.等待一个时间片 D.等待CPU调度
8.(全国统考真题,单项选择题,2分)一个进程的读磁盘操作完成后,OS针对该进程必
做的是( )。
A.修改进程状态为就绪状态 B.降低进程优先级
C.为进程分配用户内存空间 D.延长进程的时间片
9.(全国统考真题,单项选择题,2分)下列选项中,会导致进程从执行状态变为就绪状
态的事件是( )。
A.执行P操作 B.申请内存失败
C.启动I/O设备 D.被高优先级进程抢占
10.(全国统考真题,单项选择题,2分)下列选项中,可能导致当前进程P阻塞的事件是
( )。
Ⅰ.进程P申请临界资源
Ⅱ.进程P从磁盘读数据
Ⅲ.系统将CPU分配给高优先级进程
A.仅Ⅰ B.仅Ⅱ C.仅Ⅰ、Ⅱ D.Ⅰ、Ⅱ、Ⅲ
11.(名校考研真题,单项选择题,2分)在下列进程状态的转换中,( )是不可能发
生的。
A.就绪→运行 B.运行→就绪 C.就绪→阻塞 D.等待→就绪
12.(名校考研真题,单项选择题,2分)在实时系统中,当内存资源无法满足执行紧迫任
务的需求时,OS可能会将正在运行的进程的状态变为( )状态。
A.活动就绪 B.静止就绪 C.活动阻塞 D.静止阻塞
13.(全国统考真题,单项选择题,2分)下列选项中,导致创建新进程的操作是( )。
Ⅰ.用户登录成功 Ⅱ.设备分配 Ⅲ.启动程序执行
A.仅Ⅰ和Ⅱ B.仅Ⅱ和Ⅲ C.仅Ⅰ和Ⅲ D.Ⅰ、Ⅱ、Ⅲ
14.(全国统考真题,单项选择题,2分)下列关于管道(pipe)通信的叙述中,正确的是
( )。
A.一个管道可实现双向数据传输
B.管道的容量仅受磁盘容量大小的限制
98

C.进程对管道进行读操作和写操作都可能被阻塞
D.一个管道只能有一个读进程或一个写进程对其进行操作
15.(名校考研真题,单项选择题,2分)管道通信是以( )为单位进行写入和读出的。
A.消息 B.自然字符流 C.文件 D.报文
16.(名校考研真题,单项选择题,2分)用信箱实现进程间互通信息的通信机制要有两个
通信原语,它们是( )。
计算机操作系统习题与考研真题解析

A.发送原语和执行原语 B.就绪原语和执行原语
C.发送原语和接收原语 D.就绪原语和接收原语
17.(名校考研真题,单项选择题,2分)一个进程可以包含多个线程,各线程( )。
A.共享进程的虚拟地址空间 B.地址空间完全独立
C.是资源分配的单位 D.共享堆栈
18.(名校考研真题,单项选择题,2分)在引入线程的OS中,把( )作为调度和分派
的基本单位,而把( )作为拥有资源的基本单位。
A.进程、线程 B.程序、线程
C.程序、进程 D.线程、进程
19.(名校考研真题,单项选择题,3分)以下说法正确的是( )。
A.程序段和相关数据段构成一个完整的进程实体
B.引入线程后,进程不再是可独立分配资源的基本单位
C.信号量机制既可以实现进程同步,又可以实现进程互斥
D.同一进程中的所有线程可共享彼此所拥有的资源和变量
20.(全国统考真题,单项选择题,2分)下列关于线程的描述中,错误的是( )。
A.内核支持线程的调度由OS完成
B.OS为每个用户级线程建立一个TCB
C.用户级线程间的切换比内核支持线程间的切换效率高
D.用户级线程可以在不支持内核支持线程的OS上实现
21.(全国统考真题,单项选择题,2分)在支持多线程的系统中,进程P创建的若干线程
中不能共享的是( )。
A.进程P的代码段 B.进程P中打开的文件
C.进程P的全局变量 D.进程P中某线程的栈指针
22.(全国统考真题,单项选择题,2分)下列关于进程和线程的叙述中,正确的是( )。
A.不管系统是否支持线程,进程都是资源分配的基本单位
B.线程是资源分配的基本单位,进程是调度的基本单位
C.内核支持线程和用户级线程的切换都需要内核的支持
D.同一进程中的各个线程拥有各自不同的地址空间
23.(名校考研真题,单项选择题,2分)下面的叙述中,正确的是( )。
A.在一个进程中创建一个新线程比创建一个新进程所需的工作量多
B.同一进程中的线程间通信和不同进程中的线程间通信差不多
C.同一进程中的线程间切换由于有许多上下文相同而可以被简化
D.同一进程中的线程间通信须调用内核
24.(名校考研真题,多项选择题,3分)关于进程的叙述,正确的有( )。
A.一个进程独占处理机时,其执行结果只取决于进程本身
99

B.如果在一个进程的工作没有完成之前,另一个进程就可以开始工作,则称这些进程具有
并发性
C.并发进程是轮流占用处理机的
D.单处理机系统中可同时执行若干进程是指若干进程同时占用着处理机
E.进程并发执行时,其执行结果与进程执行的相对速度有关


25.(名校考研真题,多项选择题,3分)以下关于挂起进程的叙述,正确的有( )。 2

部分
A.挂起进程不能立即执行

拓展习题及其参考答案与解析
B.挂起进程一定在等待某一事件或某一资源
C.挂起进程可以自己改变进程状态
D.挂起进程可能提高CPU利用率
E.挂起某进程可以缩短该进程的执行时间

2.2.2 填空题
26.进程的并发性是指多个进程在( )内同时发生。
27.进程的执行并不是“一气呵成”的,而是走走停停的,这种特征称为进程的( )。
28.(名校考研真题,填空题,2分)一个进程由( )、( )和( )构成。
29.(名校考研真题,填空题,2分)OS通过( )来感知进程的存在。
30.信箱在逻辑上可分成( )和( )。

2.2.3 简答题
31.(名校考研真题,简答题,4分)如何理解进程的顺序性与并发性?
32.程序并发执行时为什么会产生间断性、失去封闭性和可再现性?
33.(名校考研真题,简答题,4分)从OS设计的角度谈谈PCB的作用。
34.父进程创建子进程和主程序调用子程序 [ ④ ]
有何不同? [ ① ] [ ② ]
35.(名校考研真题,简答题,10分)分析 [ ⑤ ]
图2-2-2中给出的不完整的进程基本状态及其转换
条件,在5个空格内填上对应的状态名称或者相应
I/O完成 I/O请求
的转换条件。
36.在一个单处理机的多道程序设计系统中, [ ③ ]
若在某一时刻有N个进程同时存在,那么处于运行
状态、阻塞状态和就绪状态的进程个数的最小值 图 2-2-2 进程基本状态及其转换条件
和最大值分别可能是多少?

2.2.4 综合应用题
37.(名校考研真题,综合应用题,5分)画出下面4条语句所对应的前驱图。
P1:a=x+2y; P2:b=a+6; P3:c=4a-9; P4:d=2b+5c;
38.进程和程序之间可以形成一对一、一对多、多对一、多对多的关系,请分别举例说明
在什么情况下会形成这些关系。
100

39.请回答下列问题:
(1)若系统中没有运行进程,那么是否一定没有就绪进程?为什么?
(2)若系统中既没有运行进程,又没有就绪进程,那么系统中是否就没有进程?为什么?
(3)在采用优先级进程调度算法时,正在运行的进程是否一定是系统中优先级最高的进程?
40.某分时系统中的进程可能出现图2-2-3所示的状态变化情况,请回答下列问题:
计算机操作系统习题与考研真题解析

运行


等待打印机 ①
输出结果


等待磁盘读文件

图 2-2-3 进程状态变化图

(1)根据图2-2-3可知,该系统应采用什么调度算法?
(2)把图2-2-3中每个状态变化的可能原因填写在表2-2-1中。

表2-2-1 状态变化的可能原因(空表)

状态变化编号 可能原因

2.3 参考答案与解析

2.3.1 选择题
1.【参考答案】D
【解析】程序顺序执行时的封闭性是指程序在封闭的环境下运行,即程序运行时独占计算
机系统的全部资源,只有本程序才能改变系统资源状态(除初始状态外);程序一旦开始执
行,其执行结果就不受外界因素影响。
2.【参考答案】D
【解析】OS为了提高系统吞吐量和资源利用率,引入了进程来支持并发。程序是不能并发
的,程序只有当被创建为进程后,才能并发执行。
3.【参考答案】B
【解析】PCB是进程存在的唯一标志,它存储着进程的状态和优先级等信息。
101

4.【参考答案】B
【解析】分时系统允许多个用户同时通过自己的终端以交互方式使用一台计算机,共享
系统资源。分时系统通常将CPU的工作时间划分成若干个时间片,轮流为就绪队列中的进程服
务。当某个进程获得时间片而进入执行状态时,就绪队列中的其他进程就会处于就绪状态,等
待时间片的到来。因此在一般情况下,分时系统中处于就绪状态的进程最多。


5.【参考答案】D 2

部分
【解析】在单处理机系统中,任何时刻最多只能有一个进程获得CPU而处于运行状态,但

拓展习题及其参考答案与解析
可以有多个进程处于就绪状态;一个进程不可以同时处于就绪状态和等待状态。
6.【参考答案】C
【解析】已经获得除CPU以外的运行所需所有资源的进程处于就绪状态,其获得CPU后即
会进入执行状态。
7.【参考答案】B
【解析】进程等待协作进程的一个消息时,该进程处于阻塞状态;当进程等待的协作进程
的消息到来时,该进程从阻塞状态转换为就绪状态。
8.【参考答案】A
【解析】进程等待读磁盘操作完成后便会从阻塞状态转换为就绪状态。
9.【参考答案】D
【解析】A、B、C都会因为进程请求资源而进入阻塞状态;进程被高优先级进程抢占,即
被剥夺了处理机资源而进入就绪状态,其一旦重新获得处理机资源便会继续执行。
10.【参考答案】C
【解析】Ⅰ和Ⅱ中的进程都属于正在申请资源的进程,容易发生阻塞,而Ⅲ则只会让进程
进入就绪队列,当高优先级进程退出CPU后,进程P仍可获得CPU。
11.【参考答案】C
【解析】进程的3种基本状态之间的转换如图2-2-4所示。

进程调度
就绪 运行
时间片到


事件

阻塞

图 2-2-4 进程状态转换图

由图2-2-4可知,“就绪→等待”是不可能发生的。
12.【参考答案】B
【解析】当系统中的工作负担比较重时,为了满足执行紧迫任务的需求,OS会将暂时不紧
迫的正在运行的进程挂起,使其处于静止就绪状态。
13.【参考答案】C
【解析】①用户登录成功后,系统要为此创建一个用户管理进程,包括管理用户桌面、环
境等。所有用户进程都会在该进程下被创建和管理。②设备分配是通过在系统中设置相应的数
据结构实现的,不需要创建进程。③启动程序执行是会导致进程被创建的。
102

14.【参考答案】C
【解析】管道实际上是一种大小固定的缓冲区,它对于管道两端的进程而言,就是一个文
件,但它只存在于内存中,因此容量大小不受磁盘容量大小的限制。一个管道可以实现双向数
据传输,而同一时刻最多只能在一个方向上进行传输,不能在两个方向上同时进行传输。当管
道满时,进程写管道会被阻塞,而当管道空时,进程读管道会被阻塞。
15.【参考答案】B
计算机操作系统习题与考研真题解析

【解析】管道是指用于连接一个读进程和一个写进程并能实现读进程/写进程间通信的一
个共享文件。写进程负责向管道输入数据,数据格式是自然字符流;读进程负责接收管道数据。
16.【参考答案】C
【解析】用信箱实现进程间互通信息的通信机制需要两个通信原语,它们是发送原语和接
收原语。
17.【参考答案】A
【解析】每个进程都有独立的虚拟地址空间,同一进程中的各线程共享该进程的虚拟地址
空间。属于同一进程的所有线程具有相同的地址空间。线程是系统调度的基本单位,进程是资
源分配的基本单位;堆通常与进程相关,用于存储全局变量,同一进程中的各线程共享堆;栈
是每个线程所独有的,用于存储运行状态和局部变量,同一进程中的各线程不能共享栈。
18.【参考答案】D
【解析】在传统的OS中,进程既作为拥有资源的基本单位,又作为调度和分派的基本单
位。在引入线程的OS中,线程作为调度和分派的基本单位,而进程作为拥有资源的基本单位。
19.【参考答案】C
【解析】一个完整的进程实体应该由程序段、相关数据段、PCB这3部分组成。在引入线程
的OS中,进程是独立分配资源的基本单位,但是可独立执行的基本单位是线程。线程拥有局部
变量等,它们是同一个进程的其他线程所不能共享的。
20.【参考答案】B
【解析】应用程序中没有负责管理线程的代码,而只有一个对接内核支持线程的编程接
口,内核为进程及其内部的每个线程维护上下文信息,调度也是在内核中由OS完成的;在多线
程模型中,用户级线程和内核支持线程的连接方式分为多对一、一对一、多对多,“OS为每个
用户级线程建立一个TCB”属于一对一模型;用户级线程的切换可以在用户空间完成,而内核
支持线程的切换则需要OS帮助进行调度,因此用户级线程的切换效率更高;用户级线程的管理
可以只在用户空间中进行,因此其可以在不支持内核支持线程的OS上实现。
21.【参考答案】D
【解析】进程中的线程共享进程内的全部资源,但进程中某线程的栈指针对其他线程是透
明的,即不能被其他线程共享。
22.【参考答案】A
【解析】在引入线程后,进程依然是资源分配的基本单位,线程是调度的基本单位,同一
进程中的各线程共享进程的地址空间。在用户级线程中,有关线程管理的所有工作都由应用程
序完成,无须内核干预。
23.【参考答案】C
【解析】线程也称为轻型进程,创建一个新线程比创建一个新进程所需的工作量要小得
多;同一进程中的多个线程具有相同的地址空间,因此同一进程中的线程间通信比不同进程中
的线程间通信简单;在一些OS中,同一进程中的线程间切换、同步和通信都无须调用内核。
103

24.【参考答案】ABCE
【解析】一个进程独占处理机顺序执行时,具有封闭性和可再现性,即一个进程独占处理
机时,其执行结果只取决于进程本身;进程的并发性是指多个进程实体同在于内存中,且能在
一段时间内同时运行;并发进程轮流占用处理机,每次只有一个进程被执行,其他进程处于阻
塞状态或就绪状态;单处理机系统中不可能存在若干进程同时占用处理机的情况;进程并发执


行时,不同的相对执行速度可能会产生不同的执行结果。 2

部分
25.【参考答案】AD

拓展习题及其参考答案与解析
【解析】挂起是指某种原因使进程由执行状态变为静止状态,或者让处于就绪状态的进程
暂不接受调度;被挂起的进程不能立即执行,其可能存在某些问题,如父进程希望挂起某个子
进程以协调各子进程,或者负荷需要调节等,而不一定是在等待某一事件或资源;挂起进程需
要激活原语才能改变其状态;系统工作负荷重时,可把一些不重要的进程挂起,以保证系统正常
运行,提高CPU利用率;进程执行时间是由其本身所完成的功能决定的,与是否被挂起无关。

2.3.2 填空题
26.【参考答案】同一时间间隔
【解析】进程的并发性是指多个进程在同一时间间隔内同时发生。单处理机系统不可能存
在多个进程在同一时刻同时发生的现象。并发执行的各进程的执行没有固定的顺序。
27.【参考答案】异步性
【解析】各并发进程按各自独立的、不可预知的速度向前推进。这种特性被称为进程的异
步性。
28.【参考答案】相关数据段;程序段;PCB
【解析】进程是一个程序关于某个数据集的一次运行。从静态的角度看,进程由程序段、
相关数据段和PCB组成。
29.【参考答案】PCB
【解析】PCB是进程存在的唯一标志,它在进程创建时被产生,在进程撤销时被释放。
PCB的作用是标志进程的存在以及对进程进行控制。
30.【参考答案】信箱头;信箱体
【解析】信箱是一种数据结构,在逻辑上可分成信箱头和信箱体两部分。

2.3.3 简答题
31.【参考答案】进程的顺序性是指进程在处理机上的执行是严格按照规定的顺序进行
的。进程的并发性是指多个进程同时处于内存中,且能在一段时间内同时运行。
32.【参考答案】程序在并发执行时,由于它们共享系统资源,为完成同一项任务要相互
合作,这些并发执行的进程之间形成了相互制约关系,从而使进程在执行期间出现了间断性。
程序并发执行时,多个程序共享系统中的各种资源,因而这些资源的状态由多个程序改变,这
致使程序运行失去了封闭性,同时也失去了可再现性。
33.【参考答案】PCB是OS为每个进程定义的数据结构,其能使一个在多道程序环境下不
能独立运行的程序成为一个能与其他进程并发执行的进程(能独立运行的基本单位)。OS通过
PCB来感知进程的存在,并根据PCB来对进程进行控制和管理,因此PCB是为了保证程序并发执
行而创建的。
104

34.【参考答案】父进程创建子进程后,父进程与子进程同时执行(并发)。主程序调用子
程序后,主程序暂停在调用点,子程序开始执行,直至子程序返回后,主程序才又开始执行。
35.【参考答案】进程基本状态及其转换条件如图2-2-5所示。

进程调度
就绪 运行
时间片到
计算机操作系统习题与考研真题解析

请求
I/O

I/O

阻塞

图 2-2-5 进程基本状态及其转换条件(完整)

36.【参考答案】各状态下进程个数的最值如表2-2-2所示。

表2-2-2 处于各状态下进程个数的最值
进程个数
进程状态
最小值 最大值

运行状态 0 1

阻塞状态 0 N

就绪状态 0 N-1

只要有一个处于就绪状态的进程,CPU就不会空闲,系统中就会有处于运行状态的进程,
因此,就绪状态下进程个数的最大值为N-1。可能会存在所有进程均阻塞的情况。

2.3.4 综合应用题
37.【参考答案】P2和P3都必须在a被赋值之后才能执行;但P2、P3可以并发执行,因此它
们彼此互不依赖;P4必须在b和c被赋值之后才能执行。因此前趋图如图2-2-6所示。

P2
P1 P4

P3

图 2-2-6 前趋图

38.【参考答案】进程是程序的执行过程,进程代表执行中的程序。程序是静态的指令集
合,进程是程序的动态执行过程。运行一个程序时,OS首先要创建一个进程,并为进程分配
内存等资源,然后将其加入进程队列中执行。对单个进程在某个时刻而言,其只能执行一个程
序,进程与程序之间是一对一的关系。但对整个系统中的进程集合及进程的生命周期而言,进
程与程序之间可以形成一对一、多对一、一对多、多对多的关系:①执行一条命令或运行一个
应用程序时,进程和程序之间形成一对一的关系;②进程在执行过程中可以加载执行不同的应
用程序,从而形成一对多的关系;③进程以不同的参数或数据多次执行同一个应用程序时,形
成多对一的关系;④并发执行不同的应用程序时,形成多对多的关系。
105

39.【参考答案】
(1)是。若系统中未运行进程,则系统会选择一个就绪进程运行。只有当就绪队列中无进
程时,CPU才可能处于空闲状态。
(2)不一定。因为系统中的所有进程都可能处于等待状态,或死锁状态,或因为等待的事
件未发生而进入循环等待状态。


(3)不一定。因为高优先级的进程有可能正处在等待队列中,进程调度会从就绪队列中选 2

部分
择一个进程占用CPU,这个被选中的进程可能优先级较低。

拓展习题及其参考答案与解析
40.【参考答案】根据题意,首先由图2-2-3进行分析,②表示进程由运行状态到就绪队列
的末尾,由①可以看出进程在就绪队列中是按照FCFS原则依次获得CPU运行的,由此可知该系
统采用的是RR调度算法。由③、④可知,进程被阻塞时可以进入不同的阻塞队列,等待打印机
输出结果和等待磁盘读文件。因此,它是一个面向多阻塞队列而采用RR调度算法的调度系统。
(1)根据题意可知,该系统应采用RR调度算法。
(2)状态变化的可能原因如表2-2-3所示。

表2-2-3 状态变化的可能原因
状态变化编号 可能原因
① 进程被调度,获得CPU,进入运行状态

② 进程读文件,因I/O操作而进入阻塞状态

③ 进程打印输出结果,因打印机未结束而阻塞

④ 打印机打印结束,进程重新回归就绪状态,并排到就绪队列尾部

⑤ 进程所需数据已从磁盘进入内存,进程回归就绪状态

⑥ 运行的进程因为时间片用完而让出CPU,并排到就绪队列尾部

第3章 处理机调度与死锁
本章主要介绍OS中处理机调度与死锁的基本概念,具体包括处理机调度的层次和调度算法
的目标,实时调度,死锁的定义、必要条件和处理方法等内容。
本章学习目标如下。
(1)了解OS的三级调度类型,了解调度的基本准则。
(2)熟练掌握调度算法。
(3)理解死锁的概念,了解死锁的预防方法,熟练掌握死锁的避免算法,了解死锁检测与
解除的实现方法。

3.1 知识导图
根据本章重要知识点而总结的知识导图如图2-3-1所示。 第 3 章复习指导
106

资源利用率:使系统中的处理机和其他所有资源都尽可能地保持忙碌状态

系统吞吐量:单位时间内系统所完成的作业数

公平性:使各进程都获得合理的CPU时间,而不会发生进程饥饿现象
基本准则
计算机操作系统习题与考研真题解析

响应时间:要尽可能短

周转时间:周转时间和带权周转时间要尽可能短

高级调度:作业调度

三级调度 中级调度:内存调度

低级调度:进程调度

处理机调度 非抢占调度方式
进程调度方式
抢占调度方式:优先级原则、短进程优先原则、时间片原则

先来先服务:按照作业到达的先后次序调度

短作业优先:作业越短,优先级越高
处 理 机 调 度 与 死 锁

优先级:基于作业的紧迫程度由外部赋予优先级
调度算法
高响应比优先:响应比=(等待时间+要求服务时间)/要求服务时间

轮转:就绪队列上的每个进程每次仅运行一个时间片

多级反馈队列:划分多个就绪队列,不同队列的优先级不同

竞争资源
死锁产生的原因
进程推进顺序非法

死锁产生的必要条件:互斥条件、请求和保持条件、不可抢占条件、循环等待条件

死锁 抛弃“请求和保持”条件

预防死锁 抛弃“不可抢占”条件

抛弃“循环等待”条件

避免死锁 利用银行家算法避免死锁
死锁的处理方法
保存有关资源的请求和分配信息
检测死锁
提供—种算法,利用上述信息检测系统是否已进入死锁状态

抢占资源
解除死锁
终止死锁进程

图 2-3-1 处理机调度与死锁知识导图
107

3.2 拓展习题

3.2.1 选择题


1.(名校考研真题,单项选择题,2分)若某单处理机多进程系统中有多个处于就绪状态
2

部分
的进程,则下列关于处理机调度的叙述中,错误的是( )。
A.在进程结束时能进行处理机调度

拓展习题及其参考答案与解析
B.创建新进程后能进行处理机调度
C.在进程处于临界区时不能进行处理机调度
D.在系统调用完成并返回用户态时能进行处理机调度
2.(名校考研真题,单项选择题,2分)下面的情况中,进程调度可能发生的时机有( )。
Ⅰ.正在执行的进程时间片用完
Ⅱ.正在执行的进程提出I/O请求后进入等待状态
Ⅲ.有新的用户登录系统
Ⅳ.等待硬盘读数据的进程获得了所需的数据
A.Ⅰ B.Ⅰ、Ⅱ、Ⅲ、Ⅳ
C.Ⅰ、Ⅱ、Ⅳ D.Ⅰ、Ⅲ、Ⅳ
3.(全国统考真题,单项选择题,2分)假设4个作业到达系统的时刻和运行时间如表2-3-1
所示。

表2-3-1 进程到达时刻和运行时间表
作业 到达时刻 t 运行时间
J1 0 3

J2 1 3

J3 1 2

J4 3 1

系统在t =2时开始调度作业。若分别采用FCFS和SJF调度算法,则选中的作业分别是( )。
A.J2、J3 B.J1、J4 C.J2、J4 D.J1、J3
4.(名校考研真题,单项选择题,2分)时间片RR调度算法是为了( )而设计的。
A.多个用户能及时干预系统 B.使系统变得高效
C.优先级较高的进程得到及时响应 D.使所需CPU时间最少
5.(名校考研真题,单项选择题,2分)OS中调度算法是核心算法之一,下列关于调度算
法的论述中,正确的是( )。
A.FCFS调度算法既对长作业有利,又对短作业有利
B.时间片RR调度算法只对长作业有利
C.实时调度算法也要考虑作业的长短问题
D.高响应比优先调度算法既有利于短作业,又兼顾长作业,还实现了FCFS
6.(全国统考真题,单项选择题,2分)下列有关基于时间片的进程调度的叙述中,错误
的是( )。
108

A.时间片越短,进程切换的次数越多,系统开销越大
B.当前进程的时间片用完后,该进程的状态由执行状态变为阻塞状态
C.时钟中断发生后,系统会修改当前进程在时间片内的剩余时间
D.影响时间片大小的主要因素包括响应时间、系统开销和进程数量等
7.(名校考研真题,单项选择题,2分)对于相同的进程序列,下列进程调度算法中平均
周转时间最短的是( )。
计算机操作系统习题与考研真题解析

A.FCFS调度算法 B.SJF调度算法
C.优先级调度算法 D.RR调度算法
8.(名校考研真题,单项选择题,2分)( )优先级是在创建进程时确定的,确定之
后在进程的整个运行期间不再改变。
A.动态 B.FCFS C.短作业 D.静态
9.(全国统考真题,单项选择题,2分)下列选项中,降低进程优先级的合理时机是( )。
A.进程时间片用完 B.进程刚完成I/O操作,进入就绪队列
C.进程长期处于就绪队列 D.进程从就绪状态转为运行状态
10.(全国统考真题,单项选择题,2分)某系统正在执行3个进程P1、P2、P3,各进程的计
算时间和I/O时间占比如表2-3-2所示。

表2-3-2 进程运行时间占比
进程 计算时间占比 I/O时间占比
P1 90% 10%

P2 50% 50%

P3 15% 85%

为了提高系统资源利用率,合理的进程优先级设置应为( )。
A.P1>P2>P3 B.P3>P2>P1 C.P2>P1=P3 D.P1>P2=P3
11.(全国统考真题,单项选择题,2分)某系统采用基于优先级的非抢占式进程调度策
略,完成一次进程调度和进程切换的系统时间开销为1μs。在T 时刻,就绪队列中有3个进程P1、
P2、P3,它们在就绪队列中的等待时间、需要的CPU时间和优先级如表2-3-3所示。

表2-3-3 进程运行时间表
进程 等待时间 需要的CPU时间 优先级
P1 30μs 12μs 10

P2 15μs 24μs 30

P3 18μs 36μs 20

若优先级高的进程优先获得CPU,且从T 时刻起系统开始进程调度,则系统的平均周转时间
为( )。
A.54μs B.73μs C.74μs D.75μs
12.(全国统考真题,单项选择题,2分)系统采用两级反馈队列调度算法进行进程调度。
就绪队列Q1采用RR调度算法,时间片为10ms;就绪队列Q2采用短进程优先调度算法。系统优先
调度Q1队列中的进程,当Q1为空时系统才会调度Q2中的进程;新创建的进程首先进入Q1;Q1中
109

的进程执行一个时间片后若未结束,则转入Q2。若当前Q1和Q2为空,系统依次创建进程P1、P2后
即开始调度进程,P1、P2需要的CPU时间分别为30ms和20ms,则进程P1、P2在系统中的平均等待
时间为( )。
A.25ms B.20ms
C.15ms D.10ms


13.(全国统考真题,单项选择题,2分)下列与进程调度有关的因素中,在设计多级反馈 2

部分
队列调度算法时要考虑的是( )。

拓展习题及其参考答案与解析
Ⅰ.就绪队列的数量
Ⅱ.就绪队列的优先级
Ⅲ.各就绪队列所采用的调度算法
Ⅳ.进程在就绪队列间的迁移条件
A.Ⅰ、Ⅱ B.Ⅲ、Ⅳ
C.Ⅱ、Ⅲ、Ⅳ D.Ⅰ、Ⅱ、Ⅲ、Ⅳ
14.一个作业在8:00到达系统,估计运行时间为1小时。若在10:00开始执行该作业,则其响
应比是( )。
A.2 B.1 C.3 D.0.5
15.(名校考研真题,单项选择题,2分)下列调度算法中,不会导致产生饥饿现象的是
( )。
A.RR B.静态优先级 C.非抢占式SJF D.抢占式SJF
16.(全国统考真题,单项选择题,2分)下列调度算法中,综合考虑进程等待时间和执行
时间的是( )调度算法。
A.RR B.短进程优先 C.FCFS D.高响应比优先
17.(名校考研真题,单项选择题,2分)下列选项中,满足SJF且不会发生饥饿现象的是
( )调度算法。
A.FCFS B.高响应比优先 C.RR D.非抢占式SJF
18.(名校考研真题,单项选择题,2分)系统中有4个进程都要使用某类资源。若每个进
程最多需要3个该类资源,则为了保证系统不发生死锁,系统至少应提供( )该类资源。
A.3个 B.4个 C.9个 D.12个
19.(名校考研真题,单项选择题,2分)某计算机系统中有8台打印机,由K个进程竞争使
用它们,每个进程最多需要3台打印机。该系统可能会发生死锁的K的最小值是( )。
A.2 B.3 C.4 D.5
20.(名校考研真题,单项选择题,2分)下列关于银行家算法的叙述中,正确的是( )。
A.银行家算法可以预防死锁
B.当系统处于安全状态时,系统中一定无死锁进程
C.当系统处于不安全状态时,系统中一定会出现死锁进程
D.银行家算法破坏了死锁必要条件中的“请求和保持”条件
21.(名校考研真题,单项选择题,2分)某时刻进程的资源分配情况如表2-3-4所示,此时
的安全序列是( )。
A.P1、P2、P3、P4 B.P1、P3、P2、P4
C.P1、P4、P3、P2 D.不存在
110

表2-3-4 进程资源分配表(一)
已分配资源 尚须分配资源 可用资源
进程
R1 R2 R3 R1 R2 R3 R1 R2 R3
P1 2 0 0 0 0 1

P2 1 2 0 1 3 2
计算机操作系统习题与考研真题解析

0 2 1
P3 0 1 1 1 3 1

P4 0 0 1 2 0 0

22.(名校考研真题,单项选择题,2分)假设5个进程P0、P1、P2、P3、P4共享3类资源R1、
R2、R3,这些资源的总数分别为18、6、22。T 时刻的资源分配情况如表2-3-5所示,此时存在的
一个安全序列是( )。

表2-3-5 进程资源分配表(二)
已分配资源 最大需求资源
进程
R1 R2 R3 R1 R2 R3
P0 3 2 3 5 5 10

P1 4 0 3 5 3 6

P2 4 0 5 4 0 11

P3 2 0 4 4 2 5

P4 3 1 4 4 2 4

A.P0、P2、P4、P1、P3 B.P1、P0、P3、P4、P2
C.P2、P1、P0、P3、P4 D.P3、P4、P2、P1、P0
23.(全国统考真题,单项选择题,2分)某系统中有n台互斥使用的同类设备,3个并发进
程分别需要3、4、5台该类设备,可确保系统不发生死锁的设备数n最小为( )。
A.9 B.10 C.11 D.12
24.(名校考研真题,单项选择题,2分)系统中有3个不同的临界资源R1、R2、R3,它们
被4个进程P1、P2、P3、P4共享。各进程对资源的需求为:P1申请R1和R2,P2申请R2和R3,P3申请
R1和R3,P4申请R2。若系统出现死锁,则处于死锁状态的进程数至少是( )。
A.1 B.2 C.3 D.4
25.(名校考研真题,单项选择题,2分)假设系统中有4个同类资源,进程P1、P2和P3需要
的资源数分别为4、3和1,P1、P2和P3已申请到的资源数分别为2、1和0,则执行安全性检测算法
的结果是( )。
A.不存在安全序列,系统处于不安全状态
B.存在多个安全序列,系统处于安全状态
C.存在唯一的安全序列P3、P1、P2,系统处于安全状态
D.存在唯一的安全序列P3、P2、P1,系统处于安全状态
26.(单项选择题)采用资源剥夺法可以解除死锁,还可以采用( )方法解除死锁。
A.执行并行操作 B.撤销进程
C.拒绝分配新资源 D.修改信号量
111

3.2.2 填空题
27.进程调度是指根据一定的调度算法,从( )队列中挑选出一个进程,并分配给它
CPU。作业调度程序从处于( )状态的队列中先取适当的作业调入内存运行。
28.(名校考研真题,填空题,2分)现有3个同时到达的作业J1、J2和J3,它们的执行时间


分别为T1、T2和T3,且T1<T3<T2。若这3个作业在同一个处理机上以单道方式执行,则平均周转 2

部分
时间最小的执行顺序是( )。
29.为多道程序提供的可共享资源不足时,可能出现死锁;不适当的(

拓展习题及其参考答案与解析
)也可能产生
死锁。
30.某系统中有11台打印机,n个进程共享打印机资源,每个进程要求获得3台打印机;当n
的取值不超过( )时,系统不会发生死锁。
31.某系统中有3个并发进程都需要4个同类资源,则保证该系统不会发生死锁的最少资源
数是( )。

3.2.3 简答题
32.(名校考研真题,简答题,8分)将“I/O为主”的进程定义为:当此类进程单独运行
时,I/O的处理时间远大于处理机的处理时间。将“计算为主”的进程定义为:当此类进程单独
运行时,处理机的处理时间远大于I/O的处理时间。若系统中运行的主要是这两类进程,那么用
什么样的调度算法更有利于提高系统资源的利用率?为什么?
33.(名校考研真题,简答题,12分)请简要阐明RR调度算法的基本思想。请分析:①假
设时间片的长度无限长,这时的RR调度算法具有什么样的特点?②假设时间片的长度被无限缩
短,这时的RR调度算法又具有什么样的特点?
34.(名校考研真题,简答题,4分)多级反馈队列调度算法是如何工作的?
35.(名校考研真题,简答题,4分)死锁预防中采用什么方法来破坏“循环等待”条件?
请证明该方法。
36.(名校考研真题,简答题,10分)已知某系统中所有资源都是相同的,系统中的进程
严格按照一次一个的方式申请或释放资源。该系统中没有所需资源数量超过系统所拥有资源总
量的进程。请说明在表2-3-6所示的4种情况下是否可能发生死锁。

表2-3-6 进程资源使用情况
情况 系统中的进程数 资源总量
A 1 2

B 2 1

C 2 2

D 2 3

3.2.4 综合应用题
37.(名校考研真题,综合应用题,8分)某系统采用抢占式SJF调度算法,表2-3-7给出了5
个进程的到达时间和要求运行时间。
(1)请将表格填写完整。
112

(2)计算这5个进程的平均带权周转时间。

表2-3-7 抢占式作业调度表(待完善)
进程 到达时间 要求运行时间 开始运行时间 完成时间
P1 0:00 4小时

P2 1:00 1小时
计算机操作系统习题与考研真题解析

P3 3:00 2小时

P4 6:00 5小时

P5 8:00 2小时

38.(名校考研真题,综合应用题,10分)请回答下列问题:
(1)处理机的调度有哪3个层次?
(2)假设某OS以单道批处理方式运行,现有4道作业,它们进入系统的时间及运行时间如
表2-3-8所示,试采用高响应比优先调度算法进行调度,请问这组作业的运行顺序、平均周转时
间和平均带权周转时间分别是多少?并给出计算过程。

表2-3-8 作业运行时间表
作业号 进入系统时间 运行时间(小时)
1 7:00 2.00

2 7:50 0.50

3 8:00 0.10

4 8:50 0.20

39.(名校考研真题,综合应用题,8分)5个进程P1、P2、P3、P4、P5几乎同时到达,它们
预期的运行时间分别为10、6、2、4、8个时间单位。各进程的优先级分别为3、5、2、1、4(数
值越大,优先级越高)。请按下列调度算法计算任务的平均周转时间(进程切换开销可忽略
不计)。
(1)FCFS(按P1→P2→P3→P4→P5顺序)调度算法。
(2)RR调度算法,假定时间片大小为2个时间单位。
(3)优先级调度算法。
40.(全国统考真题,综合应用题,10分)某进程调度程序采用基于优先数priority的调
度策略,即选择优先数最小的进程优先运行,进程创建时由用户指定一个值nice作为静态优先
数。为了动态调整优先数,引入运行时间cpuTime和等待时间waitTime,它们的初值均为0。进
程处于执行状态时,cpuTime定时加1,且waitTime置0;进程处于就绪状态时,cpuTime置0,且
waitTime定时加1。请回答下列问题。
(1)若进程调度程序只将nice的值作为进程的优先数,即priority=nice,则可能会出现饥饿
现象。为什么?
(2)使用nice、cpuTime和waitTime设计一种动态优先数计算方法,以避免产生饥饿现象,
并说明waitTime的作用。
41.(名校考研真题,综合应用题,10分)假定系统中有5个进程P0、P1、P2、P3、P4和4种
113

资源A、B、C、D,假设出现表2-3-9所示的进程资源分配情况,请回答下列问题。

表2-3-9 进程资源分配情况
进程 已分配到的资源 尚需资源数 当前可用资源数
P0 (1,1,1,0) (0,3,3,1) (0,3,2,2)


P1 (0,2,3,1) (0,3,4,2) 2

部分
P2 (0,2,1,2) (1,0,3,4)

拓展习题及其参考答案与解析
P3 (0,3,1,0) (0,3,2,0)

P4 (1,0,2,1) (0,4,2,3)

(1)该状态是否安全?为什么?
(2)如果进程P0提出资源请求(0,0,0,1),则系统能否将资源分配给它?为什么?
42.(名校考研真题,综合应用题,10分)假设系统有5类独占资源:R l、R 2、R 3、R 4、
R5。各类资源分别有2、2、2、1、1个。系统有5个进程:P1、P2、P3、P4、P5。其中P1已占有2个
R1,且申请1个R2和1个R4;P2已占有1个R2,且申请1个Rl;P3已占有1个R2,且申请1个R2和1个
R3;P4已占有1个R4和1个R5,且申请1个R3;P5已占有1个R3,且申请1个R5。
(1)试画出该时刻的资源分配图。
(2)什么是死锁定理?如何判断(1)中给出的资源分配图有无死锁?给出判断过程和结果。

3.3 参考答案与解析

3.3.1 选择题
1.【参考答案】C
【解析】选项A、B、D显然属于可以进行处理机调度的情况。对于选项C,当进程处于临
界区时,说明进程正在占用处理机,只要不破坏临界资源的使用规则,就不会影响处理机的调
度。比如,通常访问的临界资源可能是慢速的外设(如打印机),若进程在访问打印机时不能
进行处理机调度,则系统的性能将会变得非常差。
2.【参考答案】B。
【解析】正在执行的进程在时间片用完后进入就绪状态,系统会调入一个新的进程来为其
分配处理机并执行;正在执行的进程提出I/O请求后进入等待状态,系统同样会调入一个新的
进程来为其分配处理机并执行;有新的用户登录进入系统会创建新的进程,若处理机空闲,则
可进行进程调度;等待硬盘读数据的进程获得了所需的数据后,若处理机空闲,则可进行进程
调度。
3.【参考答案】D
【解析】FCFS调度算法是作业来得越早,优先级越高,因此其会选中J1。SJF调度算法是作
业运行时间越短,优先级越高,因此其会选中J3。
4.【参考答案】A
【解析】时间片轮转的主要目的是,使多个交互的用户能够得到及时响应,因此它不会对
特殊进程做特殊服务。时间片轮转增加了系统开销,吞吐量和周转时间均不如批处理。但其比
114

较快速的响应能使用户与计算机快速交互,改善了人机环境,满足了用户需求。
5.【参考答案】D
【解析】FCFS调度算法对短作业不利,若当前系统中有先到达的长作业,则后到达的短作
业要一直等待,直到所有先到达的长作业执行完毕后才能执行;时间片RR调度算法是一种公平
的处理机分配方式,对长、短作业都有利;实时调度算法是根据进程的紧迫程度,为其设定执
行的优先级,与作业的长短无关;高响应比优先调度算法综合考虑了进程的等待时间与执行时
计算机操作系统习题与考研真题解析

间,对长、短作业均有利。
6.【参考答案】B
【解析】进程切换次数越多,开销越大。当前进程的时间片用完后,其会由执行状态变为
就绪状态。时钟中断是系统中特定的周期性时钟节拍,OS通过它来确定时间间隔,实现时间调
节。现代OS为了保证性能最优,通常根据响应时间、系统开销、进程数量、进程运行时间、进
程切换开销等因素来确定时间片大小。
7.【参考答案】B
【解析】平均周转时间=所有进程周转时间之和/进程数量。在这4种进程调度算法中,SJF
调度算法具有最短的平均周转时间。
8.【参考答案】D
【解析】在优先级调度算法中,优先级分为静态优先级和动态优先级。静态优先级是在创
建进程时确定的,在进程的整个运行期间保持不变。动态优先级会随进程的推进或等待时间的
增加而改变,以便获得更好的调度性能。
9.【参考答案】A
【解析】A中进程的时间片用完,可降低其优先级,让其他进程被调度而进入执行状态。
B中进程刚完成I/O操作,进入就绪队列等待被调度;为了让其尽快处理I/O结果,应提高其优先
级。C中进程长期处于就绪队列,为了不至于产生饥饿现象,也应适当提高进程优先级。D中进
程的优先级不应在此时降低,而应在时间片用完后再降低。
10.【参考答案】B
【解析】对于优先级调度算法,一般来说,I/O型作业的优先级高于计算型作业的优先级,
这是由于I/O操作没有办法长时间地保存所要输入/输出的数据,因此要及时完成。另外考虑到系
统的资源利用率,因此要使I/O繁忙型作业具有更高的优先级。
11.【参考答案】D
【解析】由优先级可知,进程的执行顺序为P 2→P3→P1。P2的周转时间为1+15+24=40μs。
P3的周转时间为18+1+24+1+36=80μs。P1的周转时间为30+1+24+1+36+1+12=105μs。因此,平均周
转时间为(40+80+105)/3=225/3=75μs。
12.【参考答案】C
【解析】进程P1、P2依次创建后进入队列Q1,根据RR调度算法的规则,P1、P2将依次被分
配10ms的CPU时间,分别执行完一个时间片后都会转入队列Q 2;就绪队列Q 2采用短进程优先
调度算法,此时P 1还需要20ms的CPU时间,P 2还需要10ms的CPU时间,因此P 2会被优先调度
执行,10ms后P 2执行完成,P 1再调度执行,P 1执行20ms后完成。进程运行时间关系如图2-3-2
所示。
进程P 1、P 2的等待时间分别为图中的虚横线部分,平均等待时间=(P 1等待时间+P 2等待时
间)/2=(20+10)/2=15ms。
115

P1

进程
P2

0 10 20 30 40 50


CPU时间/ms
2

部分
图 2-3-2 进程运行时间关系

13.【参考答案】D

拓展习题及其参考答案与解析
【解析】多级反馈队列调度算法是RR调度算法与优先级调度算法的综合与发展,需要综合
考虑队列数量、优先级、调度算法及进程在队列间的迁移条件。
14.【参考答案】C
【解析】响应比=响应时间/要求服务时间=(等待时间+要求服务时间)/要求服务时间=
(2+1)/1=3。
15.【参考答案】A
【解析】采用静态优先级调度算法且系统总是出现优先级高的任务时,优先级低的任务总
是得不到处理机,这时就会出现饥饿现象。采用短任务优先调度算法且系统总是出现新来的短
任务时,长任务总是得不到处理机,这时也会出现饥饿现象。
16.【参考答案】D
【解析】响应比综合考虑了每个进程的等待时间和执行时间,对于同时到达的长进程和短
进程,短进程会优先执行,以提高系统吞吐量;而长进程的响应比会随等待时间的增加而提
高,不会发生进程无法调度的情况。
17.【参考答案】B
【解析】高响应比优先调度算法在等待时间相同的情况下,作业执行时间越短,响应比越
高,满足短任务优先。随着长作业等待时间的增加,响应比会变大,执行机会也会增大,因此
不会发生饥饿现象。FCFS和RR不符合短任务优先,非抢占式SJF会导致出现饥饿现象。
18.【参考答案】C
【解析】系统中有4个进程,每个进程最多需要3个资源,先给每个进程分配2个资源,共需
要8个资源,此时需要系统中还有1个空闲资源(其可被分配给任一进程),才不会发生死锁,
故至少需要9个资源。
19.【参考答案】C
【解析】因为每个进程最多需要3台打印机,所以最极端的情况是每个进程已经占有了2台
打印机,若此时至少还有1台可用打印机,就能满足至少有一个进程需要3台打印机的条件,使
其顺利执行。因此将8台打印机分给K个进程,每个进程有2台打印机,可得K为4。
20.【参考答案】B
【解析】银行家算法是一种避免死锁的方法。若采用银行家算法,则当系统处于安全状态
时,系统中一定没有死锁进程,因此答案为B。
21.【参考答案】D
【解析】剩余资源分配给P1,待P1执行完后,可用资源数为(2,2,1),此时仅能满足P4
的需求;接着将资源分配给P4,待P4执行完后,可用资源数为(2,2,2),此时已无法满足任
何进程的需求。
22.【参考答案】D
【解析】首先求得各进程的需求矩阵Need与可利用资源向量Available,如表2-3-10所示。
116

表2-3-10 系统资源分配情况分析表

Need Available
进程
R1 R2 R3 R1 R2 R3

P0 2 3 7

P1 1 3 3
计算机操作系统习题与考研真题解析

P2 0 0 6 2 3 3
P3 2 2 1

P4 1 1 0

通过比较Need和Available可以发现,初始时进程P1与P3可满足需求。若尝试给P1分配资源,
则P1完成后Available将变为(6,3,6),此时无法满足P0的需求。若尝试给P3分配资源,则P3完
成后Available将变为(4,3,7),该向量能满足其他所有进程的需求。因此,以P3开头的所有
序列都是安全序列。
23.【参考答案】B
【解析】3个并发进程分别需要3、4、5台设备,当系统只有(3-1)+(4-1)+(5-1)=9台设
备时,第1个进程分配2台,第2个进程分配3台,第3个进程分配4台。这种情况下,3个进程均无法继
续执行下去,即会发生死锁。当系统中再增加1台设备,即共有10台设备时,最后1台设备分配给任
意一个进程,都可以使这些进程顺利执行并完成,因此确保系统不发生死锁的最小设备数为10。
24.【参考答案】C
【解析】因为P4只申请一个资源,所以当系统将R2分配给P4后,P4执行完成后将释放R2。这
时,系统满足死锁的条件是将R1分配给P1、R2分配给P2、R3分配给P3,或者将R2分配给P1、R3分
配给P2、R1分配给P3。穷举其他情况,如将P1申请的资源R1和R2先都分配给P1,待其运行完并释
放占有的资源后,可分别将R1、R2和R3分配给P3、P4和P2,这样也满足系统死锁的条件。各种情
况需要使得处于死锁状态的进程数至少为3。
25.【参考答案】A
【解析】由题意可知,仅剩最后1个资源,若将其分配给P1或P2,则它们均无法正常执行;
若将其分配给P3,则P3正常执行完成后,其释放的这1个资源仍无法使P1或P2正常执行,因此不
存在安全序列。
26.【参考答案】B
【解析】资源剥夺法允许一个进程强行剥夺其他进程所占有的系统资源。撤销进程会强行
释放一个进程已占有的系统资源,其与资源剥夺法同理,亦是通过破坏死锁的“请求和保持”
条件来解除死锁的。拒绝分配新资源只能维持死锁的现状,而无法解除死锁。

3.3.2 填空题
27.【参考答案】就绪;后备
【解析】进程调度是从就绪状态队列中按照某种策略选择合适的进程,使其获得CPU,其
他状态的进程不能再获得CPU。作业调度按照某种策略从后备作业队列中选中一个作业,并为
它分配必要的内存,在创建相应的进程之后,该作业会由后备状态转变为运行状态。
28.【参考答案】J1→J3→J2
【参考答案】作业的周转时间是指从作业被提交给系统开始,到作业完成为止的这段时
间。由于3个作业同时到达,为使平均周转时间最小,须按SJF执行,故执行顺序是J1→J3→J2。
117

29.【参考答案】进程推进顺序
【解析】产生死锁的原因是系统资源不足或进程推进顺序非法。
30.【参考答案】5
【解析】当每个进程都获得了2台打印机且系统剩余的打印机不少于1台时,系统不会发生
死锁,即11-2n≥1,由此得到n≤5。


31.【参考答案】10 2

部分
【解析】最坏的情况是3个进程都占有3个资源,如果此时最少剩余1个资源,即资源数为

拓展习题及其参考答案与解析
10,则必然存在一个进程能得到4个资源而顺利运行,运行完成并释放资源后,其他进程即可依
次顺利运行。

3.3.3 简答题
32.【参考答案】计算型作业的优先级通常低于I/O型作业的优先级,因此可以采用如下调
度算法来提高系统资源的利用率。
(1)I/O型进程:被赋予较高的优先级,以便能及时响应I/O交互。其通常会执行一个小的
时间片,在该时间片内,要求其能处理完一次I/O请求的数据,然后转入阻塞队列。
(2)计算型进程:每次都会执行完时间片,因此须降低其优先级。
(3)I/O次数不多而主要是CPU处理的进程:在I/O完成后,将其放回I/O请求时离开的优先
级队列,以免每次都回到最高优先级队列后再逐次下降。
(4)I/O完成时,提高优先级;时间片用完时,降低优先级。
33.【参考答案】①如果时间片无限长,即所有的算法在分配的时间片内都能完成,这时
的RR调度算法会被简化成FCFS调度算法,这对于短作业可能不利。②假设时间片被无限缩短,
这时采用RR调度算法,进程切换和进程调度会频繁发生,这会导致系统开销增大。
34.【参考答案】多级反馈队列调度算法的调度机制如下。
(1)设置多个就绪队列,为各队列赋予不同的优先级。第1个队列的优先级最高,第2个队
列次之,其余队列的优先级依次降低。各个队列中进程的时间片大小与队列优先级成反比,即
优先级越高的队列分得的时间片越小。
(2)当一个新进程进入内存后,首先将其放入第1个队列的末尾,按FCFS原则排队等待调
度。当轮到该进程运行时,如果它能在第1个队列的时间片内完成,它便可以撤离系统;如果它
在第1个队列的时间片内没有完成,那么将它放在第2个队列的末尾,同样按FCFS原则排队等待
调度;如果它在第2个队列的时间片内没有完成,再将它调入第3个队列末尾,依此类推,直到
其运行完成。
(3)仅当第1个队列为空时,调度程序才会调度第2个队列中的进程并运行之;仅当第1~
(i-1)个列均为空时,调度程序才会调度第i个队列中的进程并运行之。如果处理机在第i个队
列中为进程服务时,又有新进程进入优先级较高的队列,那么新进程就会抢占处理机,调度程
序会把正在运行的进程放回第i个队列的末尾,把处理机分配给新到的高优先级进程。
35.【参考答案】在死锁预防中,采用“有序资源分配法”来破坏“循环等待”条件。有
序资源分配法是将系统中的所有资源按照类型进行排序编号,每个进程必须按照编号递增次序
请求资源,同类资源一次性申请完成。
证明:如果某进程请求资源Ri(i为编号),则其后面的进程只能请求排在资源Ri后面的资
源,而无法请求排在Ri前面的资源。对申请资源做这样的限制后,系统中就不会再出现资源请
求环路,因此破坏了死锁产生必要条件中的“循环等待”条件。
118

36.【参考答案】对表2-3-6中所列的4种情况依次进行分析。
(1)情况A:系统中仅有1个进程,资源总数为2,根据题目条件可知,该进程的最大资源
需求不超过2,故不会出现死锁情况。
(2)情况B:系统中有2个进程,资源总数为1,根据题目条件可知,每个进程的最大资源
需求不超过1;假定每个进程的最大资源需求为1,若系统将其资源分配给其中一个进程,则该
进程的资源需求能够被满足并可在运行完毕后将资源归还系统,从而使另一个进程也可运行完
计算机操作系统习题与考研真题解析

毕,故不会出现死锁情况。
(3)情况C:系统中仅有2个进程,资源总数为2,根据题目条件可知,进程的最大资源需
求不超过2,假定每个进程的最大资源需求为2,若系统将2个资源分配给同一个进程,则该进程
可以运行完毕并释放资源,从而使另一个进程也可运行完毕。但若系统为每个进程分配一个资
源,则没有进程的资源需求能够被满足,从而都会陷入等待状态,导致死锁发生,故在此种情
况下可能发生死锁。
(4)情况D:系统中仅有2个进程,资源总数为3,根据题目条件可知,进程的最大资源需求
不超过3,假定每个进程的最大资源需求为3,若系统将3个资源分配给同一个进程,则该进程可
运行完毕并释放资源,另一个进程也可以同样的方式运行完毕。但若系统将3个资源分配给2个进
程,一个进程1个资源,另一个进程2个资源,则没有进程的资源需求能够被满足,因此就会导致
死锁发生。

3.3.4 综合应用题
37.【参考答案】
(1)采用抢占式SJF调度算法时:
① 在0:00只有进程P1到达,故进程P1运行;
② 进程P2于1:00到达,由于进程P2的运行时间比进程P1的运行时间短,故进程P2抢占处理机
运行,并在2:00运行完毕,此时系统只有进程P1,故P1运行;
③ 进程P3于3:00到达,由于进程P3的运行时间比进程P1的运行时间短,故进程P3抢占处理机
运行,并在5:00运行完毕,此时系统中只有进程P1,故进程P1继续运行;
④ 进程P4于6:00到达,由于进程P4的运行时间比进程P1的运行时间长,故P4不抢占处理机,
进程P1继续运行到7:00结束并让出处理机,此时系统中只有进程P4,故进程P4开始运行;
⑤ 进程P5于8:00到达,由于进程P5的运行时间比进程P4的运行时间短,故进程P5抢占处理机
运行,并在10:00运行完毕,此时系统中只有进程P4,故进程P4继续运行,14:00所有进程运行完
毕。系统进程的抢占式作业调度表如表2-3-11所示。

表2-3-11 抢占式作业调度表
进程 到达时间 要求运行时间 开始运行时间 完成时间
P1 0:00 4小时 0:00 7:00
P2 1:00 1小时 1:00 2:00
P3 3:00 2小时 3:00 5:00
P4 6:00 5小时 7:00 14:00
P5 8:00 2小时 8:00 10:00

(2)进程P1的带权周转时间=(7-0)/4=1.75。
进程P2的带权周转时间=(2-1)/1=1。
119

进程P3的带权周转时间=(5-3)/2=1。
进程P4的带权周转时间=(14-6)/5=1.6。
进程P5的带权周转时间=(10-8)/2=1。
系统的平均带权周转时间=(1.75+1+1+1.6+1)/5=1.27。
38.【参考答案】(1)处理机的调度分为高级调度、中级调度和低级调度。①高级调度:


又称为长程调度或作业调度,主要任务是根据某种算法从外存上在处于后备队列的作业中选取 2

部分
一个或多个作业调入内存,给它们创建进程、分配必要资源,并将它们放入就绪队列。②中级

拓展习题及其参考答案与解析
调度:又称为中程调度或内存调度,主要任务是根据某种算法将处于外存对换区中的具备运行
条件的进程调入内存,或将内存中的暂时不能运行的进程调至外存对换区等待。③低级调度:
又称为短程调度或进程调度,主要任务是根据某种算法从就绪队列中选取一个进程,并将处理
机分配给它。进程调度是OS中最基本的调度方式,在OS中必须进行配置。
(2)4道作业并非同时到达,7:00只有作业1到达,故首先运行的是作业1,其在9:00运行完
毕,此时其余3道作业已全部到达,根据高响应比优先调度算法的计算公式计算出这3道作业的
响应比,响应比高的作业先运行,故运行作业3,其在9:06运行完毕,此时再计算其余两道作业
的响应比,可知应先运行作业2,后运行作业4。各个作业的运行时间情况如表2-3-12所示。

表2-3-12 作业运行时间表(完整)

进入系统 运行时间 开始运行 完成 周转时间 带权周转


作业号
时间 (小时) 时间 时间 (小时) 时间
1 7:00 2.00 7:00 9:00 2.00 1.00
3 8:00 0.10 9:00 9:06 1.10 11.00
2 7:50 0.50 9:06 9:36 1.77 3.54
4 8:50 0.20 9:36 9:48 0.97 4.85

作业的运行顺序为1→3→2→4。
平均周转时间=(2+1.1+1.77+0.97)/4=1.46小时。
平均带权周转时间=(1+11+3.54+4.85)/4=5.10。
39.【参考答案】根据调度算法的思想,确定调度的先后顺序。
(1)FCFS调度算法的调度顺序如图2-3-3所示。
0 10 16 18 22 30
P1 P2 P3 P4 P5

图 2-3-3 FCFS 调度算法的调度顺序

(2)RR调度顺序的调度顺序如图2-3-4所示。
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
P1 P2 P3 P4 P5 P1 P2 P4 P5 P1 P2 P5 P1 P5 P1

图 2-3-4 RR 调度算法的调度顺序

(3)优先级调度算法的调度顺序如图2-3-5所示。
0 6 14 24 26 30
P2 P5 P1 P3 P4

图 2-3-5 优先级调度算法的调度顺序
120

因此,可以得到表2-3-13所示的结果。

表2-3-13 不同的调度算法对应的进程运行时间
时间类型 P1 P2 P3 P4 P5 平均时间
算法
运行时间 10 6 2 4 8 6
周转时间 10 16 18 22 30 19.2
FCFS
计算机操作系统习题与考研真题解析

带权周转时间 1 2.67 9 5.5 3.75 4.384


周转时间 30 22 6 16 28 20.4
RR
带权周转时间 3 3.67 3 4 3.5 3.434
周转时间 24 6 26 30 14 20
优先级
带权周转时间 2.4 1 13 7.5 1.75 5.13

40.【参考答案】
(1)由于采用了静态优先数,当就绪队列中总有优先数较小的进程时,优先数较大的进程
一直没有机会运行,因而会出现饥饿现象。
(2)优先数priority的计算公式为priority=nice+k1×cpuTime-k2×waitTime,其中k1>0,k2>
0,用于分别调整cpuTime和waitTime在priority中所占的比例。waitTime可使长时间等待的进程的
优先数减小,从而避免出现饥饿现象。
41.【参考答案】严格按照银行家算法及安全检查子算法进行计算。
(1)初始状态如表2-3-14所示。

表2-3-14 进程资源分配表1
进程 Work Need Allocation Work + Allocation Finish
P3 0,3,2,2 0,3,2,0 0,3,1,0 0,6,3,2 TRUE
P0 0,6,3,2 0,3,3,1 1,1,1,0 1,7,4,2 TRUE
P1 1,7,4,2 0,3,4,2 0,2,3,1 1,9,7,3 TRUE
P4 1,9,7,3 0,4,2,3 1,0,2,1 2,9,9,4 TRUE
P2 2,9,9,4 1,0,3,4 0,2,1,2 2,11,10,6 TRUE

存在一个安全序列P3,P0,P1,P4,P2,因此,该状态是安全的。
(2)由于Request 0 (0,0,0,1)<Need 0 (0,3,3,1),Request 0 (0,0,0,1)
<Available(0,3,2,2),故可尝试将资源分配给P0,并修改P0对应的资源;P0对应的Need为
(0,3,3,0),Allocation为(1,1,1,1);系统对应的Available为(0,3,2,1)。进程
资源分配情况如表2-3-15所示。

表2-3-15 进程资源分配表2
进程 Work Need Allocation Work + Allocation Finish
P3 0,3,2,1 0,3,2,0 0,3,1,0 0,6,3,1 TRUE
P0 0,6,3,1 0,3,3,0 1,1,1,1 1,7,4,2 TRUE
P1 1,7,4,2 0,3,4,2 0,2,3,1 1,9,7,3 TRUE
P4 1,9,7,3 0,4,2,3 1,0,2,1 2,9,9,4 TRUE
P2 2,9,9,4 1,0,3,4 0,2,1,2 2,11,10,6 TRUE
121

存在一个安全序列P3,P0,P1,P4,P2,由于该状态是安全的,因此可实施资源分配。
42.【参考答案】(1)该时刻的进程资源分配图如图2-3-6所示。

R4
P1


R5 2

部分
R1 R2 R3 P4

拓展习题及其参考答案与解析
P2 P3 P5

图 2-3-6 进程资源分配图 1

(2)系统状态S为死锁状态的充分条件:当且仅当状态S的进程资源分配图是不可完全简
化的。该充分条件被称为死锁定理。对于本题所述情况,当前状态下系统的可用资源数为(0,
0,1,0,0),可以满足P4的申请需求。在将P4申请的资源进行分配并且执行完毕P4后,系统的
状态如图2-3-7所示。

R4
P1

R5

R1 R2 R3 P4

P2 P3 P5

图 2-3-7 进程资源分配图 2

P4释放资源后,系统可用资源数变为(0,0,1,1,1),可以满足P5的申请需求。在将P5
申请的资源进行分配并且执行完毕P5后,系统的状态如图2-3-8所示。

R4
P1

R5

R1 R2 R3 P4

P2 P3 P5

图 2-3-8 进程资源分配图 3

P 5释放资源后,系统可用资源数变为(0,0,2,1,1),已不能满足任何进程的申请需
求,即系统当前的进程资源分配图已不能再简化,故系统处于死锁状态。
122

第4章 进程同步
本章主要讲述进程同步的基本概念、实现进程同步的软件方法和硬件方法、信号量及其应
用、经典的进程同步问题、管程等内容。
计算机操作系统习题与考研真题解析

本章学习目标如下。
(1)理解进程同步的基本概念,包括进程间的制约关系、临界资源、临界区及进程同步所
应遵循的准则。
(2)了解实现进程同步的软件方法和硬件方法。
(3)理解信号量的概念,重点掌握记录型信号量。
(4)掌握进程同步问题的算法描述,能够用信号量机制解决现实中的同步问题。
(5)了解管程的基本概念。

4.1 知识导图
根据本章重要知识点而总结的知识导图如图2-4-1所示。

临界资源 一次仅能供一个进程使用的资源

临界区 每个进程中访问临界资源的那段代码
第 4 章复习指导
空闲让进

忙则等待
同步机制准则
有限等待

让权等待

软件同步机制 Peterson
进程同步

关中断

硬件同步机制 利用Test-and-Set指令

利用Swap指令

整型信号量

记录型信号量
信号量机制
AND型信号量

信号量集

一个数据结构和能被并发进程(在该数据结构上)所执行的一组操作,
管程
这组操作能同步进程和改变管程中的数据

生产者-消费者问题

经典同步问题 哲学家进餐问题

读者-写者问题

图 2-4-1 进程同步知识导图
123

4.2 拓展习题

4.2.1 选择题


1.(全国统考真题,单项选择题,2分)属于同一进程的两个线程Thread1和Thread2并发执
2

部分
行,共享初值为0的全局变量x。Thread1和Thread2实现对全局变量x加1的机器代码描述如下。

拓展习题及其参考答案与解析
Thread1( ) Thread2( )
mov R1, x //(x) → R1 mov R2, x //(x) → R2
inc R1 //(R1)+1 → R1 inc R2 //(R2)+1 → R2
mov x, R1 //(R1) → x mov x, R2 //(R2) → x

在所有可能的指令执行序列中,使x的值为2的序列个数是( )。
A.1 B.2 C.3 D.4
2.(名校考研真题,单项选择题,3分)两段程序分别如下,其中,R是寄存器,counter是
共享变量且其初值为1。
程序 A : 程序 B :
R=counter; R=counter;
R=R+1; R=R-1;
counter=R; counter=R;

试问在这两段程序对应的进程并发执行完成后,counter的值不可能为( )。
A.0 B.1 C.2 D.除0、1、2外的所有值
E.除0、1外的所有值 F.除0、2外的所有值 G.除1、2外的所有值
H.除0外的所有值 I.除1外的所有值 J.除2外的所有值
3.在OS中,要对并发进程进行同步的原因是( )。
A.进程必须在有限的时间内完成 B.进程具有动态性
C.并发进程是异步的 D.进程具有结构性
4.(全国统考真题,单项选择题,2分)进程P0和P1的共享变量定义及其初值为:boolean
flag[2];int turn=0;f lag[0]=FALSE;f lag[1]=FALSE;若进程P0和P1访问临界资源的类C代码实
现如下:
void P0( ) // 进程 P0 void P1( ) // 进程 P1
{ {
while(TRUE){ while(TRUE){
flag[0]=TRUE;turn=1; flag[1]=TRUE; turn=0;
while (flag[1]&&(turn==1)); while (flag[0]&&(turn==0));
临界区 ; 临界区 ;
flag[0]=FALSE; flag[1]=FALSE;
} }
} }
则并发执行进程P0和P1时发生的情况是( )。
A.不能保证进程互斥地进入临界区,会出现“饥饿”现象
124

B.不能保证进程互斥地进入临界区,不会出现“饥饿”现象
C.能保证进程互斥地进入临界区,会出现“饥饿”现象
D.能保证进程互斥地进入临界区,不会出现“饥饿”现象
5.(全国统考真题,单项选择题,2分)进程P1和进程P2均包含并发执行的线程,部分伪
代码描述如下:
计算机操作系统习题与考研真题解析

// 进程 P1 : // 进程 P2 :
int x=0; int x=0;
Thread1( ) Thread3( )
{ {
int a; int a;
a=1; a=x;
x+=1; x+=3;
} }
Thread2( ) Thread4( )
{ {
int a; int b;
a=2; b=x;
x+=2; x+=4;
} }
下列选项中,必须要互斥执行的操作是( )。
A.a=1与a=2 B.a=x与b=x C.x+=1与x+=2 D.x+=1与x+=3
6.(名校考研真题,单项选择题,3分)关于临界区,正确的说法是( )。
A.访问不同临界资源的两个进程不要求必须互斥地进入临界区
B.临界区是包含临界资源的一段数据区
C.临界区是一种用于进程同步的机制
D.临界区是访问临界资源的一个进程或线程
7.(名校考研真题,单项选择题,1分)临界区是指并发进程中访问共享变量的( )段。
A.信息管理 B.信息存储 C.数据 D.程序
8.(全国统考真题,单项选择题,2分)在下列同步机制中,可以实现让权等待的是
( )。
A.Peterson方法 B.Swap指令 C.信号量机制 D.Test-and-Set指令
9.(全国统考真题,单项选择题,2分)下列准则中实现临界区互斥机制所必须遵循的是
( )。
Ⅰ.两个进程不能同时进入临界区
Ⅱ.允许进程访问空闲的临界资源
Ⅲ.进程等待进入临界区的时间是有限的
Ⅳ.不能进入临界区且处于执行状态的进程立即放弃CPU
A.Ⅰ、Ⅳ B.Ⅱ、Ⅲ C.Ⅰ、Ⅱ、Ⅲ D.Ⅰ、Ⅲ、Ⅳ
10.下列( )准则不是同步机制所应遵循的准则。
A.让权等待 B.空闲让进 C.忙则等待 D.无限等待
125

11.(全国统考真题,单项选择题,2分)设与某资源相关联的信号量初值为3,当前值
为1,若M表示该资源的可用个数,N表示等待资源的进程数,则M、N分别是( )。
A.0、1 B.1、0 C.1、2 D.2、0
12.(名校考研真题,单项选择题,3分)若记录型信号量S的初值为3,则当前值为1时表
示有( )个阻塞等待进程。


A.1 B.2 C.0 D.1或者2 E.3 2

部分
13.(名校考研真题,单项选择题,2分)在记录型信号量P操作的定义中,当信号量的值

拓展习题及其参考答案与解析
( )时,执行P操作的进程会变为阻塞状态。
A.大于0 B.小于0 C.等于0 D.小于或等于0
14.(名校考研真题,单项选择题,1分)如果3个进程共享一个互斥段,每次最多允许2个
进程进入该互斥段,则信号量的变化范围是( )。
A.2、1、0、-1 B.3、2、1、0
C.2、1、0、-1、-2 D.1、0、-1、-2
15.(名校考研真题,单项选择题,1分)若记录型信号量S的初值为3,则当前值为1时表
示( )。
A.系统对应的阻塞等待队列存在1个进程 B.系统对应的阻塞等待队列存在2个进程
C.系统对应的阻塞等待队列存在0个进程 D.系统现有可用资源1个
E.系统现有可用资源2个 F.C和D
16.(名校考研真题,单项选择题,1分)若记录型信号量S的初值为17,当前值为-17,则
表示有( )个等待进程。
A.17 B.34 C.35 D.18
17.不需要信号量就能实现的功能是( )。
A.进程同步 B.进程互斥 C.执行的前驱关系 D.进程的并发执行
18.(名校考研真题,单项选择题,1分)在生产者个数为11、消费者个数为8、缓冲区共
享容量为9的生产者-消费者问题中,互斥使用缓冲区的信号量S的初值为( )。
A.11 B.8 C.9 D.1
19.(全国统考真题,单项选择题,2分)下列关于管程的叙述中,错误的是( )。
A.管程只能用于实现进程的互斥 B.管程是有进程语言支持的进程同步机制
C.任何时候只能有一个进程在管程中执行 D.管程中定义的变量只能被管程内的过程访问
20.(全国统考真题,单项选择题,2分)若x是管程内的条件变量,则当进程执行x.wait()
时,所做的工作是( )。
A.实现对变量x的互斥访问
B.唤醒一个在x上阻塞的进程
C.根据x的值判断该进程是否进入阻塞状态
D.阻塞该进程,并将其插入x的阻塞队列中
21.( )是由关于共享资源的数据结构与一组针对该资源的操作过程所构成的软件模块。
A.类程 B.管程 C.程序 D.进程
22.(名校考研真题,单项选择题,3分)( )是一个用于连接一个读进程和一个写进
程以实现它们之间通信的共享文件。
A.共享存储器 B.管道 C.PCB D.索引节点
23.进程PA不断向管道写数据,进程PB从管道读数据并对其进行加工处理。如果采用P、V
126

操作来实现这两个进程之间的通信,则至少需要满足的条件为( )。
A.1个信号量,信号量的初值为0 B.2个信号量,信号量的初值为0、1
C.3个信号量,信号量的初值为0、0、1 D.4个信号量,信号量的初值为0、0、1、1

4.2.2 填空题
计算机操作系统习题与考研真题解析

24.(名校考研真题,填空题,1分)15个进程共享同一个程序段,而每次最多允许4个进
程进入该程序段,若用P、V操作同步机制,则记录型信号量S的取值范围为( )。
25.(名校考研真题,填空题,1分)进程同步机制遵循的准则有:空闲让进、( )、
有限等待、让权等待。
26.(名校考研真题,填空题,1分)旅客乘坐高铁,须顺序经过身份证件查验、安全检
查、检票这3个环节后才能乘车。如果用进程来控制这3个环节,则要设置( )个进程来实
现这3个环节之间的同步。
27.多道程序环境下,进程之间的制约主要有( )和( )两种。
28.在记录型信号量机制中,S.value>0时的值表示( );每次P操作意味着( ),
因此应将S.value( );当S.value( )时,进程应阻塞。

4.2.3 简答题
29.进程之间存在着哪几种制约关系?它们各由什么原因引起?下列活动分别属于哪种制
约关系?
(1)若干位同学去图书馆借书;
(2)两队举行篮球比赛;
(3)流水线生产的各道工序;
(4)商品生产和社会消费。
30.我们为某临界区设置一把锁W,当W=l时,表示锁已关;W=0时表示锁已开。试写出开
锁和关锁原语,并利用它们实现互斥。
31.下述算法是解决2个进程互斥访问临界区的一种方法。试从“互斥”“空闲让进”“有
限等待”这3个方面讨论它的正确性。如果它是正确的,则证明之;反之,请说明理由。
int cl=c2=1;
P1( ){ P2( ){ main( ){
while(1){ while(1){ cobegin
remain section1; remain section2; P1( );
do{ do{ P2( );
c1=1-c2; c2=1-c1; coend
}while(c2==0); }while(c1==0); }
critical section; critical section;
c1=1; c2=1;
} }
} }
32.在生产者-消费者问题中,如果将两个P操作互换位置,即将P(full)和P(mutex)互换
位置,或者将P(empty)和P(mutex)互换位置,后果会如何?如果将两个V操作互换位置,即将
127

V(full)和V(mutex)互换位置,或者将V(empty)和V(mutex)互换位置,则后果又会如何?

4.2.4 综合应用题
33.(全国统考真题,综合应用题,7分)某博物馆最多可容纳500人同时参观,有一个出


入口,该出入口一次仅允许1个人通过。参观者的活动描述如下:
2

部分
cobegin
参观者进程 i:

拓展习题及其参考答案与解析
{

进门 ;

参观 ;

出门 ;

}
coend

请添加必要的信号量和P、V操作或wait()、signal()操作,以实现上述操作过程中的互斥与同
步。要求写出完整的过程,说明信号量的含义并赋初值。
34.(全国统考真题,综合应用题,8分)系统中有多个生产者进程和消费者进程,共享一
个可以存放1000个产品信息的缓冲区(初始为空),当缓冲区未满时,生产者进程可以在其中
放入1个其生产的产品的信息,否则等待;当缓冲区不空时,消费者进程可以在其中取走1个产
品信息,否则等待。要求1个消费者进程从缓冲区连续取走10个产品信息后,其他消费者进程才
可以取产品信息,请用信号量P、V操作或wait()、signal()操作实现进程间的互斥与同步,要求写
出完整的过程,并指出所用信号量的含义和初值。
35.(全国统考真题,综合应用题,9分)有A、B两人通过信箱进行辩论,每个人都从自
己的信箱中取得对方的问题,然后将答案和向对方提出的新问题组成1封邮件放入对方的信箱
中。假设A的信箱最多可放M封邮件,B的信箱最多可放N封邮件。初始时A的信箱中有x封邮件
(0 < x < M),B的信箱有y封邮件(0 < y < N),辩论者每取出1封邮件,邮件数减1。A和B两
人的操作过程描述如下:
cobegin
A{ B{
While(TRUE){ While(TRUE){
从 A 的信箱中取出一个邮件 ; 从 B 的信箱中取出一个邮件 ;
回答问题并提出一个新问题 ; 回答问题并提出一个新问题 ;
将新邮件放入 B 的信箱 ; 将新邮件放入 A 的信箱 ;
} }
} }
coend
128

当信箱不为空时,辩论者才能从信箱中取邮件,否则等待。当信箱不满时,辩论者才能将
新邮件放入信箱,否则等待。请添加必要的信号量和P、V操作或wait()、signal()操作,以实现上
述过程的同步。要求写出完整的过程,并说明信号量的含义和初值。
36.(全国统考真题,综合应用题,8分)某进程中有3个并发执行的线程Thread1、Thread2
和Thread3,它们的伪代码如下所示:
计算机操作系统习题与考研真题解析

// 复数的结构类型定义 Thread1 { Thread3 {


typedef struct { cnum w; cnum w;
float a,b; w=add(x,y); w.a=1;
} cnum; … w.b=1;
cnum x,y,z; // 全局变量 } z=add(z,w);
// 计算两个复数之和 Thread2 { y=add(y,w);
cnum add(cnum p,cnumq) { cnum w; …
cnum s; w = add(y,z); }
s.a=p.a+q.a; …
s.b=p.b+q.b; }
return s;
}

请添加必要的信号量和P、V操作或wait()、signal()操作,要求确保线程互斥地访问临界资
源,并且最大限度地并发执行。
37.(名校考研真题,计算与编程题,8分)有一组相互合作的进程P1、P2、P3、P4、P5、
P6,它们的执行过程须满足图2-4-2所示的同步关系,请使用信号量机制对该组进程进行同步。

P3

P1 P5 P6

P2 P4

图 2-4-2 同步关系图

38.(名校考研真题,算法题,15分)Alice有一个私有信箱mbox,其中最多可以存放N封
邮件。Alice可以从该信箱中读邮件,且每读1封邮件该信箱就会将其自动删除;其他用户都可以
向该信箱发送邮件。请设计Alice 读邮件和其他用户发邮件操作的同步互斥算法。
39.(名校考研真题,算法题,10分)两个进程P1、P2并发执行,并用信号量M1、M2分
别实现对两个互斥共享的资源R1和R2的互斥访问。这两个进程以什么次序执行会导致死锁?在
不影响程序功能的情况下,请修改算法以防止死锁,同时尽可能高地保持资源利用率。
var M1, M2:semaphore=1,1;
begin
parbegin
P1
begin:
wait (M1);
access R1;
129

wait(M2);
access R1 and R2;
signal(M1);
signal(M2);


end
2

部分
P2
begin:

拓展习题及其参考答案与解析
wait(M2);
access R2;
wait(M1);
access R1;
signal(M1);
signal(M2);
end
parend
40.(全国统考真题,综合应用题,8分)有n(n≤3)位哲学家围坐在一张圆桌边,每
位哲学家交替地就餐和思考。在圆桌中心有m(m≥1)个碗,每2位哲学家之间有1根筷子。每
位哲学家必须取到1个碗和两侧的筷子之后才能进餐,进餐完毕后将碗和筷子放回原位,继续
思考。为使尽可能多的哲学家同时就餐,且防止出现死锁现象,请使用信号量的P、V操作或
wait()、signal()操作描述上述过程中的互斥与同步,并说明所用信号量及其初值的含义。
41.(全国统考真题,综合应用题,8分)现有5个操作A、B、C、D、E,操作C必须在操
作A和B完成后执行,操作E必须在操作C和D完成后执行,请使用信号量的P、V操作或wait()、
signal()操作描述上述操作之间的同步关系,并说明所用信号量及其初值。
42.(名校考研真题,综合应用题,12分)某展览馆举行现代画展,展览馆内可以同时接
纳2000人参观,参观者的票分为学生票和普通票,要求①0≤(普通票-学生票)≤400;②展览
馆出入口每次只能有1人进出。请用P、V操作或wait()、signal()操作描述持普通票和持学生票者
进出展览馆的同步互斥过程。

4.3 参考答案与解析

4.3.1 选择题
1.【参考答案】B
【解析】Thread1和Thread2互斥执行对x的共享,因此序列个数为2。
2.【参考答案】D
【解析】将程序A的3条语句编号为A1、A2、A3,将程序B的3条语句编号为B1、B2、B3。
则可以获得以下不同的执行顺序:
(1)A1、A2、A3、B1、B2、B3,执行结果counter=1;
(2)A1、A2、B1、B2、A3、B3,执行结果counter=0;
(3)B1、B2、A1、A2、A3、B3,执行结果 counter=2。
130

3.【参考答案】C
【解析】进程同步是指进程之间以一种直接的协同工作关系并发执行,共同完成一项任
务,这些进程是异步的。
4.【参考答案】D
【解析】算法实现互斥的主要思想在于设置一个turn变量,用于进程间的互相谦让。如果进
程P0试图访问临界资源,f lag[0]=TRUE,则表示希望访问。此时,如果进程P1还未试图访问临
计算机操作系统习题与考研真题解析

界资源,则f lag[1]在进程上一次访问完临界资源并退出临界区后已设置为FALSE。因此进程P0
在执行循环判断条件时,第一个条件不满足,进程P0可以正常进入临界区,且满足互斥条件。
请注意两个进程同时试图访问临界资源的情况。turn变量的含义:进程在试图访问临界资源时,
首先设置自己的f lag变量为TRUE,表示希望访问;但又会设置turn变量为对方的进程编号,表
示谦让,若在turn变量不是进程编号时就循环等待,则两个进程就会互相谦让,由于turn变量会
有一个最终值,因此先做出谦让的进程先进入临界区,后做出谦让的进程则需要循环等待,不
会造成“饥饿”现象。
5.【参考答案】C
【解析】当两个操作的执行顺序不同而导致结果不同时,就必须互斥执行。A选项,进程P1
中两个对a赋值的操作并不影响最终结果,不必互斥执行;B选项,两个赋值操作的执行顺序不
影响a与b的结果,不必互斥执行;C选项,对x进行不同的加法操作,执行顺序不同,最终x的结
果也会不同,必须互斥执行;D选项,两个操作不在同一进程中,互不影响,不必互斥执行。
6.【参考答案】A
【解析】A选项正确,访问不同临界区的两个进程,不要求必须互斥地进入临界区。B选项
中,临界区是访问临界资源的那段程序,而不是包含临界资源的那段数据区。临界区不是用于
进程同步的机制。
7.【参考答案】D
【解析】临界区是代码段、程序段,其特点是访问了临界资源或共享变量。
8.【参考答案】C
【解析】实现让权等待的主要方法是信号量机制。Peterson方法是软件方法,Swap指令和
Test-and-Set指令是硬件指令,没有实现让权等待。
9.【参考答案】C
【解析】实现临界区互斥机制所必须遵循的准则:①空闲让进→Ⅱ;②忙则等待→Ⅰ;
③有限等待→Ⅲ;④让权等待。
10.【参考答案】D
【解析】同步机制遵循的准则是空闲让进、忙则等待、有限等待、让权等待。
11.【参考答案】B
【解析】根据信号量的物理含义:S.value>0表示有S.value个资源可用;S.value=0表示无资
源可用;S.value<0表示等待队列中有S.value的绝对值个进程。信号量的当前值为1,则表示该
资源的可用个数为1,没有等待该资源的进程。
12.【参考答案】C
【解析】S为1(值大于0),说明允许进程访问资源,当前没有阻塞等待的进程。
13.【参考答案】B
【解析】对于记录型信号量,每执行一次P操作,信号量的值都会减1;当信号量的值小于0
时,说明系统中无可用临界资源,进程变为阻塞状态。
131

14.【参考答案】A
【解析】若最多允许2个进程进入互斥段,则初值为2,因为每个进程进入互斥段时都要先
执行P操作,然后判断信号量的值是否大于0,若不是,则表示当前互斥段内已有2个进程,当第
3个进程再执行P操作时,信号量的值为-1,该进程阻塞。
15.【参考答案】F


【解析】信号量S的初值是3,当前值是1,说明目前还有2个P操作的进程未执行V操作。因 2

部分
为S值大于0,所以系统中没有阻塞的进程,可用资源个数为1。

拓展习题及其参考答案与解析
16.【参考答案】A
【解析】在记录型信号量机制中,信号量S的初值表示系统中某类资源的数目,进程请求一
个该类资源要对S执行P操作,当S<0时,表示该类资源已分配完毕,申请资源进程自我阻塞。
此时,S的绝对值表示在该信号量链表中已阻塞进程的数目。
17.【参考答案】D
【解析】在多道程序技术中,信号量机制是一种实现进程同步和互斥的有效工具。进程执
行的前趋关系实质上是指进程的同步关系。进程的并发执行顺序是任意的,可以不需要信号量
来控制。
18.【参考答案】D
【解析】在生产者-消费者问题中,要保证多个生产者和多个消费者之间、生产者之间、消
费者之间互斥地访问缓冲区,因此互斥信号量初值设置为1。
19.【参考答案】A
【解析】管程是指由代表共享资源的数据结构,以及对该数据结构实施操作的一组过程所
组成的资源管理程序。管程不仅用于实现进程的互斥,还用于实现进程的同步。
20.【参考答案】D
【解析】管程内的条件变量类似于信号量机制中的信号量,用于实现进程同步。当进程执
行x.wait()时,该进程因x条件变量而被阻塞,并被插入x的阻塞队列中,释放管程,直到x条件变
量变化。
21.【参考答案】B
【解析】针对利用信号量和P、V操作实现进程间通信的低效问题,引入了管程的概念。管
程就是由共享资源的数据结构及一组针对该资源的操作过程所构成的一个软件模块。
22.【参考答案】B
【解析】管道的本质是实现读进程和写进程之间通信的一个共享文件。
23.【参考答案】C
【解析】用于解决两个进程互斥访问管道的共用信号量,初值为1;用于制约PB从管道读的
私有信号量,初值为0;用于PA写管道的私有信号量,初值也为0(假定进程PA一开始就可以写
管道,但其应申请管道的互斥使用权)。

4.3.2 填空题
24.【参考答案】-11≤S≤4
【解析】每次最多允许4个进程进入该程序段,则信号量S的初值应设置为4,每个进程
执行P操作后,S的值都会减1;最多15个进程,最多执行15次减1操作,因此S的值最小为
4 -15 = -11。
132

25.【参考答案】忙则等待
【解析】进程同步机制遵循的准则有空闲让进、忙则等待、有限等待、让权等待。
26.【参考答案】3
【解析】旅客乘坐高铁,要顺序经过身份证件查验、安全检查、检票这3个环节后才能乘
车,针对其中的每个环节都须设置一个进程进行控制,因此要设置3个进程。
27.【参考答案】直接相互制约关系;间接相互制约关系
计算机操作系统习题与考研真题解析

【解析】多道程序环境下,进程之间的制约主要有直接相互制约关系和间接相互制约关
系。直接相互制约关系是指进程同步,间接相互制约关系是指进程互斥。
28.【参考答案】可用的临界资源数目;申请一个临界资源;减1;小于0
【解析】此题考查的是记录型信号量机制中信号量值的含义和P操作的物理含义。

4.3.3 简答题
29.【参考答案】进程之间存在着直接相互制约和间接相互制约这两种制约关系,其中直
接相互制约(同步)是由进程间的相互合作引起的;而间接相互制约(互斥)则是由进程间共
享临界资源引起的。
(1)若干位同学去图书馆借书是间接相互制约,其中书是临界资源。
(2)两队举行篮球比赛是间接相互制约,其中篮球是临界资源。
(3)流水线生产的各道工序是直接相互制约,各道工序间须相互合作,每道工序的开始都
依赖于前一道工序的完成。
(4)商品生产和社会消费是直接相互制约,两者须相互合作。商品生产出来后才可以被消
费,商品被消费后才须再生产。
30.【参考答案】相应的关锁原语lock(W)和开锁原语unlock(W)可描述为:

lock(W): // 关锁原语 unlock(W): // 开锁原语


while (W==1); // do no-op
W=1; W=0;

利用关锁原语和开锁原语实现进程互斥时,可将临界区CS放在其间,即:

lock(W);
CS;
unlock(W);

31.【参考答案】进程P1、P2通过共享变量c1、c2达到资源互斥使用的目的,其中,c1=1
表示P1不在临界区内,c2=1表示P2不在临界区内。通过检查可知,该算法不能保证进程互斥地
访问临界区。请考虑图2-4-3所示的进程执行顺序。①由于c1、c2的初值都为1,若P1先获得CPU
并申请进入临界区,则它可以进入临界区。在P1进入临界区后,c1=0,c2=1。②此时,若进行
进程调度,由P2获得CPU,而P2也试图进入临界区,则执行完c2=1-cl后,c1=0,c2=1。③此
时,若又发生CPU调度,令Pl重新获得CPU,并在其退出临界区后执行c1=1,则c1=1,c2=1。
④若再次进行CPU调度,由P2获得CPU,则因c1=1,P2进入临界区,故此时c1=1,c2=1。⑤若
再次进行CPU调度并由Pl获得CPU,则当P1申请进入临界区时,由于c2=1,P1将顺利进入临界
区。可见,在这种情况下,P1和P2将同时进入临界区。
133

进程P2:
进程P1:
while(1){
while(1){
remain section2;
remain section1;
⑤ c1=0,c2=1 do { ② c1=0,c2=1
do {


① c1=0,c2=1 c2=1-c1;
c1=1-c2;
}while(c1==0); 2

部分
}while(c2==0); ④ c1=1,c2=1
critical section;
critical section;

拓展习题及其参考答案与解析
c2 =1;
c1 =1; ③ c1=1,c2=1
}
}

图 2-4-3 两个进程的执行顺序

32.【参考答案】在生产者-消费者问题中,如果将两个P操作互换位置,即将P(full)和
P(mutex)或者P(empty)和P(mutex)互换位置,则可能会引起死锁。比如,当缓冲区全满时,若某
个生产者进程先执行了P(mutex)操作并获得成功,则其当再执行P(empty)操作时将因没有空缓冲
区而阻塞,此时需要消费者执行V(empty)操作来唤醒它。这时,阻塞的生产者进程因不能执行
V(mutex)操作而释放临界资源,导致其他通过P(mutex)操作申请进入临界区的生产者进程或消费
者进程全部进入阻塞状态,从而引起死锁。类似地,消费者进程若先执行P(mutex)操作,后执
行P(full)操作,同样可能引起死锁。V(full)和V(mutex)互换位置或者V(empty)和V(mutex)互换位
置,由于只是改变了临界资源的释放次序,因此不会引起死锁。

4.3.4 综合应用题
33.【参考答案】定义两个信号量。
semaphore empty = 500; // 博物馆可以容纳的最多人数
semaphore mutex = 1; // 用于出入资源的控制
cobegin
参观者进程 i :{

P(empty);
P(mutex);
进门 ;
V(mutex);
参观 ;
P(mutex);
出门 ;
V(mutex);
V(empty);

}
coend
34.【参考答案】生产者之间设互斥信号量mutex1,消费者之间设互斥信号量mutex2。上
述进程的同步问题,要设置3个信号量。其中empty对应空闲的缓冲单元,初值为1000;full对应
缓冲区中待取走的产品信息数,初值为0;另外,还须定义2个整型变量in和out,初值均为0,分
别指示下一个可存放产品信息的缓冲单元和下一个可取走产品信息的缓冲单元。过程如下:
134

buffer array [1000]; // 用于存放产品信息的缓冲区


buffer nextp; // 用于临时存放生产者生产的产品信息
buffer nextc [10]; // 用于临时存放消费者取出的产品信息
semaphore empty=1000; // 空缓冲区的数目
semaphore full=0; // 满缓冲区的数目
semaphore mutex1=1; // 用于生产者与消费者之间的互斥
计算机操作系统习题与考研真题解析

semaphore mutex2=1; // 用于消费者之间的互斥


int in=0; // 指示生产者的存位置
int out=0; // 指示消费者的取位置
cobegin
Producer( ) // 生产者进程
{
Produce an item put in nextp; // 生产一个产品信息,存在临时缓冲区中
P(empty); // 申请一个空缓冲区
P(mutex1); // 生产者申请使用缓冲区
array[in]=nextp; // 将产品信息存入缓冲区
in=(in+1)%1000; // 指针后移
V(mutex1); // 生产者缓冲区使用完毕,释放互斥信号量
V(full); // 增加一个满缓冲区
}
Consumer( ) // 消费者进程
{
P(mutex2); // 消费者申请使用缓冲区
for(int i = 0;i<10;i++) // 一个消费者进程须从缓冲区连续取走 10 个产品信息
{
P(full); // 申请一个满缓冲区
P(mutex1);
nextc[i]=array[out]; // 将产品信息取出,存在临时缓冲区中
out=(out+1)%1000; // 指针后移
V(mutex1);
V(empty); // 增加一个空缓冲区
}
V(mutex2); // 消费者缓冲区使用完毕,释放互斥信号量
Consume the items in nextc; // 消费掉这 10 个产品信息
}
coend
35.【参考答案】完整的过程描述如下:
semaphore Now_A=x; // Now_A 代表信箱 A 中当前的邮件数量
semaphore Else_A=M-x; // Else_A 代表信箱 A 中还可以存放的邮件数量
semaphore Now_B=y; // Now_B 代表信箱 B 中当前的邮件数量
semaphore Else_B=N-y; // Else_B 代表信箱 B 中还可以存放的邮件数量
semaphore mutex_A=1; // mutex_A 作为信箱 A 的互斥条件
semaphore mutex_B=1; // mutex_B 作为信箱 B 的互斥条件
135

cobegin
A{    B{
while( TRUE){    while(TRUE){
P(Now_A);    P(Now_B);
P(mutex_A);    P(mutex_B);


从A的信箱中取出一个邮件;    从 B 的信箱中取出一个邮件 ; 2

部分
V(mutex_A);    V(mutex_B);

拓展习题及其参考答案与解析
V(Else_A);    V (Else_B);
回答问题并提出一个新问题;    回答问题并提出一个新问题 ;
P(Else_B);    P(Else_A);
P(mutex_B);    P(mutex_A);
将新邮件放入 B 的信箱 ;    将新邮件放入 A 的信箱 ;
V(mutex_B);    V(mutex_A);
V(Now_B);    V(Now_A) ;
}    }
}    }
   coend

36.【参考答案】用3个信号量进行实现,可实现3个线程最大程度地并发执行。
semaphore mutex_y1=1; Thread2{ Thread3{
semaphore mutex_y2=1; cnum w; cnum w;
semaphore mutex_z=1; P(mutex_y2); w.a=1;
Thread1{ P(mutex_z); w.b=1;
cnum w; w=add(y, z); P(mutex_z);
P(mutex_y1); V(mutex_y2); z=add(z, w);
w=add(x, y); V(mutex_z); V(mutex_z);
V(mutex_y1); … P(mutex_y1);
… } P(mutex_y2);
} y=add(y, w);
V(mutex_y1);
V(mutex_y2);

}
37.【参考答案】首先,为了保证P1→P2、P1→P3的前趋关系,要引入2个信号量a、
b。同样,为了保证P2→P4、P4→P5、P3→P5、P5→P6的前趋关系,要引入c、d、e、f这4个
信号量。
semaphore a=0,b=0,c=0,d=0,e=0,f=0;
cobegin{
{P1;signal(a);signal(b);}
{wait(a);P2;signal(c);}
{wait(b);P3;signal(e);}
{wait(c);P4;signal(d); }
136

{wait(d); wait(e);P5; signal(r);}


{wait(f);P6;}
coend
}
38.【参考答案】题目原型为读者-写者问题。
计算机操作系统习题与考研真题解析

semaphore mutex=1,empty=N,mailcount=0;
cobegin
Sender( ){ // 发邮件
do{
wait(empty); // 给 Alice 发邮件之前先看信箱是否已满,如果满了就得等
wait(mutex); // 等信号量,每个时刻最多只能有一个人操作信箱
写邮件 ;
signal(mutex); // 释放互斥信号
signal(mailcount); // 来邮件后,Alice 的信箱里多一封邮件
}while(TRUE);
}
Reader( ){ // 读邮件
do{
wait(mailcount); // 若有邮件,则申请互斥信号量,并去读邮件
wait(mutex); // 申请互斥信号量
读邮件 ;
signal(empty);
signal(mutex);
}while(TRUE);
}
coend
39.【参考答案】本题分步解答如下。
(1)当进程P1执行了wait(M1),再执行wait(M2)未成功的情况下,若进程P2成功执行了
wait(M2)操作,则会出现P1因等待M2而阻塞,P2因等待M1而阻塞的情况,进而引发死锁。
(2)解除死锁的方法之一:先让两个进程去争抢M1,抢到M1的进程才让它抢M2。这样保
证了P1、P2两个进程不论谁先抢到M1,都可以得到M2而顺利运行。
semaphore M1=1, M2 =1;
cobegin
P1( ){ P2( ) {
wait (M1); wait(M1);
acess R1; wait(M2);
wait(M2); access R2;
access R1 and R2; access R1;
signal(M1); signal(M1);
signal(M2); signal(M2);
} }
coend
137

40.【参考答案】
semaphore bowl; // 用于协调哲学家对碗的使用
semaphore chopsticks[n]; // 用于协调哲学家对筷子的使用
for(int i=0 ;i<n ;i++)
chopsticks[i].value=1; // 设置两个哲学家之间筷子的数量


bowl.value=m; // 碗的数量,初值为 m 2

部分
pi( ){ // 哲学家 i 的程序

拓展习题及其参考答案与解析
do{
思考 ;
P(bowl); // 取碗
P(chopsticks[i]); // 取左边筷子
P(chopsticks[(i+l)MOD n]); // 取右边筷子
就餐 ;
V(chopsticks[i]);
V(chopsticks[(i+1)MOD n]);
V(bowl);
} while(TRUE);
}
41.【参考答案】本题要求实现操作的先后顺序,属于同步问题。分别为A、B、C、D、E
这5个操作设置对应的同步信号量a、b、c、d,它们的初值均为0。
A( ){ B( ){ C( ){ //C 必须在完成 A、B 后执行
完成操作 A; 完成操作 B; P(a);
V(a); V(b); P(b);
} } 完成操作 C;
V(c);
}
D( ){ E( ){ //E 必须在完成 C、D 后执行
完成操作 D; P(c);
V(d); P(d);
} 完成操作 E;
}
42.【参考答案】将要求①所示不等式拆成2个不等式:(普通票-学生票)≤400;(学生
票-普通票)≤0。由这2个不等式表明:展览馆内普通票可能比学生票多,但其不能超过400
张;学生票不能比普通票多,具体分析如下。
(1)如果只让持普通票的参观者进入展览馆,而不让持学生票的参观者进入展览馆的话,
则最多只能让400个持普通票的参观者进入,发生阻塞。因此,设信号量P,其初值为400。
(2)持学生票的参观者不能比持普通票的参观者多,如果没有持普通票的参观者进入展览
馆的话,则持学生票的参观者不能进入展览馆。因此,设信号量S,其初值为0。
(3)展览馆中每进入1个持普通票的参观者,可进入的持学生票的参观者就会多1人。同
理,展览馆中每进入1个持学生票的参观者,可进入的持普通票的参观者也就会多1人。
根据上述分析,可将进程描述为:
138

semaphore total=2000; // 可容纳的参观者总人数


semaphore p=400; // 普通票
semaphore s=0; // 学生票
semaphore mutex=1; // 展览馆出入口每次只允许一人进出
cobegin
putongpiao( ){ // 持普通票进程
计算机操作系统习题与考研真题解析

while(TURE) {
P(total); // 展览馆参观者进入人数减 1
P(p); // 持普通票的参观者进入 1 人
P(mutex);
进入展览馆 ;
V(mutex);
V(s); // 持学生票的参观者进入人数加 1
参观展览馆 ;
P(mutex);
退出展览馆 ;
V(mutex);
V(p); // 展览馆参观者进入人数加 1
P(s); // 持学生票的参观者进入人数减 1
}
}
xueshengpiao( ){ // 持学生票进程
while(TRUE){
P(total); // 展览馆参观者进入人数减 1
P(s); // 持学生票的参观者进入 1 人
P(mutex);
进入展览馆 ;
V(mutex);
V(p); // 持学生票的参观者退出 1 人
V(total); // 展览馆参观者进入人数加 1
P(p); // 持普通票的参观者进入人数减 1
}
}
coend

第5章 存储器管理
本章主要讲述存储器管理的基本概念和存储器的各种管理方式,具体包括存储器的层次结
构,程序的装入和链接,以及分区式、页式、段式、段页式存储管理等内容。
本章学习目标如下。
(1)理解存储器管理的概念;掌握程序的装入方式与链接方式。
(2)掌握连续分区存储管理的方式,理解并掌握单一连续分配、固定分区分配、动态分区
139

分配、动态重定位分区分配等分配方式的实现思想以及相关的算法。
(3)掌握分页存储管理方式的思想,理解分页的相关概念以及分页存储管理中地址转换机
构的工作原理。
(4)掌握分段存储管理方式的思想,理解分段的相关概念以及分段存储管理中地址转换机
构的工作原理。


(5)了解段页式存储管理方式。 2

部分
拓展习题及其参考答案与解析
5.1 知识导图
根据本章重要知识点而总结的知识导图如图2-5-1所示。

寄存器
第 5 章复习指导

高速缓存

内存
存储器的层次结构
磁盘缓存

固定磁盘

可移动存储介质

编译 静态链接

链接 装入时动态链接
存储器管理

程序处理 运行时动态链接

绝对装入

装入 可重定位装入

动态运行时装入
首次适应算法:空闲分区地址递增
单一连续分配
循环首次适应算法:循环查找

连续分配 固定分区分配
最佳适应算法:空闲分区容量递增

动态分区分配
最坏适应算法:空闲分区容量递减

动态重定位分区分配
内存分配
分页存储管理:有内碎片

离散分配 分段存储管理:有外碎片

段页式存储管理:有内碎片

图 2-5-1 存储器管理知识导图
140

5.2 拓展习题

5.2.1 选择题
1.(名校考研真题,单项选择题,3分)在程序运行前,先将一个程序的所有模块以及所
计算机操作系统习题与考研真题解析

需的库函数链接成一个完成的装配模块,这种链接方式称为( )。
A.静态链接 B.装入时动态链接 C.可重定位链接 D.运行时动态链接
2.(名校考研真题,单项选择题,2分)关于程序链接,下列说法正确的是( )。
A.根据目标模块大小和链接次序对相对地址进行修改
B.根据装入位置把目标模块中的相对地址转换为绝对地址
C.把每个目标模块中的相对地址转换为外部调用符号
D.采用静态链接方式更有利于目标模块的共享
3.(名校考研真题,单项选择题,2分)在多道程序环境中,用户程序的相对地址与装入
内存后的实际物理地址不同,把相对地址转换为物理地址,这是OS的( )功能。
A.进程调度 B.设备管理
C.地址重定位 D.资源管理
4.(名校考研真题,单项选择题,3分)对换技术的主要作用是( )。
A.将内存碎片合并为大的空闲空间 B.提高内存利用率
C.减少查找空闲分区的时间 D.提高外部设备利用率
5.(全国统考真题,单项选择题,2分)分区分配内存管理方式的主要保护措施是( )。
A.界地址保护 B.程序代码保护
C.数据保护 D.栈保护
6.(名校考研真题,单项选择题,1分)在适合多道程序运行的分区存储管理系统中,存
储保护是为了( )。
A.防止多道作业占用同一处理机 B.防止各道作业相互干扰
C.防止一道作业占用多个分区 D.防止作业非法访问磁盘文件
7.(名校考研真题,单项选择题,2分)分区管理要求对每个作业都分配( )的内存
单元。
A.地址连续 B.若干地址不连续
C.若干连续的帧 D.若干不连续的帧
8.(名校考研真题,单项选择题,1分)不是基于顺序搜索的动态分区分配算法是( )。
A.首次适应算法 B.循环首次适应算法
C.最坏适应算法 D.快速适应算法
9.(全国统考真题,单项选择题,2分)某基于动态分区存储管理的计算机,其内存容量
为55MB(初始为空闲),采用最佳适应算法,分配和释放的顺序为:分配15MB,分配30MB,
释放15MB,分配8MB,分配6MB。此时,内存中的最大空闲分区的大小是( )。
A.7MB B.9MB C.10MB D.15MB
10.(全国统考真题,单项选择题,2分)某计算机按字节编址,其动态分区存储管理采
用最佳适应算法,每次分配和回收内存后都对空闲分区链重新排序。当前的空闲分区信息如
表2-5-1所示。
141

表2-5-1 空闲分区信息
分区起始地址 分区大小 分区起始地址 分区大小
20K 40KB 1000K 100KB
500K 80KB 200K 200KB


回收起始地址为60K、大小为140KB的分区后,系统中空闲分区链第1个分区的起始地址和 2

部分
大小分别是( )。
A.20K、380KB B.500K、80KB

拓展习题及其参考答案与解析
C.20K、180KB D.500K、180KB
11.(名校考研真题,单项选择题,1分)在可变分区分配方案中,当某一作业完成、系统
回收其内存空间时,回收分区可能存在与相邻空闲分区合并的情况,为此须修改空闲分区表。
其中,造成空闲分区数减1的情况是( )。
A.既无上邻空闲分区,又无下邻空闲分区
B.虽无上邻空闲分区,但有下邻空闲分区
C.虽有上邻空闲分区,但无下邻空闲分区
D.既有上邻空闲分区,又有下邻空闲分区
12.(名校考研真题,单项选择题,3分)采用动态分区算法回收内存时,如果回收分区仅
与空闲分区链插入点的前一个分区相邻接,那么需要在空闲分区表中( )。
A.增加一个新表项 B.修改前一个分区表项的大小
C.修改前一个分区表项的起始地址 D.修改前一个分区表项的大小和起始地址
13.(名校考研真题,单项选择题,1分)可重定位内存的分区分配目的是( )。
A.解决碎片问题 B.便于多作业共享内存
C.便于用户干预 D.便于回收空白分区
14.(名校考研真题,单项选择题,1分)采用分页存储管理方式进行存储分配时产生的存
储碎片,被称为( )。
A.外部碎片 B.内部碎片
C.外部碎片或内部碎片 D.A、B、C都正确
15.(名校考研真题,单项选择题,2分)分页存储管理中的存储保护是通过( )完成的。
A.快表 B.存储键 C.索引动态重定位 D.页表
16.(名校考研真题,单项选择题,2分)在分页存储管理系统中,页表内容如表2-5-2所示
(均从0开始编号)。

表2-5-2 页表
页号 块号 页号 块号
0 2 3 3
1 1 4 7
2 6 — —

若页面大小为4KB,则地址转换机构将逻辑地址0转换成物理地址为( )。
A.8192 B.4096 C.2048 D.1024
17.(全国统考真题,单项选择题,2分)某计算机采用二级分页存储管理方式,按字节编
址,页大小为210B,页表项大小为2B,逻辑地址结构为:
142

页目录号 页号 页内偏移量

逻辑地址空间大小为216页,则表示整个逻辑地址空间的页目录表中所包含的表项个数至少
是( )。
A.64 B.128 C.256 D.512
18.(全国统考真题,单项选择题,2分)某计算机内存按字节编址,采用二级分页存储管
计算机操作系统习题与考研真题解析

理方式,地址结构为:

页目录号(10位) 页号(10位) 页内偏移(12位)

虚拟地址2050 1225H对应的页目录号和页号分别是( )。
A.081H、101H B.081H、401H
C.201H、101H D.201H、401H
19.(全国统考真题,单项选择题,2分)下列选项中,属于多级页表的优点的是( )。
A.加快地址转换速度 B.减少缺页中断次数
C.减少页表项所占字节数 D.减小页表所占的连续内存空间
20.(名校考研真题,单项选择题,2分)在分段管理中,( )。
A.以段为单位进行分配,每个段都是一个连续存储区
B.段与段之间必定不连续
C.段与段之间必定连续
D.每个段都是等长的
21.(全国统考真题,单项选择题,2分)针对一个分段存储管理系统,若其地址长度为32
位,其中段号占8位,则段长最大是( )。
8 16
A.2 B B.2 B C.224B D.232B
22.(名校考研真题,单项选择题,1分)在分段存储管理系统中,碎片处理问题可采用
( )进行解决。
A.拼接技术 B.SPOOLing技术 C.覆盖技术 D.对换技术
23.(全国统考真题,单项选择题,2分)某进程的段表内容如表2-5-3所示。

表2-5-3 段表
段号 段长 内存起始地址 权限 状态
0 100 6000 只读 在内存
1 200 — 读/写 不在内存
2 300 4000 读/写 在内存

当访问段号为2、段内地址为400的逻辑地址时,地址转换的结果是( )。
A.段缺失异常 B.得到内存地址4400
C.越权异常 D.越界异常
24.(名校考研真题,单项选择题,1分)采用( )不会产生内部碎片。
A.分页存储管理 B.分段存储管理
C.随机存储管理 D.段页式存储管理
25.(名校考研真题,单项选择题,2分)在内存管理中,内存利用率高且保护和共享容易
的是( )方式。
A.分区存储管理 B.分页存储管理 C.分段存储管理 D.段页式存储管理
143

5.2.2 填空题
26.(名校考研真题,填空题,1分)OS将一组目标模块链接起来形成装入模块的方式有3
种,分别是静态链接、装入时动态链接和( )。
27.(名校考研真题,填空题,1分)OS将程序装入内存的方式有3种,分别是绝对装入、


可重定位装入和( )。 2

部分
28.(名校考研真题,填空题,1分)分页存储管理系统具有快表,内存访问时间为2μs,检索

拓展习题及其参考答案与解析
快表时间为0.5μs。若快表的命中率为80%,且忽略快表更新时间,则有效访问时间是( )μs。
29.在具有二级页表的分页存储管理系统中,CPU每次要存取一个数据时,必须访问( )
次内存。
30.在某段式存储管理系统中,地址长度为32位,若允许的最大段长为64KB,则段号占
( )位。
31.(名校考研真题,填空题,1分)在段页式存储管理系统中,若不考虑快表,则为了获
得1条指令或数据,至少须访问( )次内存。
32.(名校考研真题,填空题,2分)在段页式存储管理系统中,面向( )的地址空间
划分是段式划分,面向( )的地址空间划分是页式划分。

5.2.3 简答题
33.采用可变分区方式管理内存时,引入紧凑技术有什么优点?在采用紧凑技术时应注意
哪些问题?
34.(名校考研真题,简答题,10分)在主流微机中,分页存储管理系统中页面的大小通
常设定为1KB、2KB、4KB等。如果页面设置为更大或更小,则会带来哪些好处和问题?
35.(名校考研真题,简答题,6分)在分页存储管理系统中,页表的主要作用是什么?现
代大多数计算机系统都支持非常大的逻辑地址空间(232~264),这给页表设计带来了怎样的新
问题?应如何解决?
36.(名校考研真题,简答题,5分)比较分段和分页这两种存储管理方式的不同。
37.为什么分段技术比分页技术更易实现程序或数据的共享与保护?
38.(名校考研真题,简答题,4分)在分区、分页、分段和段页式存储管理系统中,为什
么说段页式存储管理系统的时间开销和空间开销最大?

5.2.4 综合应用题
39.(全国统考真题,综合应用题,9分)某计算机系统按字节编址,采用二级页表的分页
存储管理方式,虚拟地址格式如下。

10位 10位 12位


页目录号 页表索引 页内偏移量

请回答下列问题:
(1)页和页框的大小各为多少字节?进程的虚拟地址空间大小为多少页?
(2)假定页目录项和页表项均占4B,则进程的页目录和页表共占多少页?要求写出计算
过程。
(3)若在某指令周期内访问的虚拟地址为0100 0000H和0111 2048H,则进行地址转换时共
144

应访问多少个二级页表?要求说明理由。
40.(名校考研真题,综合应用题,8分)一个OS采用分段存储管理方式,支持的最大段长
为64KB,一个进程的段表如表2-5-4所示(十进制)。请问:逻辑地址0x47FD5H对应的物理地
址是多少?逻辑地址0x003FFH对应的物理地址是多少?

表2-5-4 段表
计算机操作系统习题与考研真题解析

段号 段长 段起始地址

0 512 80K

1 20K 50K

2 12K 81K

3 3K 96K

4 32K 10K

41.(全国统考真题,综合应用题,9分)某计算机主机按字节编址,逻辑地址和物理地址
都是32位,页表项大小为4B。请回答下列问题。
(1)若使用一级页表的分页存储管理方式,逻辑地址结构如下:

页号(20位) 页内偏移量(12位)

则页的大小是多少字节?页表最大占用多少字节?
(2)若使用二级页表的分页存储管理方式,逻辑地址结构如下:

页目录号(10位) 页表索引(10位) 页内偏移量(12位)

设逻辑地址为LA,请分别给出其对应的页目录号和页表索引的表达式。
(3)采用(1)中的分页存储管理方式,一个代码段的起始逻辑地址为0000 8000H,其长
度为8KB,被装载到从起始物理地址为0090 0000H的连续内存空间中。页表从内存0020 0000H
开始的物理地址处连续存放,如图2-5-2所示(地址大小自下向上递增)。请计算出该代码段对
应的2个页表项的物理地址,以及这2个页表项中的页框号和代码页面2的起始物理地址。

页表 代码页面2
物理地址3

物理地址2 页框号2
代码页面1
物理地址1 页框号1
0090 0000H
0020 0000H

图 2-5-2 页表 / 页面映射图

42.(名校考研真题,综合应用题,8分)假设当前在处理机上执行的进程页表如表2-5-5
所示。其中所有数字均为十进制数,从0开始计数,地址都是存储器字节地址,页的大小为
1024B。
(1)正确描述出虚拟地址转换为物理地址的过程。
(2)下列虚地址分别对应的物理地址是多少(缺页时暂不处理)?
① 1052;②2221;③5499。
145

表2-5-5 页表
虚页号 有效位 访问位 修改位 块号
0 1 1 0 4
1 1 1 1 7
2 0 0 0 —


3 1 0 0 2
2

部分
4 0 0 0 —
5 1 0 1 0

拓展习题及其参考答案与解析
5.3 参考答案与解析

5.3.1 选择题
1.【参考答案】A
【解析】静态链接是指在程序运行之前,先将各目标模块及它们所需的库函数链接成一个
完整的装入模块,以后不再拆开。装入时动态链接是指将用户源程序编译后所得到的一组目标
模块,在装入内存时,采用边装入边链接的链接方式。运行时动态链接是指在程序执行过程
中,当需要用到某目标模块时,再对其进行链接。可重定位链接是指在多道程序环境下,根据
内存的当前情况,将装入模块装入内存的适当位置。
2.【参考答案】A
【解析】链接程序将编译后形成的目标模块和所需的库函数链接在一起,组成装入模块,
再由装入程序将装入模块装入内存。在进行程序链接时,应完成对相对地址的修改和外部调用
符号到相对地址的转换。
3.【参考答案】C
【解析】地址重定位功能是指将用户程序的相对地址(逻辑地址)转换为绝对地址(物理
地址)。
4.【参考答案】B
【解析】对换是指把内存中暂时不能运行的进程或者暂时不用的程序和数据调出到外存,
以腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据调入内存。对
换是提高内存利用率的有效措施。
5.【参考答案】A
【解析】分区分配存储管理方式的保护措施是设置界地址寄存器。每个进程都有自己独立
的进程空间,如果一个进程在运行时所产生的地址在其地址空间之外,则发生地址越界。当程
序要访问某个内存单元时,由硬件检查是否允许,如果允许则执行,否则产生地址越界中断,
由OS进行相应处理。
6.【参考答案】B
【解析】在多道程序系统中,内存中既有OS,又有许多用户程序,为使系统正常运行,避
免内存中各程序相互干扰,必须从防止地址越界和防止操作越权这两个方面对内存中的程序和
数据进行保护。
7.【参考答案】A
【解析】分区分配方式属于连续分配管理方式,分为固定分区分配和动态分区分配,这两
种分区分配方式都会为每个作业分配地址连续的内存单元。
146

8.【参考答案】D
【解析】快速适应算法是一种基于索引搜索的动态分区分配算法。
9.【参考答案】B
【解析】初始内存容量为55MB(空闲空间),分配过程为:①分配15MB以后还有55MB-
15MB=40MB;②分配30MB以后还有40MB-30MB=10MB;③释放15MB以后有2个空闲分区
15MB和10MB;④分配8MB,由于采用最佳分配算法,故应选择10MB空闲分区进行分配,
计算机操作系统习题与考研真题解析

10MB-8MB=2MB,因此空闲分区为15MB和2MB;⑤分配6MB,空闲分区为15MB-6MB=9MB
和2MB,所以B正确。
10.【参考答案】B
【解析】回收起始地址为60K、大小为140KB的分区后,令其与起始地址为20K和起始地址
为200K的这2个分区合并成一个起始地址为20K、大小为380KB的分区,重新排序后其会移至最
后。因此,第1个分区的起始地址和大小就会变为500K和80KB。
11.【参考答案】D
【解析】A中,既没有上邻空闲分区,也没有下邻空闲分区,因此系统回收的时候要增加1
个空闭分区。B中,回收的分区无上邻空闲分区,但是有下邻空闲分区,将回收分区合并到下邻
分区中,因此要修改空闲分区的起始地址为回收分区地址,大小为空闲分区之和,空闲分区数
目不变。C中,回收分区有上邻空闲分区,但无下邻空闲分区,那么上邻空闲分区的起始地址不
变,新的分区大小是上邻空闲分区和回收分区大小之和,空闲分区数目没有发生变化。D中,回
收分区有上/下邻空闲分区,回收该分区时,将上/下邻空闲分区和回收分区合并在一起,起始地
址为上邻空闲分区的起始地址,大小为3个分区之和。
12.【参考答案】B
【解析】当进程运行完毕并释放内存时,系统根据回收分区的起始地址,从空闲分区链中
找到相应的插入点,此时可能出现以下4种情况之一:
①回收分区与插入点的前一个分区F1相邻接,这就是B选项,只须修改前一个分区表项的大
小,把回收分区的大小加进去即可;
②回收分区与插入点的后一个分区F2相邻接,此种方案我们认为也须修改分区表项的起始
地址(如果回收分区处于低地址的话),并修改表项的大小;
③回收分区同时与插入点的前、后两个分区相邻接,对应D选项;
④回收分区既不与F1邻接,又不与F2邻接,这时需要新建表项,对应A选项。
13.【参考答案】A
【解析】为了解决碎片问题,首先采用紧凑技术移动内存中的所有作业,使它们相邻;然后
采用动态重定位方法实现作业移动后内存地址的重定位,因此动态重定位用于解决碎片问题。
14.【参考答案】B
【解析】分页存储管理方式将内存分成大小相等的若干块,可能最后一个页面的大小不足1
页,但也要分配一个物理块,此时出现的碎片称为内部碎片。
15.【参考答案】C
【解析】存储保护可采用两种方法实现:①在CPU中设置一对上限和下限寄存器,存放用
户作业在内存中的上限和下限地址,并判断每个地址有无越界;②采用重定位寄存器和界地址
寄存器来实现存储保护。
16.【参考答案】A
【解析】逻辑地址0,对应的页号为0,查页表可知块号为2,物理地址为2×4K=8K=8192。
147

17.【参考答案】B
【解析】页大小为210B,页表项大小为2B,采用二级页表,1页可存放210/2=29个页表项,逻
辑地址空间大小为216个页,要使表示整个逻辑地址空间的页目录表中包含的表项个数最少,则
需要216/29=27=128个页面来保存页表项,即页目录表中包含表项的个数最少为128。
18.【参考答案】A


【解析】根据地址结构转化而给出的虚地址的二进制数为: 2

部分
0010 0000 0101 0000 0001 0010 0010 0101

拓展习题及其参考答案与解析
其中,低址开始的0~11位为页内偏移,即0010 0010 0101;12~21位为页号,即01 0000 0001
=101H;其余高址部分为页目录号,即00 1000 0001=081H。
19.【参考答案】D
【解析】采用多级页表会增加查页表的时间,减慢地址转换速度。如果在访问过程中多级
页表都不在内存中,则会增加缺页中断次数。多级页表能够减少页表所占的连续内存空间,但
不会减少页表项所占字节数。
20.【参考答案】A
【解析】分段存储管理方式是以段为单位来划分和连续存放的,为作业的每段分配一个连
续存储区,而段与段之间不一定连续;每段不一定等长。
21.【参考答案】C
【解析】段地址为32位二进制数,其中,8位表示段号,段内偏移量占用32-8=24位,故最
大段长为224B。
22.【参考答案】A
【解析】在连续分配方式中,要为装入程序分配连续的内存空间。如果在系统中有多个小
的分区,则即使它们的容量总和大于要装入的程序,也无法把该程序装入内存。可采用紧凑技
术(即移动内存中的所有作业)使它们相邻接,这样就可以把分散的多个小分区拼接成一个大
分区,实现作业装入。对换技术,是指把内存中暂时不能运行的进程或者暂时不用的程序和数
据调出到外存,腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据
调入内存。SPOOLing技术是为了缓和CPU与I/O设备间速度不匹配的矛盾而被引入的。
23.【参考答案】D
【解析】段号为2的段,其段长为300,所给逻辑地址的段内地址400超过了本段的段长
300,故会发生越界。
24.【参考答案】B
【解析】在分页存储管理方式中,最后1个页面往往会出现装不满的情况,进而即会产生内
部碎片。只有分段存储管理方式不会产生内部碎片。
25.【参考答案】D
【解析】分页存储管理方式的优点是能很好地解决内存的外部碎片问题,内存利用率高;
分段存储管理方式的优点是便于实现、分段可共享、便于保护、可动态链接等;段页式存储管
理方式结合了上述两种管理方式的优点。

5.3.2 填空题
26.【参考答案】运行时动态链接
【解析】根据进行链接的时间不同,可将链接分为3种:静态链接、装入时动态链接和运行
时动态链接。
148

27.【参考答案】动态运行时装入
【解析】OS将程序装入内存的方式共有3种,分别是绝对装入、可重定位装入和动态运行时
装入。
28.【参考答案】2.9μs
【解析】在引入快表的分页存储管理系统中,有效访问时间的计算公式为:
EAT = a × λ +(t + λ)×(1-a)+ t = 2t + λ - t × a
计算机操作系统习题与考研真题解析

其中,t为内存访问时间,t = 2μs;λ为检索快表的时间,λ = 0.5μs;a为快表的命中率,a =


80%。将这些数据代入上式,可得有效访问时间EAT = 2.9μs。
29.【参考答案】3
【解析】在二级页表中,CPU存取一个数据要访问3次内存:第1次获得一级页表,第2次获
得二级页表,第3次存取数据。
30.【参考答案】16
【解析】分段地址结构由段号和段内地址组成,由于允许的最大段长是64KB=216B,因此段
内地址占16位,段号占32-16=16位。
31.【参考答案】3
【解析】在段页式存储管理方式中,获得1条指令或数据,至少须访问内存3次:第1次是访
问段表,获得页表起始地址;第2次是访问页表,获得该页所在的物理块号,并将该物理块号与
页内地址共同构成指令或数据的物理地址;第3次访问是真正地访问数据。
32.【参考答案】用户;物理实现
【解析】在段页式存储管理系统中,利用段表和页表进行逻辑地址空间到物理地址空间的
映射。面向用户的地址空间划分是段式划分,面向物理实现的地址空间划分是页式划分。

5.3.3 简答题
33.【参考答案】①在可变分区管理方式下,内存中会存在多个空闲小分区而无法满足大
程序的空间需求的情况。此时,可以利用紧凑技术将内存中的作业移到一起,把多个空闲小分
区合并成一个大分区以满足大程序的空间需求。②引入紧凑后,内存中被移动作业的程序和数
据的地址发生了变化,为保证程序的正确运行,要对地址进行重定位。
34.【参考答案】页面大,页数少,页表项少,节省页表空间,查找快,缺页中断发生的
次数相对较少,但换页的时间会增长,页内碎片较大。页面变小,将会减少内部碎片所造成的
浪费,进程调页的速度也比较快,但缺页中断产生的次数相对较多。
35.【参考答案】页表的主要作用是实现从页号到物理块号的地址映射。为了便于在内存
中快速找到每个页面对应的物理块号,系统为每个进程都建立了一张页表,页表中记录着相应
页在内存中所对应的物理块号,页表通常保存在内存中。
现代大多数计算机系统都支持非常大的逻辑地址空间,在这种情况下,页表会变得非常
大,占用较大内存空间。可以采用以下方法解决这一问题:①采用离散分配方式,即采用二级
页表或多级页表;②部分调入内存,即只将当前需要的部分页表项调入内存,其余的页表项仍
驻留在磁盘上,需要时再调入。
36.【参考答案】分页和分段有许多相似之处,比如两者都采用离散分配方式,且都是通
过地址映射机构来实现地址转换的。但在概念上两者完全不同,主要表现在3个方面。
(1)页是信息的物理单位。采用分页存储管理方式是为了实现离散分配方式,以消减内存
149

的外部碎片,提高内存的利用率,即满足系统管理的需要;而段是信息的逻辑单位,它通常包
含一组意义相对完整的信息,目的是更好地满足用户的需要。
(2)页的大小固定且由系统决定,而段的长度不固定,其取决于用户所编写的程序。
(3)分页的用户程序地址空间是一维的,分段的用户程序地址空间是二维的。
37.【参考答案】段是一个逻辑实体,可通过存取控制字段来实现对共享段的权限控制。


页面是信息存储的物理单位,要共享的内容可能会分布在几个页面中,而且可能只占各页面的 2

部分
一部分,从而可能导致共享不允许共享的部分。因此,分段技术比分页技术更易实现程序或数

拓展习题及其参考答案与解析
据的共享与保护。
38.【参考答案】①段页式存储管理系统的地址转换过程需要访问3次内存,比分区、分页
和分段存储管理系统访问内存的次数都要多,这增加了时间开销。②段页式存储管理系统虽然
结合了分页存储管理系统与分段存储管理系统的优点,没有外部碎片,但是内部碎片比分页存
储管理系统的要更多,这增加了空间开销。

5.3.4 综合应用题
39.【参考答案】
(1)页和页框的大小均为212B=4KB,由于地址空间有32位,每页占12位,故进程的虚拟地
址空间大小为232/212=220页。
(2)页目录所占页数为(210×4)/212=1页,页表所占页数为(220×4)/212=1024页,故页
目录和页表共占1024+1=1025页。
(3)共应访问一个二级页表。因为虚拟地址0100 0000H和0111 2048H的高10位都是4(高
位不足则用0补齐),页目录号相同,故访问的是同一个二级页表。
40.【参考答案】①在逻辑地址0x47FD5H中,因为最大段长度为64KB=2 16B,所以低4
个16进制数7FD5表示段内地址,高位0x4为段号,可知该地址对应的段号为4。该段的最大长
度是32K,即8000H,该地址的段内地址是7FD5H,因此逻辑地址0x47FD5H对应的物理地址
为10K+7FD5H=2800H+7FD5H=A7D5H。②在逻辑地址0x003FFH中,段号为0,段内地址为
03FFH。段号0的段长只有512=200H, 03FFH大于200H,因此会产生地址越界。
41.【参考答案】
(1)页内偏移量是12位,故页的大小为2 12 B=4KB。页表项数为2 20 ,故页表最大占用
220×4B=4MB。
(2)页目录号:{[(unsigned int)(LA)]>>22} &0x3FF。
页表索引:{[(unsigned int)(LA)]>>12} &0x3FF。
(3)代码段的起始逻辑地址为0000 8000H,采用(1)中的分页存储管理方式,页号为
0 0008H,即其位于第8页中,对应页表中的第8个页表项,物理地址1=起始物理地址+页号×页
表项大小=0020 0000H+8×4=0020 0020H。又因页的大小为4KB,代码段长度为8KB,所以代
码段须用2页存放,物理地址2=物理地址1+1×页表项大小=0020 0020+1×4= 0020 0024H。由
图2-5-2可知页框号1=0 0900H,因此页框号2=页框号1+1=0 0901H,物理地址3 =0090 1000H。
42.【参考答案】
(1)虚拟地址转换为物理地址需要经过以下步骤:①根据虚拟地址得出页号P与页内偏
移量W,其中页号P=[虚拟地址/页面大小],页内偏移量W=虚拟地址%页面大小;②比较页
号和页表长度,若页号大于页表长度,则产生越界中断,否则转入步骤③;③将页号与页表长
度的乘积与页表起始地址相加,根据得到的地址到内存中取出该内存单元中存放的物理块号;
150

④将物理块号和物理块大小的乘积与页内偏移量组合成物理地址;⑤用得到的物理地址访问
内存。
(2)①页号=[1 052/1 024]=1,页内偏移量=1 052%1 024=28,1号页对应的块为7,对应的
物理地址=7×1 024+28=7 196。②页号=[2 221/1 024]=2,页内偏移量=2 221%1 024=173,由于2号
页不在内存中,故产生缺页中断。③页号=[5 499/1 024]=5,页内偏移量=5 499%1 024=379,5号
页对应的块号为0,对应的物理地址=0×1 024+379=379。
计算机操作系统习题与考研真题解析

第6章 虚拟存储器
本章主要讲述虚拟存储器的基本概念和实现技术,具体包括程序执行的局部性原理、虚拟
存储器的定义和基本特征、请求分页存储管理方式和请求分段存储管理方式等内容。
本章学习目标如下。
(1)理解并掌握虚拟存储器的定义和基本特征。
(2)在基本分页的基础上掌握请求分页存储管理方式。
(3)掌握页面置换算法以及缺页率的计算方法。
(4)理解并掌握请求分段存储管理方式。

6.1 知识导图
根据本章重要知识点而总结的知识导图如图2-6-1所示。
第 6 章复习指导

局部性原理:时间局部性、空间局部性

概述
特征:多次性、对换性、虚拟性
虚 拟 存 储 器

组成:页表机制、缺页中断机构、地址变换机构

最佳页面置换算法

先进先出页面置换算法

页面置换算法 最近最久未使用页面置换算法

请求分页 最少使用页面置换算法

Clock页面置换算法

页面分配策略 预调页策略、请求调页策略

“抖动”与工作集

图 2-6-1 虚拟存储器知识导图
151

6.2 拓展习题

6.2.1 选择题


1.(单项选择题)实现虚拟存储器的目的是( )。
2

部分
A.扩充物理内存 B.逻辑上扩充内存 C.逻辑上扩充外存 D.都不对
2.(单项选择题)下列关于虚拟存储器的论述中,正确的是( )。

拓展习题及其参考答案与解析
A.作业在运行前,必须全部装入内存,且在运行过程中必须一直驻留内存
B.作业在运行前,不必全部装入内存,且在运行过程中也不必一直驻留内存
C.作业在运行前,不必全部装入内存,但在运行过程中必须一直驻留内存
D.作业在运行前,必须全部装入内存,但在运行过程中不必一直驻留内存
3.(全国统考真题,单项选择题,2分)下列关于虚拟存储的叙述中,正确的是
( )。
A.虚拟存储只能基于连续分配技术 B.虚拟存储只能基于离散分配技术
C.虚拟存储容量只受外存容量的限制 D.虚拟存储容量只受内存容量的限制
4.(名校考研真题,单项选择题,2分)为使虚拟存储管理系统具有良好的性能,应用程
序应具备的特征是( )。
A.程序模块化程度高,由许多小模块组成
B.良好的局部性
C.程序的I/O操作较少
D.程序实际大小应小于实际物理内存容量
5.(名校考研真题,单项选择题,2分)虚拟存储管理系统的基础是程序的( )原理。
A.动态性 B.虚拟性 C.局部性 D.共享性
6.(全国统考真题,单项选择题,2分)在虚拟内存管理中,地址转换机构可将逻辑地址
转换为物理地址。形成该逻辑地址的阶段称为( )。
A.编辑 B.编译 C.链接 D.装载
7.(名校考研真题,单项选择题,1分)在分页存储管理系统中,虚拟地址变换成物理地
址的工作是由( )完成的。
A.地址转换程序 B.用户程序 C.硬件 D.装入程序
8.(名校考研真题,单项选择题,2分)在请求分页存储管理中,若所需页面不在内存
中,则会引起( )。
A.I/O中断 B.缺段中断 C.越界中断 D.页故障
9 . (全国统考真题,单项选择题,2分)在缺页处理过程中,OS执行的操作可能是
( )。
Ⅰ.修改页表 Ⅱ.磁盘I/O Ⅲ.分配页框
A.仅Ⅰ、Ⅱ B.仅Ⅱ C.仅Ⅲ D.Ⅰ、Ⅱ、Ⅲ
10.(全国统考真题,单项选择题,2分)若用户进程在访问内存时产生缺页,则下列选项
中,OS可能执行的操作是( )。
Ⅰ.处理越界错 Ⅱ.置换页 Ⅲ.分配内存
A.仅Ⅰ、Ⅱ B.仅Ⅱ、Ⅲ C.仅I、Ⅲ D.Ⅰ、Ⅱ、Ⅲ
152

11.(全国统考真题,单项选择题,2分)当系统发生“抖动”时,可以采取的有效措施是
( )。
Ⅰ.撤销部分进程 Ⅱ.增加磁盘交换区的容量 Ⅲ.提高用户进程的优先级
A.仅Ⅰ B.仅Ⅱ C.仅Ⅲ D.仅Ⅰ、Ⅱ
12.(全国统考真题,单项选择题,2分)下列措施中,能加快虚/实地址转换的是( )。
Ⅰ.增大快表 Ⅱ.让页表常驻内存 Ⅲ.增大交换区
计算机操作系统习题与考研真题解析

A.仅Ⅰ B.仅Ⅱ C.仅Ⅰ、Ⅱ D.仅Ⅱ、Ⅲ


13.(名校考研真题,单项选择题,2分)关于(进程)页表的页表项,基本分页存储管理
方式和请求分页存储管理方式均须设立的字段为( )。
A.状态位 B.访问字段 C.修改位 D.物理块号
14.(名校考研真题,单项选择题,2分)虚拟分页存储管理中有页表若干项,当内存中某
一页面被淘汰时,可能根据下列哪项来决定是否将该页面写回外存?( )
A.“是否在内存中”标志 B.外存地址
C.“修改”标志 D.“访问”标志
15.(全国统考真题,单项选择题,2分)下列关于缺页处理的叙述中,错误的是( )。
A.缺页是在地址转换时由CPU检测到的一种异常
B.缺页处理是由OS提供的缺页处理程序完成的
C.缺页处理程序根据页故障地址从外存读入所缺失的页面
D.缺页处理完成后程序会返回发生缺页的指令的下一条指令继续执行
16.(全国统考真题,单项选择题,2分)在请求分页系统中,页面分配策略与页面置换策
略不能组合使用的是( )。
A.可变分配,全局置换 B.可变分配,局部置换
C.固定分配,全局置换 D.固定分配,局部置换
17.(名校考研真题,单项选择题,1分)在一个请求分页系统中,系统为某进程分配了4
个物理块,考虑以下页面8、1、3、6、9、8、6、1、7、0,若使用OPT页面置换算法,则访问
页面9时会淘汰页面( )。
A.8 B.1 C.3 D.6
18.(全国统考真题,单项选择题,2分)在请求分页存储管理系统中,采用某些页面置换
算法时会出现Belady异常现象,即进程的缺页次数会随着分配给该进程的页框个数的增加而增
加。下列页面置换算法中,可能出现Belady异常现象的是( )。
Ⅰ.LRU页面置换算法 Ⅱ.FIFO页面置换算法 Ⅲ.OPT页面置换算法
A.仅Ⅱ B.仅Ⅰ、Ⅱ C.仅Ⅰ、Ⅲ D.仅Ⅱ、Ⅲ
19.(全国统考真题,单项选择题,2分)系统为某进程分配了4个页框,该进程已访问的
页号序列为2、0、2、9、3、4、2、8、2、4、8、4、5。若进程要访问的下一个页面的页号为
7,依据LRU页面置换算法应淘汰的页面的页号是( )。
A.2 B.3 C.4 D.8
20.(全国统考真题,单项选择题,2分)某系统采用LRU页面置换算法和局部置换策略,
若系统为进程P预分配了4个页框,进程P访问页面的页号序列为0、1、2、7、0、5、3、5、0、
2、7、6,则进程P在访问上述页面的过程中,产生页面置换的总次数是( )。
A.3 B.4 C.5 D.6
21.(全国统考真题,单项选择题,2分)某系统采用改进型Clock页面置换算法,页表项
153

中字段A为访问位,M为修改位。A=0表示页最近没有被访问,A=1表示页最近被访问过。M=0
表示页没有被修改过,M=1表示页被修改过。按(A,M)形式可将页分为4类:(0,0)、
(1,0)、(0,0)、(1,1),则该页面置换算法淘汰页的次序为( ):
A.(0,0)、(0,1)、(1,0)、(1,1)
B.(0,0)、(1,0)、(0,1)、(1,1)


C.(0,0)、(0,1)、(1,1)、(1,0) 2

部分
D.(0,0)、(1,1)、(0,1)、(1,0)

拓展习题及其参考答案与解析
22.(名校考研真题,单项选择题,2分)在请求分页存储管理中,缺页率与进程所分得的
内存页面数、( )、进程页面流的走向等因素有关。
A.页表的位置 B.页面置换算法 C.外存管理算法 D.进程调度算法
23.(全国统考真题,单项选择题,2分)下列因素中,影响请求分页系统有效(平均)访
存时间的是( )。
Ⅰ.缺页率 Ⅱ.磁盘读/写时间 Ⅲ.内存访问时间 Ⅳ.执行缺页处理程序的CPU时间
A.仅Ⅱ、Ⅲ B.仅Ⅰ、Ⅳ C.仅Ⅰ、Ⅱ、Ⅲ D.Ⅰ、Ⅱ、Ⅲ、Ⅳ
24.(全国统考真题,单项选择题,2分)某进程访问页面的页号序列如图2-6-2所示。

…,1,3,4,5,6,0,3,2,3,2, 0,4,0,3, 2,9, 2,1,…

时间
t

图 2-6-2 页面页号序列图

若工作集的窗口大小为6,则在 t 时刻的工作集为( )。
A.{6,0,3,2} B.{2,3,0,4}
C.{0,4,3,2,9} D.{4,5,6,0,3,2}
25.(名校考研真题,单项选择题,1分)“抖动”是指在请求分页存储管理系统中,由于
( )设计不当或者进程分配的物理页面数量太少,刚被淘汰的页面很快又被调入内存,如
此反复,使大量的CPU时间花费在了页面置换上的现象。
A.进程调度算法 B.磁盘调度算法
C.作业调度算法 D.页面置换算法(即页面淘汰算法)

6.2.2 填空题
26.(名校考研真题,填空题,1分)在请求分页存储管理系统中,逻辑地址长度为16位,
每页的大小为2KB,部分页表如表2-6-1所示。

表2-6-1 页表
页号 物理块号 页号 物理块号
0 4 2 6
1 10 3 2

则逻辑地址0EC5H所对应的物理地址为( )H。
27.在请求分页系统中,地址转换过程可能会因为( )、( )和( )等原因
而产生中断。
28.为了实现请求分页存储管理,应在基本分页的基础上增加( )、( )、( )
和( )等数据项。
154

29.在请求分页存储管理系统中,调页的策略有( )和( )这两种。


30.(名校考研真题,填空题,2分)页面置换算法主要有( )和( )。

6.2.3 简答题
31.(名校考研真题,简答题,10分)虚拟内存的容量可以比物理内存大得多,但是访问
计算机操作系统习题与考研真题解析

速度和物理内存相近,为什么?
32.虚拟内存空间的大小由什么因素决定?
33.(名校考研真题,简答题,9分)在虚拟分页存储管理系统中,为什么要引入缺页中
断?缺页中断的实现由哪几部分组成?试简述其实现方法。
34.考虑一个请求分页存储管理系统,它采用全局置换策略和平均分配内存块的算法(即
若有m个内存块和n个进程,则每个进程可分得m/n个内存块)。如果在该系统中测得如下CPU利
用率和对换盘利用率,则请问能否通过增加多道程序的度数来提高CPU利用率?为什么?
(1)CPU利用率为13%,对换盘利用率为97%。
(2)CPU利用率为87%,对换盘利用率为3%。
(3)CPU利用率为13%,对换盘利用率为3%。
35.(名校考研真题,简答题,10分)说明请求分段存储管理系统中段表各字段的作用。

6.2.4 综合应用题
36.(全国统考真题,综合应用题,7分)某请求分页存储管理系统的页面置换策略如下:
系统从0时刻开始扫描,每隔5个时间单位扫描一轮驻留集(扫描时间忽略不计),且本轮没有
被访问过的页框将被系统回收,并放入空闲页框链尾,其中的内容在下一次分配之前不会被清
空。当发生缺页时,如果该页曾被使用过且还在空闲页框链表中,则将其重新放回进程的驻留
集中;否则,从空闲页框链表头部取出1个页框。
忽略其他进程的影响和系统开销。初始时进程驻留集为空。目前系统空闲页的页框号依次
为 32、15、21、41。进程P依次访问的<虚拟页号,访问时刻>为<1,1>、<3,2>、<0,4>、
<0,6>、<1,11>、<0,13>、<2,14>。请回答下列问题。
(1)当进程P访问<0,4>时,对应的页框号是多少?说明理由。
(2)当进程P访问<1,11>时,对应的页框号是多少?说明理由。
(3)当进程P访问<2,14>时,对应的页框号是多少?说明理由。
(4)这种方法是否适用于时间局部性好的程序?说明理由。
37.(全国统考真题,综合应用题,8分)某计算机的逻辑地址空间和物理地址空间均为
64KB,按字节编址。若某进程最多需要6页数据存储空间,页的大小为1KB,OS采用固定分配
局部置换策略为此进程分配4个页框。在装入时刻260之前,该进程的访问情况如表2-6-2所示
(访问位即使用位)。

表2-6-2 页表
页号 页框号 装入时刻 访问位
0 7 130 1
1 4 230 1
2 2 200 1
3 9 260 1
155

当该进程执行到装入时刻260时,要访问逻辑地
址为17CAH的数据。回答下列问题。 9号页框 2号页框
(1)该逻辑地址对应的页号是多少? 3号页 2号页

(2)若采用FIFO页面置换算法,则该逻辑地址
对应的物理地址是多少?要求给出计算过程。若采用


Clock页面置换算法,则该逻辑地址对应的物理地址 2

部分
是多少?要求给出计算过程。设搜索下一页的指针沿
7号页框 0号页 1号页 4号页框

拓展习题及其参考答案与解析
顺时针方向移动,且具当前指向2号页框,如图2-6-3
所示。
38.(名校考研真题,综合应用题,10分)某虚 图 2-6-3 页框页号图
拟存储器的用户空间中共有32个页面,每页的长度是
1KB,内存大小是16KB。假定某时刻系统为作业的0、1、2、3页分别分配的物理块号为5、10、
4、7,试将CPU给出的虚拟地址0A5C和093C分别转换为物理地址。
39.(名校考研真题,综合应用题,10分)某OS采用请求分页存储管理方式,现有一个进
程需要访问的地址序列(字节)是:115、228、120、88、446、102、321、432、260、167。假
设该进程的第0页已被装入内存,并分配给该进程300B,页的大小为100B,试回答以下问题。
(1)采用LRU页面置换算法将发生多少次页面置换?依次淘汰的页面的页号是多少?页面
置换率是多少?
(2)LRU页面置换算法的基本思想是什么?
40.(名校考研真题,计算与编程题,10分)某系统的页面大小是1KB,某程序的大小是
4.9KB,依次装入如下逻辑地址访问存储器:756、897、1 044、1 950、235、4 000、1 504、
2 597、2 896、4 501、4 890、3 768。请根据所给信息,解决以下问题。
(1)写出程序的页面访问序列。
(2)假设系统只有2KB内存可供程序使用,程序加载采用预装入策略,若采用FIFO页面置
换算法,则会发生多少次缺页中断?
(3)若将(2)中的页面置换算法改为LRU页面置换算法,则会发生多少次缺页中断?

6.3 参考答案与解析

6.3.1 选择题
1.【参考答案】B
【解析】物理内存的扩充是通过硬件配置实现的,因此虚拟存储器的目的就是将外存的部
分空间作为内存的扩充,向用户提供一个非常大的编程空间,然后通过程序不断地进行换进/换
出,进而达到逻辑上扩充内存的目的。
2.【参考答案】B
【解析】在虚拟存储器中,作业不必全部装入内存,且在运行过程中也不必一直驻留在内
存中,这是虚拟存储器和传统存储器的主要区别。
3.【参考答案】B
【解析】虚拟存储器只能基于离散分配技术。虚拟存储容量是虚拟的空间,与逻辑地址的
156

位数相关,不会只受内存或外存容量的限制。
4.【参考答案】B
【解析】在虚拟存储管理系统中,应用程序应具备良好的局部性。程序的局部性包括时间局
部性和空间局部性。时间局部性是指某条指令被执行不久后,该条指令可能还会被执行;空间局
部性是指一旦某个存储单元被访问,在不久之后该存储单元附近的存储单元也将被访问。
5.【参考答案】C
计算机操作系统习题与考研真题解析

【解析】虚拟存储管理系统是基于程序的局部性原理而实现的,即程序的时间局部性和空
间局部性。
6.【参考答案】B
【解析】编译过程指编译程序将用户源代码编译成目标程序,在该过程中会形成逻辑
地址。
7.【参考答案】C
【解析】把虚拟地址转换成物理地址,是硬件自动完成的。计算机硬件自动把地址空间的
地址分为页号和页内相对地址,通过页号在页表中找到内存中的对应块号。内存的物理地址计
算公式为:内存的物理地址=块号×页面大小+页内偏移地址。
8.【参考答案】D
【解析】在请求分页存储管理中,若所需页面不在内存中,则会引起页故障,即缺页中断。
9.【参考答案】D
【解析】缺页中断调入新页面,肯定要修改页表项和分配页框,因此I、Ⅲ可能发生;同时
内存中没有页面,需要从外存读入,会发生磁盘I/O,因此Ⅱ也可能发生。
10.【参考答案】B
【解析】用户进程访问内存时缺页会导致产生缺页中断。产生缺页中断时,系统可能会执
行的操作是置换页面或分配内存。系统内没有越界的错误,因此不会进行越界错处理。
11.【参考答案】A
【解析】在具有对换功能的OS中,通常把外存分为文件区和对换区。前者用于存放文件,
后者用于存放从内存换出的进程。“抖动”现象是指刚刚被换出的页很快又要被访问,又要换出
其他页,而该页很快又要被访问,如此频繁地置换页面,以致CPU的大部分时间都花在了页面
置换上。撤销部分进程可以减少所要用到的页面数,防止“抖动”。但是交换区大小和进程优
先级都与“抖动”无关。
12.【参考答案】C
【解析】增大快表能提高快表的命中率,即减少访问内存的次数;让页表常驻内存能使
CPU不用通过访问内存来找页表,加快了虚/实地址转换速度。而增大交换区则只是对内存的一
种扩充,对虚/实地址转换并无影响。
13.【参考答案】D
【解析】状态位、访问字段和修改位都是请求分页存储管理方式下页表中设置的字段,不
是基本分页存储管理方式下页表的表项。
14.【参考答案】C
【解析】在虚拟分页存储管理中,内存中的每一页都在外存上保留了一份副本,在置换页
面时,为了节省系统开销和减少磁盘启动次数,若页面没有被修改过,则不用再将该页写回外
存,否则必须将该页写回外存,以保证外存上永远是最新的副本。因此,使用“修改”标志来
标志该页在调入内存后是否被修改过,从而决定是否将该页写回外存。
157

15.【参考答案】D
【解析】在请求分页存储管理系统中,每当所要访问的页面不在内存中时,便会产生一个缺
页中断,请求OS将所缺页面调入内存。缺页处理完成后系统会回到发生缺页的指令处继续执行。
16.【参考答案】C
【解析】分配和置换策略有3个组合:①固定分配,局部置换;②可变分配,全局置换;


③可变分配,局部置换。固定分配是指根据进程的类型(如交互型或批处理型等),或根据程 2

部分
序员、程序管理员的建议,为每个进程分配一定数目的物理块,其在进程的整个运行期间不再

拓展习题及其参考答案与解析
改变。采用该策略时,如果进程在运行过程中发现缺页,则只能从该进程在内存的n个页面中选
出一页换出,然后再调入一页,这样才能保证分配给该进程的内存空间不变,因此不能有“固
定分配,全局置换”组合。
17.【参考答案】C
【解析】OPT页面置换算法的思想是选择的被淘汰页面应是以后永不使用的或在(未来)
最长时间内不会再被访问的页面。
18.【参考答案】A
【解析】Belady现象是系统为进程分配的页数增多(未分配进程所需的全部页)而缺页率
反而提高的一种异常现象。只有FIFO页面置换算法才会出现Belady现象。FIFO页面置换算法将
最早调入的页面调出,而调出的页面在不久后可能会被重新使用而出现反复调入/调出现象,进
而导致缺页率不降反升。
19.【参考答案】A
【解析】进程分配到了4个页框,只能容纳4个页面,页面超过4个时,就要从当前页面中选
择一个进行淘汰。LRU页面置换算法赋予每个页面一个访问字段,用于记录一个页面自上次被
访问以来所经历的时间t。当须淘汰一个页面时,选择现有页面中t值最大的(即最近最久未使用
的)页面进行淘汰。根据该页面置换算法的思想,在访问页面时应淘汰的页面分别是0、9、3、
2。页面置换过程如图2-6-4所示。

访问串 2 0 2 9 3 4 2 8 2 4 8 4 5 7
2 2 2 2 2 2 2 2 2 2 2 2 2 7
0 0 0 0 4 4 4 4 4 4 4 4 4
内存
9 9 9 9 8 8 8 8 8 8 8
3 3 3 3 3 3 3 3 5 5

图 2-6-4 页面置换过程

20.【参考答案】C
【解析】通过LRU页面置换算法和局部置换策略,也就是在进行页面置换时采用淘汰最近
最久未使用页面的机制,如图2-6-5所示。

访问串 0 1 2 7 0 5 3 5 0 2 7 6
0 0 0 0 0 0 0 0 0
1 1 1 5 5 5 5 6
内存
2 2 2 3 3 7 7
7 7 7 2 2 2
是否置换页 √ √ √ √ √

图 2-6-5 页面置换走向
158

因此,页面置换的总次数为5次。
21.【参考答案】A
【解析】改进型Clock页面置换算法将页面分为4类,页面淘汰次序为:(A=0,M=0)该页
最近既未被访问,也未被修改,是最佳淘汰页;(A=0,M=1)该页最近未被访问,但被修改
过,并不是很好的淘汰页;(A=1,M=0)该页最近已被访问,但未被修改,有可能会再次被访
问;(A=1,M=1)该页最近已被访问且被修改过,可能会再次被访问。
计算机操作系统习题与考研真题解析

22.【参考答案】B
【解析】请求分页存储管理中,影响缺页率的因素除了进程所分得的内存页面数和进程页
面流的走向之外,还有页面置换算法。不同的页面置换算法在相同的情况下所得到的缺页率可
能会有所不同。
23.【参考答案】D
【解析】在请求分页存储管理系统中,有效(平均)访存时间不仅与访问页表和访问实际
物理地址中数据的时间有关,还与缺页中断的处理时间有关。Ⅰ的缺页率影响缺页中断发生的
频率;Ⅱ的磁盘读/写时间影响页面调入的时间和访问物理地址的时间;Ⅲ的内存访问时间影响
缺页中断的处理时间;Ⅳ中的CPU时间影响缺页中断的处理时间。
24.【参考答案】A
【解析】工作集的窗口大小为6,表示工作集内存放的是最近6个被访问的页面。本题中最近
被访问的6个页面分别是6、0、3、2、3、2,将重复的页面去掉,形成的工作集为{6,0,3,2}。
25.【参考答案】D
【解析】“抖动”是指刚被调出的页面又立即被调入所形成的频繁调入/调出的现象。这显
然是由页面置换算法设计不当或者进程分配的物理页面数量太少导致的。

6.3.2 填空题
26.【参考答案】56C5
【解析】在请求分页存储管理方式中,分页地址结构由页号和偏移量(页内地址)构成。
由页面大小为2KB可知,页内地址占分页地址的低地址部分的开始11位。由0EC5H可得其二进
制地址为0000 1110 1100 0101,则页内地址为110 1100 0101,高地址部分(0000 1)表示页号,
得页号为1,查表2-6-1可得对应的物理块号为10(十进制)。10转化为二进制为1010,由“物
理地址=块号×页面大小+偏移量(页内地址)”可得,逻辑地址0EC5H所对应的物理地址=
1010×211+110 1100 0101=0101 0110 1100 0101=56C5 H。
27.【参考答案】逻辑地址越界;缺页;访问权限错误
【解析】在请求分页存储管理系统的地址转换过程中,在页号超过页表长度时可能产生的
逻辑地址越界,以及在访问页面时因该页不在内存而产生的缺页或是发生的访问权限错误等,
均会导致系统产生中断。
28.【参考答案】状态位;访问字段;修改位;外存地址
【解析】为了满足页面换进/换出的需要,在请求页表中又增加了4个字段:状态位、访问字
段、修改位、外存地址。
29.【参考答案】预调页策略;请求调页策略
【解析】为了确定系统将进程运行时所缺的页面调入内存的时机,可采取预调页策略或请
求调页策略。
159

30.【参考答案】FCFS;LRU
【解析】页面置换算法包括多种,如OPT页面置换算法、FCFS页面置换算法、LRU页面置
换算法、Clock页面置换算法等(本题任选其中的两种即可)。

6.3.3 简答题


2

部分
31.【参考答案】虚拟内存,具有请求调入功能和置换功能,目的是从逻辑上对内存容量
加以扩充,其逻辑容量由计算机的地址字长所决定,比物理内存大得多。基于一定的页面置换

拓展习题及其参考答案与解析
算法,加上局部性原理等有效措施,使得即将要访问的内容以比较高的可能性被提前调入内
存,而无须等到要访问该内容时才去外存调取,从而减少了时间开销,其运行速度接近于内存
速度。
32.【参考答案】虚拟内存空间的大小受限于两个要求。
(1)虚拟内存空间的大小≤内存容量和外存容量之和,这是硬件的硬性条件所规定的,若
虚拟内存空间的大小超过了这个容量,则没有相应的空间来供虚拟内存使用。
(2)虚拟内存空间的大小≤计算机的地址位数所能容纳的最大容量。假设地址是32位,按
字节编址,一个地址代表1B存储空间,则虚拟内存空间的大小≤4GB(232B)。若虚拟内存空
间的大小超过4GB,则32位的地址将无法访问全部虚拟内存,即4GB以外的空间会被浪费。
实际虚拟内存的容量是取要求(1)和要求(2)的交集,即两个要求都要满足。
33.【参考答案】在请求分页存储管理系统中,当所要访问的页不在内存中时,产生一个
缺页中断,以请求OS将所缺的页调入内存。此时缺页进程阻塞,如果内存中有空闲块,则将调
入的页装入一个空闲块中,并修改页表中相应的页表项;否则,就要发生置换。因此,这在一
定程度上增加了内存的逻辑块数。
缺页中断作为中断,同样要经历保护CPU现场环境、分析中断原因、转入缺页中断程序、
恢复CPU现场环境等步骤。实现方法:进行地址转换时,先检索快表,若找到要访问页的页表
项,则修改页表项中的访问位,然后利用页表项中给出的物理块号和页内地址形成物理地址;
若未找到,则查找页表,再根据页表项中的状态位P来判断该页是否已调入内存,若未调入,则
产生缺页中断,请求OS从外存把该页调入内存。
34.【参考答案】
(1)这种情况表示系统在频繁地进行页面置换,CPU的大部分时间被花在了页面置换上。
此时,增加多道程序会进一步增加缺页率,使系统性能进一步恶化。因此,不能通过增加多道
程序的度数来提高CPU利用率,反而应减少内存中的作业道数。
(2)在这种情况下,CPU利用率比较高,但对换盘利用率比较低,这表示运行进程的缺页
率很低,可以通过适当增加多道程序的度数来提高CPU利用率。
(3)在这种情况下,CPU利用率比较低,对换盘利用率非常低,这表示内存中可运行的程
序数不足,此时,应该增加多道程序的度数以提高CPU利用率。
35.【参考答案】在请求分段存储管理系统中,段表各字段的作用介绍如下。
(1)存取方式:用于标志本分段的存取属性(包括只读、执行、允许读/写等)。
(2)访问字段A:用于记录本分段被访问的频繁程度。
(3)修改位M:用于记录本分段在内存中是否被修改过,供页面置换参考。
(4)存在位P:用于表示本分段是否已调入内存,供程序访问参考。
(5)增补位:用于表示本分段在运行过程中是否会动态增长。
(6)外存地址:用于表示本分段在外存中的起始地址,即起始盘块号。
160

6.3.4 综合应用题
36.【参考答案】
(1)页框号为21。理由:因为起始驻留集为空,时刻1访问第1页,页框号为32;时刻2访
问第3页,页框号为15;时刻4访问第0页,页框号为21。
(2)页框号为32。理由:因11>10,故发生第3轮扫描,页号为1的页框在第2轮已处于空
计算机操作系统习题与考研真题解析

闲页框链表中,此刻该页又被重新访问,因此应被重新放回到驻留集中。其页框号为32。
(3)页框号为41。理由:因为第2页从来没有被访问过,它不在驻留集中,所以从空闲页
框链表中取出链表头的页框41,页框号为41。
(4)适合。理由:因为时间局部性越好,从空闲页框链表中重新取回页面的机会就越大,
该策略的优势就越明显。
37.【参考答案】
(1)由于该计算机的逻辑地址空间和物理地址空间均为64KB=216B,按字节编址,且页的
大小为1K=210,因此逻辑地址和物理地址的地址格式均为:

页号/页框号(6位) 页内偏移量(10位)

17CAH=0001 0111 1100 1010,可知,该逻辑地址的页号为0001 01=5。


(2)采用FIFO页面置换算法,与最早调入的页面(即0号页面)进行置换,其所在的页框
号为7,于是对应的物理地址为0001 1111 1100 1010 = lFCAH。采用Clock页面置换算法,首先从
当前位置(2号页框)开始顺时针寻找访问位为0的页面,当指针指向的页面的访问位为1时,就
把该访问位清“0”;指针遍历一周后,回到2号页框,此时2号页框的访问位为0;置换该页框
的页面,于是得对应的物理地址为0000 1011 1100 1010=0BCAH。
38.【参考答案】①虚拟地址为0A5CH,对应的二进制数为0000 1010 0101 1100。因为页
的大小是1KB,所以低10位表示页内地址,高5位表示页号。高5位的数值是2,对应第2页,物
理块号是4。因此物理地址是0001 0010 0101 1100,对应的十六进制数为125CH。②虚拟地址为
093CH,对应的二进制数为0000 1001 0011 1100。其中,页内偏移量占10位地址,为13CH,页
号为2。因此物理地址是0001 0001 0011 1100,对应的十六进制数为113CH。
39.【参考答案】
(1)页的大小是100B,进程要访问的页面序列是1、2、1、0、4、1、3、4、2、1。分配给
该进程300B,故系统中共有3个页框。采用LRU页面置换算法的页面置换走向如图2-6-6所示。

页面 1 2 1 0 4 1 3 4 2 1
1 1 1 1 1 1 1 1 2 2
内存情况 2 2 2 4 4 4 4 4 4
0 0 0 3 3 3 1
是否置换页 √ √ √ √

图 2-6-6 页面置换走向

由图2-6-6可知,产生4次页面置换,依次淘汰的页面页号是2、0、1、3。页面置换率=4/10×
100%=40%。
(2)LRU页面置换算法的基本思想是:用“最近的过去”的页面使用情况来预测“最近的
将来”的页面使用情况,假设一个页面刚被访问过,且在不久的将来该页面还可能被访问,则
选择最近最久未使用的页面进行淘汰。
161

40.【参考答案】
(1)程序的大小是4.9KB,页面的大小是1KB,故在该程序的页表中有5项。[756/1 024]=0,
[897/1 024]=0,[1 044/1 024]=1,[1 950/1 024]=1,[235/1 024]=0,[4 000/1 024]
=3,[1 504/1 024]=1,[2 597/1 024]=2,[2 896/1 024]=2,[4 501/1 024]=4,[4 890/
1 024]=4,[3 768/1 024]=3。因为页面从0开始,本题中商为页号,所以页面访问序列为0、


0、1、1、0、3、1、2、2、4、4、3。 2

部分
(2)采用FIFO页面置换算法,可得页面置换走向如图2-6-7所示。

拓展习题及其参考答案与解析
页面序列 0 0 1 1 0 3 1 2 2 4 4 3
页框号1 0 0 0 0 0 3 3 3 3 4 4 4
页框号2 1 1 1 1 1 2 2 2 2 3
缺页 √ √ √ √ √ √

图 2-6-7 页面置换走向

由图2-6-7可知,发生了6次缺页中断。
(3)采用LRU页面置换算法,可得页面置换走向如图2-6-8所示。

页面序列 0 0 1 1 0 3 1 2 2 4 4 3
页框号1 0 0 0 0 0 0 1 1 1 4 4 4
页框号2 1 1 1 3 3 2 2 2 2 3
缺页 √ √ √ √ √ √ √

图 2-6-8 页面置换走向

由图2-6-8可知,发生了7次缺页中断。

第7章 输入/输出系统
本章主要介绍OS对I/O设备的控制和管理,具体包括I/O系统的基本功能和层次结构、I/O设
备和设备控制器、设备驱动程序和I/O中断处理程序、与设备无关的I/O软件、SPOOLing技术、
磁盘调度等内容。
本章学习目标如下。
(1)了解OS处理用户I/O请求的基本过程,实现I/O系统管理的主要功能,软件层次模块,
每个模块实现的主要功能以及构建模块的原理和关键技术。
(2)掌握典型的设备传输方式,理解每一种方式的优缺点与适用范围。掌握设备独立性的
基本概念、设备分配的数据结构及分配程序,理解SPOOLing系统。
(3)掌握引入缓冲的主要原因与缓冲管理的主要技术。了解磁盘的基本结构、数据的组织
方法,磁盘访问时间的组成与计算方法。熟悉磁盘队列调度算法,能够分析当前磁盘队列的完
成时间。
162

7.1 知识导图
根据本章重要知识点而总结的知识导图如图2-7-1所示。

存储设备:外存 第 7 章复习指导
计算机操作系统习题与考研真题解析

按使用特性分类
输入设备:键盘、鼠标等

I/O设备 输出设备:打印机、绘图仪等

设备 交互式设备:显示器等

低速设备:键盘、鼠标等

按传输速率分类 中速设备:激光打印机等

高速设备:磁带机、磁盘机等

I/O硬件
功能:控制I/O设备,实现设备与计算机的数据交换

设备控制器 与处理机的接口

组成 与设备的接口

I/O逻辑

功能:建立独立的I/O操作
通道
瓶颈问题
输 入 \输 出 系 统

I/O系统的 轮询可编程I/O方式:过程简单,CPU利用
层次结构 率低

缓冲区管理 中断处理程序 中断I/O方式:以字(节)为单位进行I/O,


提高了CPU利用率
磁盘调度 设备驱动程序 I/O控制方式
DMA方式:在I/O设备和内存之间直接进行
数据传输,数据传输以数据块为单位

通道控制方式:利用通道程序控制I/O设备
进行数据传输,一次可传输一组数据块

设备独立性:在应用程序中,以逻辑设备名申请所要使用
的设备;系统在实际执行任务时,以物理设备名使用设备

I/O软件 设备无关性软件 分配的数据结构:DCT、COCT、CHCT、


SDT

分配要考虑的因素:设备固有属性、分配算
设备分配
法、安全性

设备分配:分配设备→分配控制器→分配通道

组成:I/O井、I/O缓冲区、I/O进程、
井管理程序
用户层软件 SPOOLing系统
特点:提高I/O速度,将独占设备改造为
共享设备,实现虚拟设备功能

图 2-7-1 输入 / 输出系统知识导图
163

7.2 拓展习题

7.2.1 选择题


1.(全国统考真题,单项选择题,2分)用户程序发出磁盘I/O请求后,系统的正确处理流
2

部分
程是( )。
A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序

拓展习题及其参考答案与解析
B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序
C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序
D.用户程序→设备驱动程序→中断处理程序→系统调用处理程序
2.(名校考研真题,单项选择题,2分)为解决由通道不足所造成的瓶颈问题,可采取
( )技术。
A.字节多路通道 B.数组多路通道 C.数组选择通道 D.多通路
3.(全国统考真题,单项选择题,2分)本地用户通过键盘登录系统时,首先获得键盘输
入信息的程序是( )。
A.命令解释程序 B.中断处理程序 C.系统调用程序 D.用户登录程序
4.(全国统考真题,单项选择题,2分)用户程序发出磁盘I/O请求后,系统的处理流程
是:用户程序→系统调用处理程序→设备驱动程序→中断处理程序。其中,用于计算数据所在
磁盘的柱面号、磁头号、扇区号的程序是( )。
A.用户程序 B.系统调用处理程序
C.设备驱动程序 D.中断处理程序
5.(全国统考真题,单项选择题,2分)系统将数据从磁盘读到内存的过程包括以下操
作:①DMA 控制器发出中断请求;②初始化DMA控制器并启动磁盘;③从磁盘传输一块数据
到内存缓冲区;④执行“DMA结束”中断处理程序。
正确的执行顺序是( )。
A.③→①→②→④ B.②→③→①→④
C.②→①→③→④ D.①→②→④→③
6.(名校考研真题,单项选择题,3分)关于I/O控制方式,( )控制方式使对I/O操作
的组织和数据的传送能最大限度地独立运行而无须处理机干预。
A.I/O通道 B.中断驱动I/O C.程序I/O D.直接存储器访问I/O
7.(名校考研真题,单项选择题,3分)为提高OS自身的可适应性和可扩展性,现代OS通
过引入( )的概念实现了设备独立性。
A.共享设备 B.循环缓冲 C.独占设备 D.逻辑设备
8.(全国统考真题,单项选择题,2分)程序员利用系统调用打开I/O设备时,通常使用的
设备标志是( )。
A.逻辑设备名 B.物理设备名 C.主设备号 D.从设备号
9.(全国统考真题,单项选择题,2分)对于具备设备独立性的系统,下列叙述中错误的
是( )。
A.可以使用文件名访问物理设备
B.用户程序会使用逻辑设备与物理设备之间的映射关系
164

C.用户程序中使用的是逻辑设备名
D.更换物理设备后必须修改访问该设备的应用程序
10.(名校考研真题,单项选择题,1分)OS中的SPOOLing技术,其实质是一种将( )
转化为共享设备的技术。
A.虚拟设备 B.独占设备 C.脱机设备 D.块设备
11.(全国统考真题,单项选择题,2分)下列关于SPOOLing技术的叙述中,错误的是
计算机操作系统习题与考研真题解析

( )。
A.需要外存的支持
B.需要多道程序设计技术的支持
C.可以让多个作业共享一台独占设备
D.由用户作业控制设备与I/O井之间的数据传送
12.(名校考研真题,单项选择题,1分)通过硬件和软件的功能扩充,把原来独占的设备
改造成若干用户所共享的设备,这种设备称为( )。
A.存储设备 B.系统设备 C.虚拟设备 D.用户设备
13.(全国统考真题,单项选择题,2分)某文件占10个磁盘块,现要把该文件所占的磁盘
块逐个读入内存缓冲区,并送往用户区进行分析,假设一个缓冲区与一个磁盘块大小相同,把
一个磁盘块读入缓冲区的时间为100μs,将缓冲区的数据传送到用户区的时间是50μs,CPU对一
块数据进行分析的时间为50μs。在单缓冲区和双缓冲区结构下,读入并分析完该文件所需的时
间分别是( )。
A.1 500μs、1 000μs B.1 550μs、1 550μs C.1 550μs、1 100μs D.2 000μs、2 000μs
14.(名校考研真题,单项选择题,3分)为了缓和CPU和I/O设备间速度不匹配的矛盾,可提
高CPU和I/O设备的并行性,现代OS实现I/O设备与CPU之间的数据交换时几乎都用到了( )。
A.临界区 B.缓冲区 C.对换区 D.工作集
15.(名校考研真题,单项选择题,2分)在设备管理中,引入缓冲的主要原因不包括( )。
A.缓和处理机和外设之间访问速度不匹配的矛盾
B.缓和处理机和内存之间访问速度不匹配的矛盾
C.减少对处理机的中断频率,放宽对处理机中断响应时间的限制
D.提高处理机和外围设备之间的并行性
16.(全国统考真题,单项选择题,2分)某硬盘有200个磁道(最外侧的磁道号为0),磁
道访问请求序列为130、42、180、15、199,当前磁头位于第58号磁道并从外侧向内侧移动。采
用SCAN调度算法处理完上述请求后,磁头移过的磁道数是( )。
A.208 B.287 C.325 D.382
17.(全国统考真题,单项选择题,2分)系统总是访问磁盘的某个磁道而不响应对其他磁道
的访问请求,这种现象称为磁臂粘着。下列磁盘调度算法中,不会导致磁臂粘着的是( )。
A.先进先出(FCFS)调度算法 B.最短寻道时间优先(SSTF)调度算法
C.扫描(SCAN)调度算法 D.循环扫描(CSCAN)调度算法
18.(全国统考真题,单项选择题,2分)假设磁头当前位于第105道,并且正在向磁道号
增加的方向移动。现有一个磁道访问请求序列为35、45、12、68、110、180、170、195,则采
用SCAN调度算法(电梯调度算法)得到的磁道访问序列是( )。
A.110、170、180、195、68、45、35、12
B.110、68、45、35、12、170、180、195
165

C.110、170、180、195、12、35、45、68
D.12、35、45、68、110、170、180、195
19.设磁盘的转速为3 000r/min,盘面划分成了10个扇区,则读取一个扇区的时间为( )。
A.20ms B.3ms C.2ms D.1ms
20.(名校考研真题,单项选择题,2分)从设备的共享属性角度来讲,系统设备可划分为


( )。 2

部分
A.字符设备和块设备 B.独占设备和共享设备

拓展习题及其参考答案与解析
C.逻辑设备和物理设备 D.高速设备、中速设备和低速设备
21.(名校考研真题,多项选择题,2分)为支持I/O设备的即插即用,OS应当能够为新的
I/O设备自动查找和安装相应的( )。
A.文件系统 B.设备驱动程序
C.引导程序 D.设备独立性软件模块
22.(名校考研真题,单项选择题,2分)中断处理的正确流程应为( )。①转入对应
中断处理子程序;②保护被中断进程的CPU现场环境;③恢复被中断进程的CPU现场环境;④
执行中断处理子程序。
A.①→②→③→④ B.②→①→③→④
C.②→①→④→③ D.①→④→②→③
23.(名校考研真题,多项选择题,3分)就I/O控制方式而言,( )支持内存和外设
之间进行直接的数据传输。
A.程序I/O控制方式 B.中断驱动I/O控制方式
C.直接存储器访问I/O控制方式 D.通道I/O控制方式
24.(名校考研真题,多项选择题,3分)为了实现设备的独立性,须从如下几方面着手
( )。
A.引入并区分物理设备和逻辑设备这两个概念
B.在应用程序中须使用逻辑设备名来请求和使用某类设备
C.在应用程序中须使用物理设备名来请求和使用有关设备
D.OS应具备把逻辑设备名转化为物理设备名的功能
25.(名校考研真题,多项选择题,2分)一般而言,设备驱动程序的功能应包括( )。
A.检查用户I/O请求的合法性,了解设备工作状态、传递操作控制参数并设置工作方式
B.接收来自设备无关性软件层的命令和参数,并将其转化为与设备相关的低级操作序列
C.根据设备状态阻塞请求者进程或发出I/O命令启动设备
D.及时响应和处理源自设备控制器的中断请求
26.(名校考研真题,多项选择题,2分)为了方便用户使用I/O设备(如磁盘),OS对磁
盘操作中的数据位置进行描述时,对( )进行了适当的抽象以隐藏物理设备的实现细节。
A.盘面号 B.磁道号 C.文件路径名 D.扇区号

7.2.2 填空题
27.(名校考研真题,填空题,2分)计算机I/O控制方式主要有( )、( )、
( )和通道I/O控制方式等4种。
28.设备驱动程序与( )密切相关,如果计算机中连有3个同种类型的彩色终端和2个
同种类型的黑白终端,则可以为它们配置( )个设备驱动程序。
166

29.(名校考研真题,填空题,1分)虚拟设备通过( )技术把独占设备变成了能被若
干用户共享的设备。
30.(名校考研真题,填空题,1分)OS中采用缓存技术的主要目的是提高CPU和设备之间
的( )程度。
31.假设把一个盘块的数据输入缓冲区的时间T为80μs,将缓冲区的数据传到用户区的时间
M为30μs,而CPU对这块数据进行计算的时间C为40μs。系统采用单缓冲区进行管理,则对3个
计算机操作系统习题与考研真题解析

盘块的数据进行处理的时间为( )。
32.(名校考研真题,填空题,2分)磁盘是被广泛应用的存储介质,目前常用的磁盘多为
活动磁头,访问时间是它的一项重要的性能指标。磁头访问时间包括( )。

7.2.3 简答题
33.现代计算机系统中启动外设的工作为什么要由OS来做?
34.(名校考研真题,简答题,12分)关于设备驱动程序:
(1)请简要阐明什么是设备驱动程序;
(2)设备驱动程序的编写在很多方面和普通应用程序的编写没什么不同,但在某些方面有
着显著差异,例如:
① 设备驱动程序比普通应用程序更加难以调试;
② 设备驱动程序如果有缺陷,则可能会导致灾难性后果,如使整个系统崩溃,而普通应用
程序则不会;
③ 设备驱动程序只能使用极为有限的栈空间,而普通应用程序则几乎不会感受到栈空间的
限制;
④ 设备驱动程序不能使用某些运行时库函数,如printf 等,而普通应用程序则可以。
请简要说明设备驱动程序和普通应用程序为什么会有这些不同?
35.(名校考研真题,简答题,7分)为什么要引入SPOOLing技术,引入SPOOLing技术可
以带来哪些好处?
36.(名校考研真题,简答题,10分)虚拟性是OS的基本特征之一,请问什么是虚拟性?
OS的虚拟性是如何体现的(至少谈3个方面)?
37.(名校考研真题,简答题,8分)根据图2-7-2来说明OS中引入缓冲的好处。

9.6kbit/s
1位缓冲

(a)1位缓冲
8位缓冲寄存器
9.6kbit/s
送内存

(b)8位缓冲寄存器
8位缓冲寄存器
9.6kbit/s

送内存

(c)2个8位缓冲寄存器

图 2-7-2 利用缓冲寄存器实现缓冲
167

38.一个磁盘有19 456个柱面,16个读/写头,每个磁道有63个扇区。磁盘以5400r/min的速
度旋转,相邻两个磁道之间的寻道时间为2ms。假定读/写头在0号磁道上,那么完成整个磁盘的
读/写需要花费多长时间?

7.2.4 综合应用题


2

部分
39.假设一个单机系统以单道批处理方式处理一个作业流,作业流中有两个作业,每个作
业均要完成通过卡片机输入数据、利用CPU进行计算、通过打印机输出数据等操作。该单机系

拓展习题及其参考答案与解析
统占用CPU计算时间、输入卡片数、打印输出行数如表2-7-1所示。

表2-7-1 单机系统数据
作业号 占用CPU计算时间(min) 输入卡片数(张) 打印输出行数(行)
A 3 100 2 000
B 2 200 600

卡片机的速度为1 000张/min,打印机的速度为1 000行/min。


(1)不采用SPOOLing技术,计算这两个作业的总运行时间(从第1个作业输入开始,到第
2个作业输出完成为止);
(2)采用SPOOLing技术,计算这两个作业的总运行时间。
40.(全国统考真题,综合应用题,7分)假设计算机系统采用CSCAN磁盘调度策略,使
用2KB的内存空间记录16 384个磁盘块的空间状态。
(1)请说明在上述条件下如何进行磁盘块空闲状态的管理。
(2)设某单面磁盘的旋转速度为6 000r/min。每个磁道有100个扇区,相邻磁道间的平均移
动时间为1ms。若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动(如图2-7-3
所示),磁道号请求队列为50、90、30、120。对请求队列中的每个磁道均须读取1个随机分布
的扇区,则读完这些扇区共需要多少时间?要求给出计算过程。

0号磁道
随机分布的某扇区

磁头当前的运动方向

100号磁道

图 2-7-3 某时刻磁头位置及移动方向示意

41.(全国统考真题,综合应用题,7分)某计算机系统中的磁盘有300个柱面,每个柱面
有10个磁道,每个磁道有200个扇区,扇区大小为512B。文件系统的每个簇包含2个扇区。请回
答下列问题。
(1)磁盘的容量是多少?
(2)假设磁头在85号柱面上,此时有4个磁盘访问请求,簇号分别为:100 260、60 005、
101 660、110 560。若采用SSTF调度算法,则系统访问簇的先后次序是怎样的?
168

(3)第100 530个簇在磁盘上的物理地址是多少?将簇号转换成磁盘物理地址的过程是由
I/O系统的什么程序完成的?
42.(名校考研真题,综合应用题,10分)针对某移动磁头磁盘系统,假定某时刻磁头正
处于92号磁道上并朝磁道号减小的方向移动,请分别采用SSTF调度算法和电梯调度算法,给出
满足有关请求服务的先后次序,并计算对应的平均寻道长度。磁盘请求次序如表2-7-2所示。
计算机操作系统习题与考研真题解析

表2-7-2 磁盘请求次序表
请求次序 进程号 访问磁道号 请求次序 进程号 访问磁道号
① 202 88 ⑥ 433 76
② 101 97 ⑦ 216 65
③ 500 102 ⑧ 238 20
④ 311 150 ⑨ 265 13
⑤ 526 93 ⑩ 610 4

7.3 参考答案与解析

7.3.1 选择题
1.【参考答案】B
【解析】I/O软件从上到下可分为4个层次:用户层I/O软件、设备独立性软件、设备驱动程
序以及中断处理程序。其中,设备独立性软件也就是系统调用的处理程序。因此正确处理流程
为B选项。
2.【参考答案】D
【解析】解决因通道不足而产生的瓶颈问题的最有效的方法是,增加设备到主机的通路,
而不是增加通道。字节多路通道、数组多路通道和数组选择通道是根据信息交换方式的不同进
行划分的通道类型。
3.【参考答案】B
【解析】键盘是典型的通过中断I/O控制方式工作的外设,当用户输入信息时,计算机会响
应中断并通过中断处理程序获得输入信息。
4.【参考答案】C
【解析】设备驱动程序具有接收由I/O进程发来的I/O命令和参数,并将命令中的抽象要求转
换为具体要求的功能。因此,将磁盘盘块号转换为磁盘的盘面、磁道和扇区号是设备驱动程序
的工作之一。
5.【参考答案】B
【解析】计算机执行程序的主要过程是:①内存向CPU发出读取外设指令,CPU将系统总
线控制权交给DMA控制器;②初始化DMA控制器并启动磁盘,将数据从硬盘读入内存缓冲区;
③DMA给CPU发送中断请求,CPU从DMA控制器接管总线,执行“DMA结束”中断处理程
序;④CPU向内存发出读取数据命令,并对数据进行运算处理,同时和内存进行必要的数据交
换;⑤运行结束后,如果有外设存取操作,则CPU会将运算结果(数据)发送到硬盘。
6.【参考答案】A
【解析】在程序I/O方式(轮询可编程I/O方式)下,CPU要不断地测试I/O设备的状态。中
169

断驱动I/O方式,允许I/O设备中断CPU并请求服务,使CPU向I/O控制器发送读命令后可以继续
做其他工作。直接存储器访问I/O方式是在一块数据传送结束时才中断CPU。I/O通道方式是当一
组数据传送完毕后才请求CPU干预,可以有效实现CPU、通道和I/O设备三者的并行操作。
7.【参考答案】D
【解析】设备独立性,即应用程序独立于具体使用的物理设备。为了实现设备独立性,引


入了逻辑设备和物理设备这两个概念。在应用程序中,通过逻辑设备名请求使用某类设备。而 2

部分
系统在实际执行任务时,则必须通过物理设备名来使用实际设备。因此,系统要具有将逻辑设

拓展习题及其参考答案与解析
备名转换为对应的物理设备名的功能。
8.【参考答案】A
【解析】用户程序对I/O设备发送请求时采用逻辑设备名,而系统在实际执行任务时采用物
理设备名。
9.【参考答案】D
【解析】访问设备的驱动程序与具体设备无关,因此在更换设备时,应用程序无须修改,
其独立于具体使用的物理设备。
10.【参考答案】B
【解析】SPOOLing的核心思想是利用磁盘(输入井、输出井)来模拟独占设备的操作,使
一台独占设备变成多台可并行操作的虚拟设备。用户向独占设备提交的请求实际上被提交到了
I/O井里面。从I/O井到实际物理独占设备的数据传输由SPOOLing进程统一控制和调度。
11.【参考答案】D
【解析】引入SPOOLing技术是为了缓和CPU与I/O设备速度不匹配的矛盾。该技术利用多道
程序中的I/O进程将低速设备上的数据传送到高速磁盘上,或者将数据从磁盘传送到低速输出设
备上,其中磁盘就是外存。SPOOLing技术的特点之一是将独占设备改造成共享设备,而设备与
I/O井之间的数据传输是由系统实现的。
12.【参考答案】C
【解析】通过虚拟技术将一台独占设备虚拟成多台逻辑设备,以供多个用户进程同时使
用。我们通常把这种经过虚拟的设备称为虚拟设备。
13.【参考答案】C
【解析】在单缓冲区中,当上一个磁盘块从缓冲区读入用户区这一操作完成时,下一个磁盘
块才能开始读入,最后一个磁盘块读入用户区所用的时间为150×10=1 500ms,加上处理最后一个
磁盘块的时间50ms,得1 550ms。在双缓冲区中,缓冲区读入用户区这一操作无须等待磁盘块,10
个磁盘块可以连续地从外存读入内存缓冲区,再加上最后一个磁盘块从缓冲区到用户区的传输时
间50ms和处理时间50ms,可得10个磁盘块传输数据的时间为100×10+50+50=1 100ms。
14.【参考答案】B
【解析】引入的缓冲区可以在高速设备和低速设备之间起一个速度平滑作用,用于暂时存储
数据。经常被访问的数据可以放入缓冲区,以减少对慢速设备的访问次数,进而提高系统效率。
15.【参考答案】B
【解析】缓冲是使用专用硬件缓冲器或在内存中划出一个区域,来暂时存放I/O数据的器
件。引入缓冲是为了协调速度相差很大的设备之间的数据传输,减少对CPU的中断频率,放宽
对中断响应时间的限制以及提高CPU和I/O设备之间的并行性。
16.【参考答案】C
【解析】SCAN调度算法为电梯调度算法,磁头先从58向199移动,再从199向15移动,因此
170

磁头移过的磁道数为(199-58)+(199-15)=325。
17.【参考答案】A
【解析】一个或几个进程对某一磁道有着较高的访问频率,即它们会反复地对一个磁道进
行I/O请求,这称为磁臂粘着。在SSTF、SCAN及CSCAN这几种调度算法的应用过程中,都有可
能出现磁臂停留在某个位置不动的情况。
18.【参考答案】A
计算机操作系统习题与考研真题解析

【解析】SCAN调度算法在磁头当前的移动方向上会选择与当前磁头所在磁道距离最近的
请求作为下一次服务的对象。磁头向序号增加的方向移动,当前位于第105号磁道,故距离最近
的下一个磁道应该是第110号磁道,依次递增到(最高)第195号磁道,再向序号减小的方向移
动,离当前第195号磁道最近的是第68号磁道,依次递减到所有的请求完成,因此磁道访问序列
为110、170、180、195、68、45、35、12。
19.【参考答案】C
【解析】转速为3 000r/min,故1转耗时60 000/3 000=20ms;一个磁道分成10个扇区,则读
取一个扇区耗时20ms/10=2ms。
20.【参考答案】B
【解析】按设备的共享属性,设备可以分为独占设备、共享设备和虚拟设备。
21.【参考答案】BD
【解析】I/O子系统的结构可分为5个层次:用户I/O软件、设备独立性软件、设备驱动程
序、中断处理程序和硬件设备。为了实现即插即用以及设备的识别与控制,须安装设备驱动软
件和设备独立性软件。题目中的引导程序是系统启动时需要的,故本题选BD。
22.【参考答案】C
【解析】中断要经历保护CPU现场环境、分析中断原因、转入中断处理子程序、恢复CPU
现场环境这几个过程。
23.【参考答案】CD
【解析】在DMA控制方式中,CPU会直接从内存读取数据并通过外设输出,或者将外设输
入的数据直接传输到指定的内存单元。通道I/O控制方式也是以内存为中心,启动通道,并在内
存中调出通道程序加以执行,进而实现设备与内存之间的数据交换的。
24.【参考答案】ABD
【解析】设备独立性,即应用程序独立于具体使用的物理设备。为了实现设备独立性而引
入了逻辑设备和物理设备这两个概念。在应用程序中,通过逻辑设备名请求使用某类设备;而
系统在实际执行任务时,则必须使用物理设备名。因此,系统必须具有将逻辑设备名转换为物
理设备名的功能。
25.【参考答案】ABCD
【解析】设备驱动程序的主要功能包括:①接收由I/O进程发来的命令和参数,并将命令中
的抽象要求转换为具体要求,例如,将磁盘块号转换为磁盘的盘面、磁道号及扇区号;②检查
用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式;③发出I/O
命令,如果设备空闲,便立即启动I/O设备去完成指定的I/O操作;如果设备处于忙碌状态,则将
请求者的请求块挂在设备队列上进行等待;④及时响应由控制器或通道发来的中断请求,并根
据其中断类型调用相应的中断处理程序进行处理。因此,本题选ABCD。
26.【参考答案】ABD
【解析】要想确定数据在磁盘上的位置,首先须确定数据所在的盘面,然后须通过寻道来
171

确定磁道号,最后确定数据所处磁道的扇区。

7.3.2 填空题
27.【参考答案】使用轮询的可编程I/O控制方式(程序I/O控制方式);使用中断的可编程


I/O控制方式(中断驱动I/O控制方式);直接存储器访问I/O控制方式(DMA方式)
2

部分
【解析】随着计算机系统组织结构的发展,I/O控制方式包括:程序I/O控制方式、中断驱动
I/O控制方式、直接存储器访问I/O控制方式、通道I/O控制方式。这些I/O控制方式所追求的目标

拓展习题及其参考答案与解析
是I/O操作和CPU操作的更大并行性、I/O控制的更大独立性以及外围设备连接的更大方便性。
28.【参考答案】I/O设备的特性;2
【解析】设备驱动程序与I/O设备的特性紧密相关,应为具有不同类型特性的设备配置不同
的设备驱动程序。
29.【参考答案】SPOOLing
【解析】通过SPOOLing技术可以将一台物理设备虚拟成多台逻辑设备,以允许若干用户
共享。
30.【参考答案】并行
【解析】缓冲技术是为了协调速度不匹配设备之间数据的传送所采用的一种技术。缓冲技
术用到的缓冲区可以缓和CPU和I/O设备速度的不匹配、降低对CPU的中断频率、提高CPU和I/O
设备的并行性。
31.【参考答案】370μs
【解析】第1个盘块数据从外设到用户工作区的总时间为80+30=110μs,这段时间内,数
据块2没有操作。数据块1进行分析处理时,数据块2从外设到用户工作区的总时间为110μs,
这段时间内的操作是并行的,并行时间为max(110μs,40μs)=110μs。数据块2进行分析处理
时,数据块3从外设到用户工作区的总时间为110μs,因此这3个数据块传输到工作区的总时间为
110μs×3=330μs,再加上数据块3进行处理的时间40μs,故总共是330+40=370μs。
32.【参考答案】寻道时间、延迟时间、传输时间
【解析】这3个时间的含义为:①寻道时间是用时最长的时间,是指磁头从目前位置到达目
标数据所在磁道的时间;②延迟时间是指盘片通过旋转将请求的数据所在的扇区移至磁头下方
所需要的时间,即寻道完毕后,盘片目标数据所在位置移到磁头下方位置所需要的时间;③传
输时间指找到数据后,传输所请求的数据所需要的时间。

7.3.3 简答题
33.【参考答案】OS启动外设可以减轻用户负担,即用户不必了解外设特性、编制烦琐的
I/O程序等;可以防止多用户同时启动同一台外设而造成外设工作错误;还可以进行必要的核对
工作以防止错误地读/写信息。
34.【参考答案】
(1)设备驱动程序是连接硬件必不可少的程序,相当于硬件和系统之间的桥梁。它通常会
提供异步时间相关硬件接口所需的中断处理程序。对于给定的I/O请求(如从设备读取数据),
通常会有多个设备驱动程进行序分层堆栈,并参与请求。
(2)应用程序是在设备驱动程序的基础上,通过设备驱动程序提供的API连接到I/O设备
的。如果没有设备驱动程序的帮助,应用程序就无法直接访问硬件。为了防止应用程序破坏关
172

键OS数据,应令应用程序在用户空间中运行。设备驱动程序是用低级语言编写的,而应用程序
则是用高级语言编写的。
35.【参考答案】通常情况下,独占设备也是慢速设备,因此,当一个进程在独占设备
上交换数据时,等待时间会比较长,并且其他进程会因等待这台设备而阻塞。为了提高设备
的使用效率,减少请求进程交换数据的等待时间,提高系统的性能,引入了SPOOLing技术。
SPOOLing技术的核心思想是:利用一台可共享、高速、大容量的块设备来模拟独占设备的操
计算机操作系统习题与考研真题解析

作,使一台独占设备变成多台可并行的虚拟设备。它主要由输入井、输入缓冲区和输出缓冲
区、输入进程和输出进程这3部分组成。在SPOOLing系统中,输入进程首先将要输入的数据从
输入设备送到输入井,当CPU须输入数据时,直接从输入井中将数据读入内存;输出过程是指
输出进程先把输出数据从内存送到输出井,待输出设备空闲时,再将输出井中的数据输出到
设备上。
SPOOLing技术可带来以下好处。
(1)提高了I/O速度:在对数据进行I/O操作时,将原来对低速设备进行的I/O操作转变为对
高速磁盘中输入井和输出井进行的操作。
(2)将独占设备改造成共享设备:在SPOOLing系统中,仅在输入井和输出井中为进程分
配了一个磁盘存储区,建立了一张I/O请求表,而并没有为进程分配物理的独占设备。
(3)实现了虚拟设备功能:宏观上,多个进程在同时使用一台独占设备,但对每个进程而
言,它们都认为自己独占了一个设备,实际上,这个设备只是逻辑上的设备。
36.【参考答案】虚拟是指通过某种技术把一个物理上的实体变为若干个逻辑上的对应
物。物理实体是实际存在的实体,而逻辑上的对应物是虚的,是用户感觉存在的实体,故称为
虚拟技术。OS中利用了多种虚拟技术,如虚拟处理机、虚拟内存、虚拟设备等。
(1)虚拟处理机。通过多道程序并发执行的方法,分时使用一个处理机,即把一个物理上
的处理机虚拟为多个逻辑上的处理机。一个处理机同时为多个用户服务,使每个用户都认为有
一个处理机在专门为他服务。
(2)虚拟内存。将一台机器的物理存储器变为虚拟存储器,以便从逻辑上扩充存储器的容
量,此时用户所感觉到的内存容量是虚拟的。
(3)虚拟设备。将一台物理I/O设备虚拟为多台逻辑上的I/O设备,使原来的独占设备变为
一段时间内允许多个用户同时访问的共享设备。
37.【参考答案】①缓和CPU与I/O设备速度不匹配的矛盾。通常,I/O设备的速度远低于
CPU的运算速率。例如在输出数据时,如果没有缓冲区,则CPU会因为I/O设备的速度慢而陷
入等待。引入缓冲区后,CPU先将数据写入缓冲区,然后继续执行其他指令,数据可以从缓冲
区输出到设备。②减少对CPU的中断频率,放宽对CPU中断响应时间的限制。在远程通信系统
中,若从远地终端发来的数据只用一位缓冲来接收,如图2-7-2(a)所示,就必须在每收到一位
数据时中断一次CPU。对于9.6kbit/s的数据通信来说,CPU的中断频率也将是9.6kHz,即每经过
约100μs,CPU就要中断一次,并且CPU需要在100μs内予以响应,以防止缓冲区的数据被覆盖。
若设置一个8位的缓冲区,如图2-7-2(b)所示,则可每收到8位数据中断一次CPU,但在第9位
数据到来之前仍必须完成中断处理,这可以使CPU的中断频率降低到原中断频率的1/8。若再增
设一个8位的缓冲区,则可每收到8位数据中断一次CPU,并允许CPU在后续8位数据到来期间处
理前8位数据的中断。如图2-7-2(c)所示,可以把CPU对中断的响应时间放宽到800μs。③提高
CPU和I/O设备之间的并行性。如①所述,引入缓冲区后,CPU和I/O设备可以并行地工作,而
I/O设备对CPU中断频率的降低,则可进一步提高CPU和I/O设备之间的并行操作程度,提高系统
173

吞吐量和设备利用率。
38.【参考答案】磁盘转速为5 400r/min,因此,旋转一周的时间=60 000/5 400≈11.111ms。
一个磁盘有19 456个柱面,16个读/写头,每读一次磁道所需要的时间=19 456×16×11.11ms
≈3 458s。因此,完成整个磁盘的读/写需要花费的时间=3 458s+(19 456-1)×2ms≈3 497s。


7.3.4 综合应用题 2

部分
39.【参考答案】

拓展习题及其参考答案与解析
(1)不采用SPOOLing技术。因为系统采用单道批处理方式,所以A、B两个作业依次顺序
执行,其中:
作业A用时=100/1 000(输入)+ 3(执行)+2 000/1 000(输出)=5.1min;
作业B用时=200/1 000(输入)+ 2(执行)+600/1 000(输入)=2.8min;
因此,总运行时间=5.1+2.8=7.9min。
(2)采用SPOOLing技术。A输入时间为100/1 000=0.1min,A计算时间为3min,此时A
计算和B输入可并行,B输入时间为200/1 000=0.2min,当A完成计算后,B计算时间为2min,
这时A输出和B计算可并行,A输出时间为2 000/1 000=2min,B计算完成后,B输出时间为
600/1 000=0.6min。因此,总运行时间=0.1(A输入时间)+max[3(A计算时间),0.2(B输入
时间)]+max[2(A输入时间),2(B计算时间)]+0.6(B输出时间)=0.1+3+2+0.6=5.7min。
40.【参考答案】
(1)因为2×1 024×8=16 384,所以使用位示图法,每一位表示一个磁盘块是否空闲。
(2)每分钟6 000转,转一转的时间为0.01s(旋转时延为0.01s×0.5),通过一个扇
区的时间为0.000 1s。根据CSCAN调度算法,被访问的磁道号顺序为100、120、30、50、
90。因此,寻道总时间为(20+90+20+40)×1ms=170ms。总共要随机读取4个扇区,时间为
(0.01×0.5+0.000 1)ms×4=0.020 4s=20.4ms。
因此,读完这些扇区总共需要的时间为170ms+20.4ms=190.4ms。
41.【参考答案】
(1)磁盘容量为(300×10×200×512/1 024)KB=3×105KB。
(2)每个柱面有10×200个扇区,每个簇有2个扇区,则每个柱面有1 000个簇。簇号
100 260对应的柱面号为 100 260/1 000 =100;簇号60 005对应的柱面号为 60 005/1 000 =60;
簇号101 660对应的柱面号为 101 660/1 000 =101;簇号110 560对应的柱面号为 110 560/1 000
=110。根据SSTF调度算法的思想,从第85号柱面开始访问的簇号顺序为100 260、101 660、
110 560、60 005。
(3)第100 530号簇在磁盘上的物理地址由其所在的柱面号、磁头号、扇区号构成,其所
在的柱面号为 100 530/(10×200/2) =100。100 530%(10×200/2)=530,故磁头号为 530/
(200/2) =5,扇区号为(530×2)%200=60。将簇号转换成磁盘物理地址的过程由磁盘驱动程
序完成。
42.【参考答案】①SSTF调度算法的磁道访问顺序为92、93、97、102、88、76、65、
20、13、4、150;平均寻道长度为(1+4+4+14+12+10+45+7+9+146)/10=25.3。②电梯调
度算法的磁道访问顺序为92、88、76、65、20、13、43、97、102、150;平均寻道长度为
(4+12+11+45+7+9+89+4+5+48)/10=23.4。
174

第8章 文件管理
本章主要介绍OS通过文件系统来管理程序、数据等信息资源的方法,具体包括文件和文件
系统的基本概念、文件的逻辑结构、文件目录的管理、文件的共享与保护等内容。
计算机操作系统习题与考研真题解析

本章学习目标如下。
(1)了解文件和文件系统的概念、文件的分类和主要操作、文件系统的层次结构;掌握文
件系统的实现过程,理解文件系统的构成。
(2)掌握文件的逻辑结构,文件目录的组成方式;了解文件目录的含义;掌握常用的文件
目录结构和目录查询技术,能够模拟文件按名存取的过程。
(3)了解文件的共享与保护方式。

8.1 知识导图
根据本章重要知识点而总结的知识导图如图2-8-1所示。
第 8 章复习指导
文件定义:具有文件名的一组相关信息的集合

文件 按用途分类:系统文件、用户文件、库文件

按存取控制属性分类:只执行文件、只读文件、读/写文件
文件分类
按组织形式和处理方式分类:普通文件、目录文件、特殊文件
文件和文件系统
按数据形式分类:源文件、目标文件、可执行文件

最高层:文件系统接口

文件系统的层次结构 中间层:对对象进行操纵和管理的软件集合

最低层:对象及其属性

无结构文件/流式文件 顺序文件:存取速度快,插入/删除记录困难,不便于动态扩充
文件的逻辑结构
有结构文件 索引文件:检索速度快,插入/删除记录方便,系统开销大

索引顺序文件:顺序存取速度快,随机访问,增删改记录方便

FCB

单级目录结构
理 索引节点
文件目录 两级目录结构
目录结构
树形目录
目录查询技术
无环图目录

利用索引节点实现共享
文件共享
利用符号链接实现共享

访问权和保护域
文件保护
访问矩阵

图 2-8-1 文件管理知识导图
175

8.2 拓展习题

8.2.1 选择题
1.(名校考研真题,单项选择题,2分)从用户的角度看,文件系统主要用于实现(


)。
A.数据存储 B.数据保护 C.数据共享 D.按名存取 2

部分
2.(名校考研真题,单项选择题,1分)下列表示中可以作为文件名的有( )。

拓展习题及其参考答案与解析
A./usr/ast/mbox B.:/usr/mbox C.mbox D.A、B、C都可以
3.(全国统考真题,单项选择题,2分)在文件系统中,文件访问控制信息所被存储的合
理位置是( )。
A.FCB B.文件分配表 C.用户口令表 D.系统注册表
4.(全国统考真题,单项选择题,2分)在一个文件被用户进程首次打开的过程中,OS需
要做的是( )。
A.将文件内容读到内存中
B.将FCB读到内存中
C.修改FCB中的读/写权限
D.将文件的数据缓冲区首指针返回给用户进程
5.(全国统考真题,单项选择题,2分)若某文件系统的索引节点(inode)中有直接地址
项和间接地址项,则下列选项中与单个文件长度无关的因素是( )。
A.索引节点的总数 B.间接地址索引的级数
C.地址项的个数 D.文件块的大小
6.(名校考研真题,单项选择题,2分)逻辑文件是( )的文件组织形式。
A.在外部设备上 B.从用户观点出发 C.虚拟存储 D.目录
7.(名校考研真题,单项选择题,2分)数据库文件的逻辑结构形式是( )。
A.字符流式文件 B.档案文件 C.记录式文件 D.只读文件
8.(名校考研真题,单项选择题,1分)根据文件的逻辑组织可知,下列文件中( )
是记录文件。
A.堆文件 B.索引文件 C.分区文件 D.链接文件
9.(名校考研真题,单项选择题,2分)文件目录的主要作用是( )。
A.按名存取 B.提高速度 C.节省空间 D.提高外存利用率
10.(全国统考真题,单项选择题,2分)设置当前工作目录的主要目的是( )。
A.节省外存空间 B.节省内存空间
C.加快文件的检索速度 D.加快文件的读/写速度
11.(名校考研真题,单项选择题,2分)使用绝对路径名访问文件是指从( )开始按
目录结构访问某个文件。
A.当前目录 B.用户主目录 C.根目录 D.父目录
12.(名校考研真题,单项选择题,2分)文件的绝对路径名由( )组成。
A.一系列目录名和该文件的文件名
B.文件名及扩展名
C.从根目录到对应文件所经历的全部目录名和文件名
D.相对路径名和文件名
176

13.(名校考研真题,单项选择题,2分)采用多级目录结构后,不同用户文件的文件名
( )。
A.应该相同 B.应该不同 C.相同或不同均可 D.不受系统约束
14.(名校考研真题,单项选择题,1分)如果允许不同用户的文件具有相同的文件名,则
通常采用( )来保证按名存取的安全性。
A.一级目录结构 B.重名解析 C.多级目录结构 D.A和C都对
计算机操作系统习题与考研真题解析

15.(全国统考真题,单项选择题,2分)用户在删除某文件的过程中,OS不可能执行的操
作是( )。
A.删除此文件所在的目录 B.删除与此文件相关联的目录项
C.删除与此文件相对应的控制块 D.释放与此文件相关联的内存级缓冲区
16.(全国统考真题,单项选择题,2分)若文件f 1的硬链接为f 2,两个进程分别打开f 1和
f 2,获得对应的文件描述符为fd1和fd2,则下列叙述中,正确的是( )。
Ⅰ.f1和f2的读/写指针的位置保持相同
Ⅱ.f1和f2共享同一个内存索引节点
Ⅲ.fd1和fd2分别指向各自用户所打开文件表中的一项
A.仅Ⅲ B.仅Ⅱ、Ⅲ C.仅Ⅰ、Ⅱ D.Ⅰ、Ⅱ、Ⅲ
17.(名校考研真题,单项选择题,3分)就文件的共享方式来说,( )会在文件主删
除其共享文件后留下悬空指针。
A.连访法 B.基于索引节点的共享方式 C.绕弯路法
D.基于文件目录法 E.基于符号链接的文件共享方式
18.(名校考研真题,单项选择题,3分)利用( )实现文件共享时,只有文件主才拥
有其索引节点的指针,而共享同一文件的其他用户仅拥有对应文件的路径名,故而不会造成文
件主删除共享文件后遗留悬空指针的问题。
A.PCB B.共享存储器 C.索引节点 D.符号链接
19.(全国统考真题,单项选择题,2分)若多个进程共享同一个文件F,则下列叙述中正
确的是( )。
A.各进程只能用“读”方式打开文件F
B.在系统打开的文件表中仅有一个表项包含F的属性
C.各进程的用户打开的文件表中关于F的表项内容相同
D.进程关闭F时系统会删除F在系统打开文件表中的表项
20.(名校考研真题,单项选择题,2分)关于文件共享方式,不论是基于索引节点的共享
方式还是基于符号链接的共享方式,均存在( )。
A.文件多次遍历时多次遍历共享文件的问题
B.文件主删除共享文件后留下悬空指针的问题
C.非文件主的其他用户访问共享文件时访问时间开销额外加大的问题
D.为每个文件共享用户额外配置索引节点导致空间开销加大的问题
21.在Linux系统中,设文件F1的当前链接计数为1,先建立F1的符号链接文件F2,再建立
F1的硬链接文件F3,则此时文件F1、F2、F3的链接计数值分别是( )。
A.1、1、1 B.2、1、2 C.2、2、2 D.3、1、2
22.(名校考研真题,单项选择题,2分)对一个文件的访问,常由( )来共同限制。
A.用户访问权限和文件属性 B.用户访问权限和用户优先级
177

C.用户优先级和文件属性 D.文件属性和口令
23.(全国统考真题,单项选择题,2分)在某文件系统中,针对每个文件,用户可分为4
类:安全管理员、文件主、文件主的伙伴、其他用户。访问权限分为5种:完全控制、执行、修
改、读取、写入。若FCB中用二进制位串来表示文件权限,则为表示不同类别用户对一个文件
的访问权限,描述文件权限的位数至少应为( )。


A.5 B.9 C.12 D.20 2

部分
24.(名校考研真题,多项选择题,3分)下列选项中,用于描述文件逻辑结构类型的是

拓展习题及其参考答案与解析
( )。
A.记录文件 B.流式文件 C.库文件 D.系统文件
25.(名校考研真题,多项选择题,3分)目录文件由一系列目录项组成,其中可能包含的
内容有( )。
A.文件名 B.文件的所有者 C.文件大小 D.文件修改时间

8.2.2 填空题
26.在文件系统中可命名的最小数据单位是( ),用户以( )为单位对文件进行
存取、检索等,而对文件存储空间的分配则以( )为单位。
27.(名校考研真题,填空题,1分)在OS中,FCB是指( )。
28.(名校考研真题,填空题,1分)由字符序列组成,文件内的信息不再划分结构,这是
指( )。
29.文件目录是( )的有序集合。
30.(名校考研真题,填空题,1分)如果文件系统中有多个重名文件,则不应采用
( )目录结构。

8.2.3 简答题
31.假设在一个文件系统中,物理块的大小为512B,FCB占48B。把FCB分成两个部分:符
号目录项占8B(其中文件名占6B,索引节点编号占2B);基本目录项占40B。现有一个目录文
件包含256个目录项,请问:
(1)在进行目录项分解后,需要多少个物理块来存放目录文件?
(2)在进行目录项分解后,查找一个文件的平均访盘次数为多少?
32.(名校考研真题,简答题,10分)已知yourf ile文件的逻辑结构是由定长记录组成、
按记录号排序的顺序文件,记录长度为128B。其中物理结构采用了顺序文件结构(即逻辑上
连续的记录存放在连续的物理块中),文件的起始地址为200号物理块,物理块长512B。假设
yourfile文件已经打开,且从打开的yourfile文件中读出18号记录(从0开始编号),请问:
(1)启动磁盘的次数是多少?
(2)每次读的物理块号是多少?
(3)块内位移量是多少?
33.文件顺序存取与随机存取的主要区别是什么?
34.(名校考研真题,简答题,5分)举例说明线性检索法的检索过程(例如查找/usr/ast/
mbox)。
35.(名校考研真题,简答题,5分)一张普通光盘的容量一般不超过700MB,可对于某些
178

多合一的Windows安装光盘,通过查看其属性发现,其容量只有几百MB,但在Windows系统的
资源管理器中,选中所有文件并查看其大小,通常有几个GB,请解释此现象。
36.(名校考研真题,简答题,8分)OS中的文件共享机制有哪些?它们是如何实现的?各
有什么优缺点?

8.2.4 综合应用题
计算机操作系统习题与考研真题解析

37.在文件系统中,设定盘块的大小为512B。假设一个FCB占64B,其中文件名占8B。通
常将FCB分解成两部分,第一部分占10B(其中文件名占8B,文件号占2B),第二部分占54B
(包括文件内部号和文件的其他描述信息)。
(1)假定某一目录文件共有254个FCB,试分别给出采用分解法前后查找该目录中某一
FCB的平均访问磁盘次数。
(2)一般地,若目录文件分解前占用n个盘块,分解后改用m个盘块来存放文件名和文件内
部号,请给出访问磁盘次数减少的条件。
38.用户A有名为W1、W2、W3的3个私有文件,用户B有名为J1和J2的2个私有文件,这2
个用户都要使用共享文件T。文件系统对所有用户提供按名存取的功能,为保证存取的正确性,
文件系统应设置合理的目录结构,请画出该目录结构。
39.某树形结构的文件系统如图2-8-2所
根目录
示,其中矩形表示目录,圆圈表示文件,请回
答是否可以进行以下操作。
A B C D
(1)在目录D中建立一个文件,取名为A?
(2)将目录C改为A?
E F G H
(3)若E和G分别是两个用户的目录,则
①用户E要共享文件Q,应具备什么条件?如 K
I J L M N
何操作?②在某段时间内,用户G主要使用文
件S和T。为了简化操作并提高速度,应如何处 O P
理?③用户E要对文件I施加保护,不允许别人
使用,能否实现?若能,则应如何实现?
Q R S T

图 2-8-2 某树形结构的文件系统
8.3 参考答案与解析

8.3.1 选择题
1.【参考答案】D
【解析】用户仅须向系统提供所需要访问的文件名称,就可以快速准确地找到指定文件在
外存上的存储位置,这是文件系统向用户提供的最基本的服务。
2.【参考答案】C
【解析】文件名中不能包含下列任何字符:/ \ : * ? < >。
3.【参考答案】A
【解析】在FCB中,通常含有3类信息:基本信息、存取访问控制信息及使用信息。本题
中,文件访问控制信息所被存储的合理位置是FCB。
179

4.【参考答案】B
【解析】FCB是指用来存放控制文件需要的各种信息的数据结构,与文件一一对应。用户
程序首次打开一个文件时,OS会将其FCB读到内存中。
5.【参考答案】A
【解析】索引节点的总数就是文件的总数,其与单个文件的长度无关。


6.【参考答案】B 2

部分
【解析】逻辑文件是从用户角度看的文件组织形式,是用户可以直接处理的数据结构。

拓展习题及其参考答案与解析
7.【参考答案】C
【解析】文件的逻辑结构是指文件的数据组织形式,可以分为有结构的记录式文件和无结
构的字符流式文件。数据库文件的逻辑结构形式是有结构的记录式文件。
8.【参考答案】B
【解析】文件的逻辑结构包含有结构文件和无结构文件,其中有结构文件根据记录的长度
可分为定长和不定长两类;若采用不同方式组织这些记录,则可形成顺序文件、索引文件和索
引顺序文件等逻辑结构。无结构文件也叫作字符流式文件,其长度以字节为单位。
9.【参考答案】A
【解析】文件目录有4个作用,分别是按名存取、提高对目录的检索速度、文件共享和允许
文件重名。其中按名存取是文件目录最主要、最基本的作用。
10.【参考答案】C
【解析】在设置当前工作目录后,默认情况下的文件查找是指查找当前目录,目的是加快
文件的检索速度。
11.【参考答案】C
【解析】绝对路径名是从根目录开始到数据文件为止所构成的路径名称;相对路径名是指
从当前目录开始到数据文件为止所构成的路径名称。
12.【参考答案】C
【解析】绝对路径名被指定为从树形目录的根目录开始到某个目录或文件为止的路径,其
由一系列连续的目录所组成,中间用“/”分隔,直到要指定的目录或文件为止,路径中的最后
一个名称即要指向的目录或文件。
13.【参考答案】C
【解析】多级目录结构中的文件可以重名。
14.【参考答案】C
【解析】一级目录结构不允许文件重名,多级目录结构允许文件重名。
15.【参考答案】A
【解析】删除某文件时,OS会删除其对应的关联目录项和FCB,同时释放文件的关联缓冲
区,但此文件所在目录不会被删除。
16.【参考答案】 B
【解析】硬链接是指将文件名和索引节点进行链接。一个文件在外存上有一个索引节点编
号,可以有多个文件名指向该索引节点,每个文件只维护自己的文件描述符。
17.【参考答案】B
【解析】本题分步解答如下。①基于索引节点的共享方式,其优点在于“建立新的共享链
接不会改变文件主的关系,仅须令索引节点共享计数器加1,因此系统可方便获悉有多少个目录
项指向该文件”。但是,文件主不能删除自己的文件,否则将留下指向该结点的悬空指针,进
180

而导致在该结点再分配时系统出错。②基于符号链接实现文件共享时,只有文件主才拥有指向
其索引节点的指针,而共享该文件的其他用户只有该文件的路径名,这就避免了文件主删除共
享文件后指针悬空的问题。
18.【参考答案】D
【解析】符号链接共享方式是指由系统创建一个LINK型新文件,其中包含被链接文件的路
径名。当某文件要访问被链接的文件时,OS根据LINK型新文件的路径名读取该文件,进而实现
计算机操作系统习题与考研真题解析

该文件对链接文件的共享。在基于符号链接实现文件共享时,只有文件主才拥有指向其索引节
点的指针,而其他共享用户只有该文件的路径名。当文件主把共享文件删除后,其他用户对该
文件的访问将会失败,符号链接无效。
19.【参考答案】B
【解析】选项A中各进程既可以用读方式也可以用写方式打开文件F;选项B中系统打开
的文件表只有一张,正确;选项C中各进程的用户所打开的文件表中,关于同样一个文件的表
项内容不一定相同;选项D中进程关闭F时会使F的引用计数值减1,引用计数值为0时才会删除
表项。
20.【参考答案】D
【解析】在基于索引节点的共享方式中,索引节点中存放着诸如文件的物理地址及其他文
件属性等信息。在基于符号链接的共享方式中,索引节点中共享某文件的其他用户只有该文件
的路径名,其索引也要耗费一定的磁盘空间。
21.【参考答案】B
【解析】设文件F1的当前链接计数值为1,建立符号链接(软链接)时,链接计数值直接被
复制,因此F2的链接计数值为1;建立硬链接时,引用计数值加1,故F1和F3的链接计数值均为2。
22.【参考答案】A
【解析】对文件的访问通常由用户访问权限和文件属性共同限制。
23.【参考答案】D
【解析】用二进制位串表示不同类别用户对一个文件的访问权限,所对应的访问矩阵共有4
行5列(1代表TRUE,0代表FALSE),故共需要4×5=20位。
24.【参考答案】AB
【解析】文件的逻辑结构是用户可见结构。逻辑文件从结构上可分为两类:一类是无结构
的字符流式文件,是指对文件内信息不再划分单位,它是由一串字符流构成的文件;另一类是
有结构的记录式文件,是指用户把文件内的信息按逻辑上独立的含义划分成信息单位,每个单
位称为一个逻辑记录(简称记录)。
25.【参考答案】ABCD
【解析】为了实现文件目录的管理,通常将文件目录以文件的形式保存在外存空间,这个
文件被称为目录文件。文件目录是建立文件名与外存空间中物理地址对应关系的数据结构,每
个文件在文件目录中登记一项,作为文件系统建立和维护文件的清单。其中至少要包含文件
名、文件内部标志、文件的类型、文件存储地址、文件的所有者、文件大小、访问权限、建立
时间和修改时间等内容。

8.3.2 填空题
26.【参考答案】数据项;记录;文件
【解析】数据项是数据记录中最基本的、不可分的有名数据单位。记录是一组相关数据项
181

的集合,用于描述一个对象在某方面的属性。文件是具有文件名的一组相关信息的集合,作为
文件系统中最大的数据单位,它描述了一个对象集。系统以文件为存储空间的分配单位。
27.【参考答案】文件控制块
【解析】FCB的英文全称是file control block,中文全称是文件控制块。
28.【参考答案】字符流式文件


【解析】无结构的字符流式文件,其长度以字节为单位。对字符流式文件的访问是指利 2

部分
用读/写指针指示下一个要访问的字符。大量的源程序、可执行程序、库函数等均为无结构

拓展习题及其参考答案与解析
文件。
29.【参考答案】FCB
【解析】文件与FCB一一对应,为了提高文件检索效率,OS常将FCB集中管理。这种FCB
的有序集合称为文件目录,一个FCB就是其中的一个文件目录项。
30.【参考答案】单级
【解析】在整个文件系统中只建立一张目录表,每个文件占一个目录项,当访问一个文件
时,须先按文件名在该目录中查找到相应的FCB,因此所有目录项均不能有重名的情况。

8.3.3 简答题
31.【参考答案】
(1)符号目录项占8B,物理块大小为512B,目录文件包含256个目录项,则分解后存放符
号文件所需的物理块数为(8×256)/512=4。
(2)采用分解法后,由于256个目录项需要4个盘块,因此查找一个文件的第一部分的平均
访盘次数为(1+5)/2=3次;然后启动并访问磁盘1次,读取文件。故查找一个文件的平均访盘
次数是3+1=4次。
32.【参考答案】
(1)顺序文件是直接存取文件,因而仅需要启动1次磁盘即可。
(2)文件的起始地址是200号物理块,因为512/128=4,所以每个物理块可以存放4条记
录。18号记录从0开始编号是第19号记录,而0~3、4~7、8~11、2~15、16~19这些记录号分
别在一个物理块上,故18号记录所在的物理块号为200 + 4 = 204号。
(3)因为18号记录是16~19这个物理块的第3个记录,每个记录占128B,记录从0地址开始
存储,第1个记录占0~127B,第2个记录占128~255B,所以该物理块中第3个记录的起始位置
(即块内偏移量)为128×(3-1)=256。
33.【参考答案】本题分步解答如下。
(1)顺序存取是严格按照文件中的物理记录排列顺序依次存取的。
(2)随机存取允许随意存取文件中的任意一条物理记录。
(3)对于变长记录式文件,随机存取实际退化成了顺序存取。
34.【参考答案】线性检索法又称为顺序检索法。在单级文件目录中,利用用户提供的文
件名,采用顺序检索法直接从文件目录中找到指定文件的目录项;在树形目录中,用户提供的
文件名是由多个文件分量名所组成的路径名,因此要对多级目录进行查找。
假设用户查找的文件路径名是/usr/ast/mbox,则查找过程如图2-8-3所示。具体查找过程
如下。
(1)系统将路径名中的第1个文件分量名usr读入内存,将其与根目录文件或当前目录
182

文件的各目录项中的文件名进行顺序比较,找到匹配项,进而得到该匹配项的索引节点编号
(6号),从6号索引节点中得知usr目录文件放在132号盘块中,然后将该盘块的内容读入内存。
(2)系统将路径名中的第2个文件分量名ast读入内存,将其与放在132号盘块中的第2级目
录文件的各目录项文件名进行顺序比较,找到匹配项,得知ast目录文件放在26号索引节点中,
再从26号索引节点中得知/use/ast/放在406号盘块中,然后将该盘块的内容读入内存。
(3)系统将路径名中的第3个文件分量名mbox读入内存,将其与第3级目录文件/usr/ast的各
计算机操作系统习题与考研真题解析

目录项文件名进行顺序比较,得到/usr/ast/mbox的索引节点编号为60,即在60号索引节点中存放
着指定文件的物理地址。至此,目录查找工作已全部结束。如果在查找过程中未找到任一文件
分量名,则停止查找,并返回“文件未找到”信息。

块132存放 块406存放
根目录 i节点6 目录/usr i节点26 目录/usr/ast i节点60
1 · 6 · 26 ·



1 ·· 1 ·· 6 ··
135
4 bin 19 dick 64 grants 147
132 406 126
7 dev 30 erik 92 books
138

14 lib 51 jim 60 mbox


9 etc i节点6指出 26 ast i节点26指出 81 minix
/usr在块132中 /usr/ast在406块中
i节点60指出
6 usr 45 bal 17 src
/ usr/ast/mbox所占块
8 tmp 71 xu 24 girs

从根目录查/usr 查/usr/ast 查/usr/ast/mbox


得到i节点6 得到i节点26 得到i节点60

图 2-8-3 顺序查找 /usr/ast/mbox 文件过程图

35.【参考答案】当查看光盘属性时,看到的是光盘的实际容量。在Windows系统中,由于
存在着文件的共享,每个共享文件都有几个文件名,即每增加一条链接,就增加一个文件名,当
遍历整个文件系统时,将会多次遍历到该共享文件,故选中文件查看其大小通常有几个GB。
36.【参考答案】本题分步解答如下。
(1)OS中关于文件共享机制通常有基于索引节点(硬链接)的共享方式和基于符号链接
(软链接)的共享方式。其中硬链接由文件名和索引节点构成各用户的文件目录,通过指向同一
索引节点来达到共享的目的。软链接是通过创建一个包含文件名和指向该文件路径的LINK文件,
路径名称为符号链接,符号链接不经过共享文件的索引节点,读/写由OS通过截获来实现。
(2)基于索引节点的共享方式通过在索引节点中设置一个连接计数,记录链接到本索引节
点目录项的数目,实现文件的共享。由于硬链接是文件名不同但索引节点编号相同的文件,因
此,删除一个硬链接文件并不影响其他具有相同索引节点编号的文件。但硬链接不能对目录进
行创建,且硬链接只能对已存在的文件进行创建。基于符号链接的共享方式将共享文件的LINK
文件记录在链接父目录中。删除软链接并不影响被指向的文件,但若被指向的文件被删除,则
相关软链接会变成无效。采用基于符号链接的共享方式可对不存在的文件或目录创建软链接。

8.3.4 综合应用题
37.【参考答案】
(1)采用分解法前,盘块的大小为512B。1个FCB占64B,则254个FCB需要(64×254)/
512=32个盘块,查找一个文件的平均访盘次数为(1+32)/2=16.5次。采用分解法后,1个FCB占
183

10B,则254个FCB需要(10×254)/512=5个盘块,查找一个文件的第一部分的平均访盘次数为
(1+5)/2=3次;查找其第二部分要访盘1次,故查找1个FCB的平均访盘次数为3+1=4次。
(2)访盘次数减少的条件为:(n+1)/2>(m+1)/2+1,即m<n-2。
38.【参考答案】采用二级目录结构或多级目录结构,如图2-8-4所示。


主文件目录 A B …
2

部分
文件 W1 W2 W3 T T J1 J2

拓展习题及其参考答案与解析
… …

图 2-8-4 文件系统目录结构图

39.【参考答案】在本题中,文件系统采了多级目录结构。
(1)由于目录D中没有已命名为A的文件,因此在目录D中可以建立一个文件A。
(2)因为在文件系统的根目录下已存在一个目录A,所以根目录下的目录C不能改名为A。
(3)若E和G分别是两个用户的目录,则①用户E若要共享文件Q,则用户E须有访问文件Q
的权限。在访问权限许可的情况下,用户E可通过相应的路径来访问文件Q,即用户E通过自己
的主目录E找到其父目录C,再访问目录C的父目录(根目录),然后依次通过目录D、目录G、
目录K和目录O访问到文件Q。若用户E的当前目录为E,则访问路径为:··/··/D/G/K/O/
Q,其中符号“··”表示一个目录的父目录。②用户G要通过依次访问目录K和目录P,才能访问
到文件S及文件T。为了提高访问速度,可以在目录G下建立两个链接文件,分别链接到文件S及
文件T上。这样,用户G即可直接访问这两个文件。③用户E要对文件I施加保护,可以通过修改
文件I的存取控制表来实现,即在文件I的存取控制表中只留下用户E的访问权限,使其他用户对
该文件无操作权限,即可达到不让其他用户访问该文件的目的。

第9章 磁盘存储器管理
本章主要介绍OS对磁盘存储器的管理,具体包括文件在外存的组织方式、磁盘空闲空间的
管理、提高磁盘I/O速度的途径以及提高磁盘可靠性的技术等内容。
本章学习目标如下。
(1)了解外存组织方式的含义,掌握连续组织方式、链接组织方式和索引组织方式的具体
实现过程及其优缺点。
(2)了解文件存储空间的管理方式,掌握空闲区表法和空闲链表法、位示图法、成组链接
法的空闲空间盘块组织方式、回收和分配的过程以及主要优缺点。
(3)了解提高磁盘I/O速度的途径及提高磁盘可靠性的主要技术。

9.1 知识导图
根据本章重要知识点而总结的知识导图如图2-9-1所示。 第 9 章复习指导
184

优点:顺序访问容易且速度快
连续组织
缺点:要求空间连续、事先知道文件大小,增删记录不灵活,动态增长困难

优点:外存利用率 隐式链接:每个盘块中
含有下一个盘块的位置 缺点:可靠性差
高、增删改记录容
指针
计算机操作系统习题与考研真题解析

易、方便文件动态
外存的 链接组织
增长
组织方式 缺点:不支持高效 显式链接:各物理块的 优点:在内存中检索速度快
的直接存取 位置放在内存的FAT中 缺点:FAT会占内存空间

单级索引
优点:支持直接访问,查找速度快,外存利用率高
索引组织 缺点:索引块号会占据磁盘块,索引块利用率低, 多级索引
启动磁盘的次数会随索引级数的增加而增加
增量式索引

空闲区表法:连续分配方式,为所有空闲区建立一张空闲表,每个空闲区对应一个表项
磁盘存储器管理

空闲链表法:将所有空闲盘区连成一条空闲链
文件存储空间
的管理
位示图法:利用二进制的一位来表示磁盘中一个盘块的使用情况

成组链接法:UNIX/Linux等系统的文件系统采用的文件空间管理
方法,将空闲块分成若干组,各组之间进行链接

磁盘高速缓存

提高磁盘I/O
其他方法:提前读、延迟写、优化物理块分布、虚拟盘等
速度的途径

廉价磁盘冗余阵列

第一级容错技术

容错技术 第二级容错技术
提高磁盘
可靠性的技术
后备系统 基于集群系统的容错技术
数据一致性控制

图 2-9-1 磁盘存储器管理知识导图

9.2 拓展习题

9.2.1 选择题
1.有一个长度为3 200B的流式文件要存储在磁盘上,磁盘的每块可以存放512B,则存放该
文件至少需要( )块磁盘。
A.5 B.6 C.7 D.3 000
185

2.(名校考研真题,单项选择题,2分)按文件的物理结构可将文件分成( )等。
A.数据文件、命令文件、文本文件 B.命令文件、库文件、索引文件
C.连续文件、链式文件、索引文件 D.输入文件、输出文件、随机文件
3.(名校考研真题,单项选择题,2分)采用直接存取方法来读/写硬盘上的物理记录时,
效率最低的文件是( )。


A.连续文件 B.索引文件 C.链接文件 D.索引连续文件 2

部分
4.(全国统考真题,单项选择题,2分)在下列文件的物理结构中,适合随机访问且易于

拓展习题及其参考答案与解析
文件扩展的是( )。
A.连续结构 B.索引结构
C.链式结构且磁盘块定长 D.链式结构且磁盘块变长
5.(全国统考真题,单项选择题,2分)为支持CD-ROM中视频文件的快速随机播放,播
放性能最好的文件数据块组织方式是( )。
A.连续结构 B.链式结构 C.直接索引结构 D.多级索引结钩
6.(全国统考真题,单项选择题,2分)下列选项中支持文件长度可变、随机访问的磁盘
存储空间分配方式是( )。
A.索引分配 B.链接分配 C.连续分配 D.动态分区分配
7.(名校考研真题,单项选择题,3分)关于文件的物理结构类型,( )可以方便地
支持和实现直接存取。
A.顺序文件 B.隐式链接文件 C.显式链接文件 D.目录文件
8.(名校考研真题,单项选择题,1分)在文件系统中,若文件的物理结构采用连续结
构,则FCB中有关文件的物理位置的信息包括( )。
X.首块地址 Y.文件长度 Z.索引表地址
A.X、Y B.X、Z C.Y、Z D.X、Y、Z
9.在磁盘上,最容易导致产生存储碎片的文件物理结构是( )。
A.隐式链接 B.顺序结构 C.索引结构 D.显示链接
10.(全国统考真题,单项选择题,2分)某文件系统的簇和磁盘扇区的大小分别为1KB和
512B。若一个文件的大小为1 026B,则系统分配给该文件的磁盘空间的大小是( )。
A.1 026B B.1 536B C.1 538B D.2 048B
11.(全国统考真题,单项选择题,2分)下列选项中,磁盘逻辑格式化程序所做的工作是
( )。
Ⅰ.对磁盘进行分区
Ⅱ.建立文件系统的根目录
Ⅲ.确定磁盘扇区校验码所占的位数
Ⅳ.对保存空闲磁盘块信息的数据结构进行初始化
A.仅Ⅱ B.仅Ⅱ、Ⅳ C.仅Ⅲ、Ⅳ D.仅Ⅰ、Ⅱ、Ⅳ
12.(名校考研真题,单项选择题,2分)对于以扇区(512B)为基本分配单位的FAT12文
件系统(FAT的表项为12位),其所支持的磁盘分区容量为( )B。
A.256K B.4M C.2M D.8M
13.(全国统考真题,单项选择题,2分)设文件索引节点中有7个地址项,其中4个地址项
为直接地址索引,2个地址项为一级间接地址索引,1个地址项为二级间接地址索引,每个地址
项的大小为4B,若磁盘索引块和磁盘数据块的大小均为256B,则可表示的单个文件的最大长度
186

是( )。
A.33KB B.519KB C.1 057KB D.16 513KB
14.(全国统考真题,单项选择题,2分)在文件的索引节点中存放直接索引指针10个,一
级和二级索引指针各1个。磁盘块大小为1KB,每个索引指针占4B。若某文件的索引节点已在内
存中,则把该文件偏移量(按字节编址)为1 234和307 400处的磁盘块读入内存,访问磁盘的次
数分别是( )。
计算机操作系统习题与考研真题解析

A.1、2 B.1、3 C.2、3 D.2、4


15.(全国统考真题,单项选择题,2分)现有容量为10GB的磁盘分区,磁盘空间以簇
(cluster)为单位进行分配,簇的大小为4KB, 若采用位示图法管理该分区的空闲空间,即用1
位(bit)标志1个簇是否被分配,则存放该位示图所需簇的个数为( )。
A.80 B.320 C.80K D.320K
16.(名校考研真题,单项选择题,2分)空闲链表法可用于( )。
A.文件的空闲盘块组织 B.磁盘的设备调度
C.CPU调度算法 D.请求分页虚拟管理中的页面置换
17.(名校考研真题, 单项选择题,2分)UNIX系统中对空闲磁盘存储空间采用( )
方法进行管理。
A.位示图 B.空闲块成组链接 C.空闲块单向链接 D.空闲块表
18.(名校考研真题,单项选择题,2分)位示图可用于( )。
A.实现文件的保护和保密 B.文件目录的查找
C.磁盘空间的管理 D.内存空间的共享
19.(全国统考真题,单项选择题,2分)文件系统采用位示图法表示磁盘空间的分配情况,
位示图存放在磁盘的32~127号盘块中,每个盘块占1 024B,盘块和块内字节均从0开始编号。假设
要释放的盘块号为409 612,则位示图中要修改的位所在盘块号和块内字节序号分别是( )。
A.81、1 B.81、2 C.82、1 D.82、2
20.(名校考研真题,单项选择题,3分)关于文件存储空间的管理方式,( )要使用
空闲盘块号栈。
A.空闲区表法 B.空闲链表法 C.位示图法 D.成组链接法
21.(全国统考真题,单项选择题,2分)下列选项中,可用于文件系统管理空闲磁盘块的
数据结构是( )。
I.位示图 Ⅱ.索引节点 Ⅲ.空闲磁盘块链 Ⅳ.文件分配表
A.仅I、Ⅱ B.仅Ⅰ、Ⅲ、Ⅳ C.仅l、Ⅲ D.仅Ⅱ、Ⅲ、Ⅳ
22.假设有一个记录文件,采用链接分配方式,逻辑记录的固定长度为120B,盘块大
小为512B。若该文件的目录项已经读入内存,则对第25个记录完成修改后,共访问磁盘
( )次。
A.5 B.6 C.7 D.8
23.(名校考研真题,单项选择题,2分)磁盘高速缓存设在( )中。
A.内存 B.磁盘控制器 C.Cache D.磁盘
24.(全国统考真题,单项选择题,2分)在系统内存中设置磁盘缓冲区的主要目的是
( )。
A.减少磁盘I/O次数 B.减少平均寻道时间
C.提高磁盘数据的可靠性 D.实现设备无关性
187

25.(全国统考真题,单项选择题,2分)下列选项中,不能改善磁盘设备I/O性能的是
( )。
A.重排I/O请求次序 B.在一个磁盘上设置多个分区
C.预读和滞后写 D.优化文件物理块的分布
26.(全国统考真题,单项选择题,2分)下列优化方法中,可以提高文件访问速度的是


( )。 2

部分
Ⅰ.提前读 Ⅱ.为文件分配连续的簇 Ⅲ.延迟写 Ⅳ.采用磁盘高速缓存

拓展习题及其参考答案与解析
A.仅Ⅰ、Ⅱ B.仅Ⅱ、Ⅲ C.仅Ⅰ、Ⅲ、Ⅳ D.Ⅰ、Ⅱ、Ⅲ、Ⅳ

9.2.2 填空题
27.(名校考研真题,填空题,2分)OS以( )为单位给文件分配磁盘空间。
28.(名校考研真题,填空题,2分)磁带、磁盘这样的存储设备都是以( )为单位与
内存进行信息交换的。
29.(名校考研真题,填空题,4分)文件是带标志的信息的集合,可以通过标志对其内容
进行存取,该标志称为( )。文件的逻辑结构有两种,分别是( )和( )。文件
信息在存储介质上的组织方式称为文件的( ),其中,( )组织方式具有存取速度快
的优点,但不能支持动态增长。
30.(名校考研真题,填空题,1分)文件逻辑块映射到磁盘物理块的方法有连续分配、
( )和( )。
31.文件系统采用两级索引分配方式,若每个磁盘块的大小为1KB,每个盘块号占4B,则
在该系统中单个文件的最大长度是( )。
32.(名校考研真题,填空题,1分)使用位示图(28行,35列)表示空闲盘块状态。当分配
了一个盘块的盘块号为177时,该盘块在位示图中的行列数为( )(注:行列始下标为0)。

9.2.3 简答题
33.(名校考研真题,简答题,9分)OS在为文件分配外存空间时所要考虑的主要问题
是:怎样才能有效地利用外存空间和如何提高对文件的访问速度?请简要阐明UNIX System V文
件系统采用混合索引组织方式如何达到上述目的,并比较混合索引组织方式相对于连续组织方
式、链接组织方式和索引组织方式的优势。
34.假设某文件为链接文件,由5个逻辑记录组成,每个逻辑记录的大小与磁盘块的大小相
等,均为512B,并依次存放在50、121、75、80、63号磁盘块上。若要存取文件的第1569逻辑字
节处的信息,则要访问哪个磁盘块?

9.2.4 综合应用题
35.(名校考研真题,计算题,10分)假定磁盘的盘块大小为1KB(1K=1 024),若采用
FAT文件系统进行管理,FAT表项大小要求为半字节的整数倍,且FAT占用的空间要求尽可能
小,则请回答以下问题:
(1)当硬盘容量为800MB时,其FAT占用多少存储空间?
(2)当硬盘容量为2GB时,其FAT占用多少存储空间?
36.(名校考研真题,计算题,7分)假设某文件系统采用混合索引文件物理结构,各文件
188

的FCB(或索引节点)包含10个直接地址项、1个一级间址项、1个二级间址项以及1个三级间址
项。若磁盘盘块的大小是2KB,而磁盘盘块地址(即盘块号)占4B,则该文件系统支持的最大
文件长度是多少?
37.(名校考研真题,计算与编程题,12分)某文件系统采用混合索引方式组织文件的存
储空间,其盘块大小是4KB,每个目录项中包括13个地址项,其中0~9是直接地址,10为一级
间址,11为二级间址,12为三级间址。已知1个地址占4B,现有文件A、B、C,它们的大小分别
计算机操作系统习题与考研真题解析

为5KB、40.5KB、4 138KB,若不计目录项,则请问这些文件分别占用多大的磁盘空间?
38.某计算机系统利用位示图来管理磁盘文件空间。假定该磁盘组共有100个柱面,每个柱面
有20个磁道,每个磁道分成8个扇区(盘块),每个盘块的大小为1KB,位示图如图2-9-2所示。

j
i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
3 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0
4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
… …

图 2-9-2 磁盘文件空间位示图

(1)试给出位示图中位置(i,j)与对应盘块所在的物理位置(柱面号,磁头号,扇区
号)之间的计算公式。假定柱面号、磁头号、扇区号都从0开始编号。
(2)试说明分配和回收1个盘块的过程。
39.(全国统考真题,综合应用题,8分)某磁盘文件系统使用链接组织方式来组织文
件,簇大小为4 KB。目录文件的每个目录项包括文件名和文件的第一个簇号,其他簇号存放在
FAT中。
(1)假定目录树如图2-9-3所示,各文件占用的簇号及顺序如表2-9-1所示,其中dir、 dir1是
目录,file1、file2是用户文件。请给出所有目录文件的内容。

表2-9-1 文件占用簇号顺序
dir
文件名 簇号
dir1
dir 1
file1 dir1 48

file2 file1 100、106、108


file2 200、201、202
图 2-9-3 目录树

(2)若FAT的每个表项仅存放簇号,占2B,则FAT的最大长度为多少字节?该文件系统支
持的文件长度最大是多少?
(3)系统通过目录文件和FAT实现对文件的按名存取,请说明file1的106、108两个簇号分
别存放在FAT的哪个表项中?
(4)假设仅FAT和dir目录文件已读入内存,若要将文件dir/dir1/file1的第5 000个字节读入内
存,则要访问哪几个簇?
40.(全国统考真题,综合应用题,8分)某文件系统空间的最大容量为4TB(1T=240),
以磁盘块为基本分配单位,磁盘块大小为1KB。FCB包含一个大小为512B的索引表区。请回答
189

下列问题。
(1)假设索引表区仅采用直接索引结构,索引表区存放文件所占用的磁盘块号最少占多少
字节?可支持的单个文件的最大长度是多少字节?
(2)假设索引表区采用如下结构:第0~7B采用<起始块号,块数>格式,表示文件创建
时预分配的连续存储空间,其中起始块号占6B,块数占2B;剩余504B采用直接索引结构,一个


索引项占6B。则可支持的单个文件的最大长度是多少字节?为了使单个文件的长度达到最大, 2

部分
请指出起始块号和块数分别所占字节数的合理值,并说明理由。

拓展习题及其参考答案与解析
41.(全国统考真题,综合应用题,7分)某文件系统采用索引节点存放文件的属性和地
址信息,簇的大小为 4KB。每个文件索引节点占64B,有11个地址项,其中直接地址项8个,一
级、二级和三级间址项各1个,每个地址项的长度均为4B。请回答下列问题。
(1)该文件系统能支持的最大文件长度是多少(给出计算表达式即可)?
(2)文件系统用1M个簇存放文件索引节点,用512M个簇存放文件数据。若一个图像文件
的大小为5 600B,则该文件系统最多能存放多少个这样的图像文件?
(3)若文件F1的大小为6KB,文件F2的大小为40KB,则该文件系统获取F1和F2最后一个
簇的簇号需要的时间是否相同?为什么?
42.(名校考研真题,综合应用题,10分)某系统采用成组链接法管理磁盘的空闲空间,目
前磁盘的盘块链接情况如图2-9-4所示。首先由进程A申请3个物理块,进程B再释放4个物理块155、
182、191、163,试分别画图说明进程A申请物理块后和进程B释放物理块后的盘块链接情况。

S.free 100 30
free[0] 50 65
free[1] 52 124

free[96] 80 80# 165


free[97] 95 95# 47
free[98] 105 105# 50#
free[99] 9 9#

图 2-9-4 磁盘成组链接时盘块的链接情况

9.3 参考答案与解析

9.3.1 选择题
1.【参考答案】C
【解析】3 200/512商为6,余数为128,因此需要7块。
2.【参考答案】C
【解析】按文件的物理结构可将文件分成顺序文件(连续文件)、链接文件(链式文
件)、索引文件和直接文件。
3.【参考答案】C
【解析】采用直接存取法来读/写硬盘上的物理记录时,效率最高的是索引文件,其次是连
190

续文件,效率最低的是链接文件。
4.【参考答案】B
【解析】连续结构不易于文件扩展,链式结构无法实现随机访问,索引结构会为每个文件
建立一张索引表,既适合随机访问,又易于文件扩展。
5.【参考答案】A
【解析】为了实现快速随机播放,需要保证最短的查询时间。因为连续结构存放的盘块连
计算机操作系统习题与考研真题解析

续,磁盘读取次数少,磁头移动距离也比较短,所以连续结构最优。
6.【参考答案】A
【解析】索引分配既支持文件长度可变,也支持随机访问;链接分配不支持随机访问;连
续分配不支持长度可变;动态分区分配是一种内存管理方式。
7.【参考答案】A
【解析】一个文件中逻辑上连续的信息存放到依次相邻的盘块上所形成的文件叫作顺序文
件,其支持顺序存取和随机存取,顺序存取速度快,所需的磁盘寻道次数和寻道时间最少。链
接文件的信息存放在若干个不连续的物理块中,各块之间通过指针链接,前一个物理块指向下
一个物理块,只能顺序存取。目录文件不是文件的物理结构类型。
8.【参考答案】A
【解析】若文件的物理结构采用连续结构,则磁盘会为文件分配连续的物理块,因此在
FCB中要包括分配给文件的首块地址,然后根据文件分配的物理块数就可以找到分配给该文件
的所有物理块。
9.【参考答案】B
【解析】顺序文件采用连续分配方式,占用连续的磁盘空间,容易导致产生存储碎片(外
部碎片)。
10.【参考答案】D
【解析】磁盘空间按簇分配,1 026B占用2个簇,磁盘空间为2 048B。
11.【参考答案】B
【解析】对磁盘进行分区和确定磁盘扇区校验码所占位数等工作,是在磁盘逻辑格式化之
前完成的。
12.【参考答案】C
【解析】每个FAT的表项为12位,则FAT中最多允许存在212=4 096个表项,如果采用盘块作
为基本分配单位,每个盘块的大小为512B,则每个表项记录1个盘块的物理地址,所支持的磁盘
分区容量为212×512B=2MB。
13.【参考答案】C
【解析】单个文件的最大长度为(4×256+2×256/4)×256+1×(256/4)×(256/4)×
256=1 057KB。
14.【参考答案】B
【解析】10个直接索引指针指向的数据块大小为10× 1KB=10KB;每个索引指针占
4 B ,则每个磁盘块可存放1KB/ 4B =256个索引指针,一级索引指针指向的数据块大小为
256×1KB=256KB;二级索引指针指向的数据块大小为256×256×1KB=2 16KB=64MB。按字
节编址,偏移量为1 234时,因1 234B<10KB,故由直接索引指针可以得到其所在的磁盘块地
址。文件的索引节点已在内存中,则地址可直接得到,故访盘1次即可。偏移量为307 400时,
由10KB+256KB<307 400B<64MB可知,该偏移量的内容在二级索引指针所指向的某个磁盘
191

块中,因索引节点已在内存中,故可先访盘2次得到文件所在的磁盘块地址,再访盘1次读出内
容,因此共须访盘3次。
15.【参考答案】A
【解析】磁盘中簇的总数为10GB/4KB=2.5M个。每个簇用1位标志,则2.5M个簇共需2.5M
个位标识符,需要的空间为2.5M/8=320KB,故共需320/4=80个簇。


16.【参考答案】A 2

部分
【解析】空闲链表法用于对文件存储空间进行管理,它会将所有空闲盘区拉成一条空闲

拓展习题及其参考答案与解析
链。在空闲链表法中,链表可分为空闲盘块链和空闲盘区链。因此,空闲链表法可用于文件的
空闲盘块组织。
17.【参考答案】B
【解析】UNIX系统采用空闲块成组链接法对空闲磁盘进行管理,即把所有的空闲块按照固
定数量进行分组,组和组之间会形成链接关系。
18.【参考答案】C
【解析】位示图是利用二进制的1位来表示磁盘中1个盘块的使用情况的。因此,位示图可
用于磁盘空间管理。
19.【参考答案】C
【解析】 409 612/(8×1 024) =50,409 612%(8×1 024)=12,盘块号=起始块号+偏移
量=32+50=82;块内字节序号为 12/8 =1。
20.【参考答案】D
【解析】文件存储空间的管理方式中的空闲表用于将所有的空闲块记录在一张表中,并为每
个空闲块建立一个表目。空闲链表将盘上的所有空闲块用链接指针或索引结构组织成一个空白文
件。位示图将文件存储器的存储空间用二进制位建立一张二维表,以反映盘空间的分配情况。成
组链接法是把空闲块分为若干组,每组的第一个空闲块记录了空闲块总数和下一组空闲块的物理
盘块号,第一组记录在空闲盘块号栈中,所有的分配和回收操作都通过这个栈来完成。
21.【参考答案】B
【解析】文件系统管理空闲磁盘块时常用的数据结构有空闲磁盘块表和空闲磁盘块链、位
示图、文件分配表。
22.【参考答案】C
【解析】第25个逻辑记录对应5个物理块( 25×120/512 =5,(25×120)%512=440),即
在第6个物理块中,由于文件采用链接文件的物理结构,因此要从目录项所指的第一个物理块开
始顺序读取,共访问磁盘6次,完成修改后还须写回记录,写回时已经获得了该块的物理地址,
故只须访问磁盘1次。因此共须访问磁盘7次。
23.【参考答案】A
【解析】磁盘高速缓存是指在内存中为磁盘盘块设置的缓冲区,在该类缓冲区中保存了某
些盘块的副本。
24.【参考答案】A
【解析】访问磁盘的开销远大于访问内存的开销。磁盘缓冲区便是利用内存中的存储空间
来暂存从磁盘中读出(或写入)的信息的,频繁使用的一部分磁盘数据和信息会暂时存放在磁
盘缓存中,这样可减少访问磁盘的次数。
25.【参考答案】B
【解析】重排I/O请求次序、预读和滞后写、优化文件物理块的分布等都能改善磁盘设备的
192

I/O性能。在一个磁盘上设置多个分区,不能改善磁盘的I/O性能。
26.【参考答案】D
【解析】提前读是指在读当前盘块的同时,将下一个可能要访问的盘块中的数据也读入缓
冲区,当下一次要读该盘块中的数据时,可以直接从缓冲区中取出数据,这样提高了文件访问
速度。为文件分配连续的簇可以优化物理块的分布,避免磁头在磁道间移动,进而提高了文件
访问速度。延迟写是指不立即将写数据写回磁盘,而是先将其写入缓冲区,当缓冲区需要再次
计算机操作系统习题与考研真题解析

被分配出去时才将其写回磁盘,这样减少了访问磁盘的次数,提高了文件访问速度。采用磁盘
高速缓存将常用的文件存储在高速缓存中,节省了重复查找时间,从而提高了文件访问速度。

9.3.2 填空题
27.【参考答案】块
【解析】OS为文件分配磁盘空间是以块为基本单位进行的,而不是字节。
28.【参考答案】块
【解析】磁带和磁盘都是块设备,是以块为基本单位与内存进行信息交换的。
29.【参考答案】FCB;无结构;有结构;文件组织方式;连续
【解析】FCB是OS为文件设置的用于描述和控制文件的数据结构。它记录了文件的属性
信息,包括基本信息、存取访问控制信息及使用信息。文件的逻辑结构包含有结构和无结构两
种。文件信息在存储介质上的组织方式称为文件的组织方式(物理结构),是逻辑文件在物
理存储空间中的存放方法和组织关系。将一个文件中逻辑上连续的信息存放到存储介质的依
次相邻的块上的连续组织方式,支持顺序存取和随机存取;顺序存取速度快,但不支持动态
增长。
30.【参考答案】链接组织;索引组织
【解析】文件逻辑块映射到磁盘物理块通常采用连续组织、链接组织和索引组织。其中链
接组织又分为隐式链接组织和显式链接组织;索引组织又分为单级索引组织、多级索引组织和
混合索引组织。
31.【参考答案】64MB
【解析】每个盘块中最多包含1KB/4B=256个索引项,因此在两级索引组织方式下单个文件
的最大长度为256×256×1KB=64MB。
32.【参考答案】5,1
【解析】行号=盘块号DIV列数,177DIV35=5;列号=盘块号MOD列数-1,177MOD35-1=1。
因此行列数为(5,1)。

9.3.3 简答题
33.【参考答案】连续组织、链接组织、索引组织和混合索引这几种组织方式在外存利用
率和提高文件访问速度等方面的对比分析如表2-9-2所示。

表2-9-2 几种组织方式对比分析表
访问第n个记录 优点 缺点
顺序存取速度快,当文件是定长 文件存储要求连续的存储空间,会产
连续组织 访问磁盘1次 时,可以根据文件起始地址及记 生存储碎片,也不利于文件的动态
录长度进行随机访问 扩充
193

续表
访问第n个记录 优点 缺点

可以解决外存的碎片问题,提高 只能按照文件的指针链进行顺序访
链接组织 访问磁盘n次 了外存空间的利用率,动态增长 问,查找效率低,指针信息的存放会


较方便 占用外存空间
2

部分
索引表会增加存储空间的开销;索引
m级 可以随机访问,易于文件的
索引组织 表查找策略对文件系统的效率影响比

拓展习题及其参考答案与解析
访问磁盘m+1次 增删
较大

混合索引 混合索引组织可以根据实际需求选择以上多种组织方式,进行优势互补,以达到高效快捷的
组织 目的

34.【参考答案】因为 1 569/512 =3,1 569%512=33,所以要访问字节的逻辑记录号为3,


对应的物理盘块号为80,即应访问80号磁盘块。

9.3.4 综合应用题
35.【参考答案】
(1)800M/1K=800K个盘块=800×210个盘块,近似等于1 024×210个=210×210个=220个。因
此,用20位二进制位表示盘块号。由于1个字节是8位二进制位,因此半个字节是4位二进制位,
20正好是4的整数倍。用20/8=2.5个字节表示一个盘块,即每个FAT表项的大小为2.5B,因此FAT
占用的存储空间为2.5×800×210=2 000KB。
(2)2GB=231,231/210=221个盘块。21不是4的整数倍,因此,用24位二进制表示盘块,即
FAT的表项占24/8=3B。因此FAT占用的存储空间为221×3=6MB。
36.【参考答案】因为盘块的大小是2KB,每个盘块号占4B,所以每个盘块可以拥有的盘
块号个数为2KB/4B=512。该文件系统有最多三级间接地址的表示方式,那么:
(1)直接地址支持的文件长度Length0=10×2KB;
(2)一级间接地址支持的文件长度Length1=512×2KB;
(3)二级间接地址支持的文件长度Length2=512×512×2KB;
(4)三级间接地址支持的文件长度Length3=512×512×512×2KB;
故而,最大的文件长度Lengthmax=Length0+Length1+Length2+Length3=10×2KB+512×
2KB+512×512×2KB+512×512×512×2KB =20KB+1MB+512MB+256GB。
37.【参考答案】盘块的大小为4KB,地址的大小为4B,每个盘块可存储4KB/4B=1 024个
地址。最大的文件长度为(10+1 024+10 242+10 243)×4KB=40KB+4MB+4GB+4TB。长度为
5K、40.5KB、4 138KB的文件A、B、C所占的磁盘空间如下。
(1)A文件:因为每个物理块的大小是4KB,所以5KB需要2个物理块,使用2个直接地
址,所需磁盘空间为2×4KB=8KB。
(2)B文件:40.5KB/4KB=10.125,需要11个盘块,因此要用到10个直接地址和1个一级间
址索引块。一级间址索引块是单独的地址,因此所需磁盘空间为40.5KB+4KB=44.5KB。
(3)C文件:4138KB/4KB=1 035,而(1 035-10)/1 024=2,故需要2个二级间址索引块。
由于索引块需要(1+2)×4KB=12KB,因此所需磁盘空间为4 138KB+12KB=4 150KB。
194

38.【参考答案】
(1)根据位示图位置(i,j),得出盘块序号b=i×16+j;用C表示柱面号,H表示磁头号,
S表示扇区号,则有:
C = b/(20×8) ;H= [b%(20×8)]/8 ;S=b%8。
(2)分配过程:顺序扫描位示图,找出1个值为“0”的二进制位,利用上述公式将其转换
成对应的盘块序号b,并修改位示图位置map[i, j]=1。回收过程:将回收盘块的盘块号转换成位
计算机操作系统习题与考研真题解析

示图中的i和j,转换公式为:
b=C×20×8+H×8+S,i= b/16 ,j=b%16。
最后令map[i, j]=0。
39.【参考答案】
(1)两个目录文件dir和dir1的内容如表2-9-3和表2-9-4所示。

表2-9-3 dir1目录文件 表2-9-4 dir目录文件


文件名 簇号 文件名 簇号
dir1 48 file 1 100
file 2 200

(2)FAT的最大长度为216×2B=128KB,文件的最大长度为216×4KB=256MB。
(3)file1的簇号106存放在FAT的100号表项中,簇号108存放在FAT的106号表项中。
(4)访问dir1目录文件所在的48号簇,以及file1文件所在的106号簇。
40.【参考答案】
(1)文件系统空间的最大容量为4TB,磁盘块的大小为1KB。因此该文件系统存储空间的
盘块数是242/210=232。为了表示232个盘块号,一个索引表项至少要32位,32bit=4B。FCB包含一
个512B的索引表区,即可存放27个索引表项。因此,文件最大长度为27×210=217B=128KB。
(2)起始块号占6B,块数占2B(16位)。剩余504B采用直接索引结构,一个索引项占
6B,可以有504/6=84个索引项。最大文件长度为216×210+84×210=64MB+84KB=65 620KB。合理
的起始块号和块数所占的字节分别是4、4(或1、7,或2、6,或3、5)。块数占4B以上即可表
示232=4TB大小的文件长度,达到了文件系统空间的上限。
41.【参考答案】
(1)每个簇可存放的地址项为 4KB/4B=1 024,该文件系统能支持的最大文件长度为(8+
1 024+10 242+10 243)×4KB = 32KB+4MB+4GB+4TB。
(2)1M个簇存储文件索引节点,每个索引节点占64B,则最多可以存储1M×4KB/64B =
64M个索引项;一个图像文件的大小为5 600B,因此该文件要占用2个簇。对于512M个簇,其最
多可存储文件256M个,但该文件的索引项只有64M个,因此,该文件系统最多可以存储这样的
文件64M个。
(3)若文件F1的大小为6KB,文件F2的大小为40KB,则该文件系统获取F1和F2最后一个
簇的簇号需要的时间不相同,因为F1有6KB,它的最后一个簇的簇号可直接从索引项的直接地
址项中得到,而F2有40KB,要获得其最后一个簇的簇号就要访问一级间接地址索引表。
42.【参考答案】本题考查的是采用成组链接法管理磁盘空闲空间时(在分配和回收物理
块)的过程中栈的特点。
(1)进程A申请3个物理块后的盘块链接情况如图2-9-5所示。
195

S.free 97 30
free[0] 50 65
free[1] 52 124



free[96] 80 80# 165
2

部分
free[97] 47
free[98] 50#

拓展习题及其参考答案与解析
free[99]

图 2-9-5 进程 A 申请 3 个物理块后的盘块链接情况

(2)进程B释放4个物理块后的盘块链接情况如图2-9-6所示。

S.free 1 100 30
free[0] 163 50 65
free[1] 52 124


free[96] 80 80# 165
free[97] 155 155# 47
free[98] 182 182# 50#
free[99] 191 191#

163#

图 2-9-6 进程 B 释放 4 个物理块后的盘块链接情况

第10章 多处理机操作系统
本章主要讲述多处理机OS的基本概念,具体包括多处理机OS的类型、进程同步以及进程调
度等内容。
本章学习目标如下。
(1)了解MPS的基本概念。
(2)了解MPS的结构。
(3)掌握多处理机OS的特征与分类。
(4)了解多处理机OS的进程同步方式与进程调度方式。

10.1 知识导图
根据本章重要知识点而总结的知识导图如图2-10-1所示。
196

多处理机系统的引入
多处理机系统的基本概念
多处理机系统的类型

UMA多处理机系统结构
多处理机系统的结构
计算机操作系统习题与考研真题解析

NUMA多处理机系统结构

多处理机操作系统的特征

多处理机操作系统的特征与类型 多处理机操作系统的功能

多处理机操作系统的类型

多 集中式同步方式与分布式同步方式


机 自旋锁

作 读-复制-更新锁

统 二进制指数补偿算法和待锁CPU等待队列机构
进程同步

定序机构

面包房算法

令牌环算法

评价调度性能的若干因素

进程分配方式
多处理机操作系统的进程调度
进程(线程)调度方式

死锁

图 2-10-1 多处理机操作系统知识导图

10.2 拓展习题

10.2.1 选择题
1.共享存储器的MPS属于( )。
A.计算机网络 B.紧密耦合MPS C.松散耦合MPS D.分布式系统
2.如果采用总线结构的MPS,则为了缓解多个CPU对系统总线的竞争,可为每个CPU配置
( )。
A.高速缓存 B.私有存储器 C.更大的共享存储器
D.高速缓存或私有存储器 E.旋转锁
197

3.在NUMA结构中,所有共享存储器在物理上是( )。
A.集中的 B.对称的 C.分布的 D.虚拟的
4.在NUMA结构中,一个CPU访问( )的速度最快,访问( )的速度最慢。
A.本地存储器 B.公共存储器 C.其他节点的存储器 D.群内共享存储器
5.比起UMA结构,NUMA结构最明显的优点是( )。


A.访问内存更快 B.管理更简单 C.扩展能力更强 D.资源利用率更高 2

部分
6.多处理机OS主要有3种类型,其中较易实现的是( )。

拓展习题及其参考答案与解析
A.主从式OS B.独立监督式OS C.浮动监督式OS
7.多处理机OS主要有3种类型,其中可靠性最高的是( )。
A.主从式OS B.独立监督式OS C.浮动监督式OS
8.多处理机OS主要有3种类型,其中自主性较强但较易造成处理机负载不均现象的
是( )。
A.主从式OS B.独立监督式OS C.浮动监督式OS
9.以下同步方式中,可以减少总线数据流量的是( )。
A.自旋锁 B.二进制指数补偿算法
C.待锁CPU等待队列机构 D.读/写锁
10.以下同步方式中,既能减少总线数据流量,又能及时发现锁空闲的是( )。
A.自旋锁 B.二进制指数补偿算法
C.待锁CPU等待队列机构 D.读/写锁
11.多处理机的调度有多种方式,其中( )方式不会产生处理机忙闲不均的现象,因
此有较高的处理机利用率。
A.动态调度 B.自调度
C.专用处理机分配 D.成组调度
12.多处理机的调度有多种方式,其中( )方式可以有效解决合作线程因相互等待而
造成的线程切换频率过高的问题。
A.动态调度 B.自调度
C.专用处理机分配 D.成组调度
13.多处理机的调度有多种方式,其中( )方式虽然会严重浪费处理机,但可以大大
加速程序的运行。
A.动态调度 B.自调度
C.专用处理机分配 D.成组调度
14.多处理机的调度有多种方式,其中( )方式允许OS和应用程序共同进行调度
决策。
A.动态调度 B.自调度
C.专用处理机分配 D.成组调度

10.2.2 填空题
15.按系统中各个处理机的功能和结构是否相同,可将MPS分为( )和( )两种
类型。
16.在UMA结构中,多个处理机对( )的访问速度是相同的,这种结构可采用
( )、( )和( )等方式将多个CPU和存储器互连起来。
198

17.在CC-NUMA结构中,为每个CPU配置了各自的( ),其主要目的是( )。
18.与单处理机OS不同,多处理机OS具有( )、( )、( )和( )等新
特征。
19.自旋锁和信号量均可用来实现进程互斥,在单机系统中不适合用( );在MPS
中,当临界资源被占用的时间非常短暂时比较适合用( ),否则更适合用( )。
20.在对称MPS中,静态分配方式是指( ),因此须为( )设置一个就绪队列;
计算机操作系统习题与考研真题解析

而动态分配方式则可以为( )设置一个就绪队列。

10.3 参考答案与解析

10.3.1 选择题
1.【参考答案】B
【解析】紧密耦合MPS通常是通过高速总线或高速交叉开关来实现多个处理机之间的互连
的,系统中的所有资源和进程都由OS实施统一控制和管理。多个处理机可以共享内存,即每个
处理机都可以访问整个内存。
2.【参考答案】D
【解析】在这种总线结构中,系统中所有的CPU不仅共享一个高速缓存,还各自都有(私
有)一个本地存储器。
3.【参考答案】C
【解析】NUMA结构的MPS拥有多个处理机模块(也称为节点),各节点之间通过一条公
用总线或互连模块进行连接和信息交互。系统中的公共存储器、各处理机的本地存储器以及节
点内的群共享存储器,共同构成了系统的全部存储空间。
4.【参考答案】A;C
【解析】访问一个本地存储器需要10ns~50ns。每个CPU能访问自己的私有存储器或存储器
模块,CPU之间通过消息进行通信,消息传递需要10μs~50μs。
5.【参考答案】C
【解析】在UMA结构的MPS中,处理机对于每个存储器单元的读/写速度是相同的。而在
NUMA结构的MPS中,各节点之间通过一条公用总线或互连模块进行连接和信息交互,但每个
处理机对本地存储器、公共存储器以及远程存储器的读/写速度是不同的。
6.【参考答案】A
【解析】在主从式OS中,OS始终只运行在主处理机上,它负责管理整个系统的资源,并负
责为从处理机分配任务。从处理机不具有调度功能,只能运行主处理机分配给它的任务。
7.【参考答案】C
【解析】浮动监督式OS常用于紧密耦合的对称MPS中。在这种系统中,在某段时间内可以
指定任何一台(或多台)处理机为系统的控制处理机,即所谓的“主”处理机(或组),并由
它(或它们)运行OS程序,负责全面管理系统,但根据需要,“主”处理机是可以浮动的,即
可以从一台处理机切换到另一台处理机。
8.【参考答案】B
【解析】独立监督式OS一般适用于松散耦合的MPS中。在这种系统中,每个处理机都有自
199

己的专有资源(如存储器、I/O设备和文件系统等),并且在每个处理机上都配置有OS来管理自
己的资源,以及调度该处理机进程集合中的进程。
9.【参考答案】B
【解析】减少总线数据流量的一个方法是二进制指数补偿算法,它在每一个CPU对锁进行
再次测试的TSL指令之前插入一个延迟时间,该延迟时间是按照一个TSL指令执行周期的二进制


指数方式增加的。 2

部分
10.【参考答案】C

拓展习题及其参考答案与解析
【解析】待锁CPU等待队列机构不仅能够减少总线的数据流量,还可以解决无法及时发现
锁空闲的问题。当多个CPU需要互斥地访问某个共享数据结构时,该机构会给未获得锁的CPU
分配一个私有锁变量,并把它附在占用该共享数据结构的CPU锁清单末尾。
11.【参考答案】B
【解析】系统中有一个公共的进程或线程就绪队列,所有的处理机在空闲时,都可以自己
到该队列中取得一个进程(或线程)加以运行。这种方式由单处理机的进程调度方式演变而
来,实现简单,且不会发生处理机忙闲不均的现象。
12.【参考答案】D
【解析】成组调度将一个进程中的一组线程同时分配到一组处理机上运行。这种方式可以
显著地降低调度频率,减少调度的开销;另外,由于一组相互合作的线程能同时运行,其可有
效减少线程的切换次数,因此能改善系统的性能。
13.【参考答案】C
【解析】专用处理机分配这一方式将属于一个应用程序的一组线程分配到一组处理机上,
在应用程序未结束之前,这些处理机专用于处理这组线程。专用处理机分配可以完全避免进程
或线程的切换,从而可以大大加速程序的运行。
14.【参考答案】A
【解析】动态调度算法允许进程在执行期间动态地改变其线程的数目。OS和应用程序能够
共同地进行调度决策。OS负责把处理机分配给作业,而每个作业则负责将分配到的处理机再分
配给自己的某一部分可运行任务进行使用。

10.3.2 填空题
15.【参考答案】对称多处理机系统;非对称多处理机系统
【解析】根据系统中所用的处理机相同与否,可将MPS分为以下两类。
(1)对称多处理机系统(symmetric multiprocesor system,SMPS):系统中包含的各处理
机单元在功能和结构上都是相同的。
(2)非对称多处理机系统(asymmetric multiprocessor system,ASMPS):系统中有多种类
型的处理单元,它们的功能和结构各不相同。
16.【参考答案】每个存储单元;总线;单级交叉开关;多级交换网络
【解析】所谓UMA即统一内存访问(也称一致性内存访问)。在这种结构的MPS中,各处理
机单元在功能和结构上都是相同的,在处理上没有主从之分(属于SMP系统),每个处理机可以
访问不同模块中的存储器单元,并且对每个存储器单元的读/写速度也是相同的。根据处理机与存
储器模块的连接方式的不同,可将UMA结构具体分为以下4种:使用单总线的SMP结构、使用多
总线的SMP结构、使用单级交叉开关的SMP结构和使用多级交换网络的SMP结构。
200

17.【参考答案】高速缓存;减少对远程内存的访问
【解析】对于NUMA结构,为了减少CPU对远程内存的访问,还可以为每个CPU再配备各
自的高速缓存。这样的结构称为CC-NUMA。与此对应地,将每个CPU没有配备各自的高速缓存
的结构称为NC-NUMA。
18.【参考答案】并行性;分布性;多处理机间的通信和同步性;可重构性
【解析】多处理机OS是在单机多道程序系统的基础上发展起来的,它们之间有许多相似之
计算机操作系统习题与考研真题解析

处,但也存在着较大的差异。归纳起来,多处理机OS具有并行性、分布性、多处理机间的通信
和同步性、可重构性等新特征。
19.【参考答案】自旋锁;自旋锁;信号量
【解析】一般而言,如果对于被保护的共享资源仅在进程的上下文访问,或有共享设备,
或调用进程所保护的临界区较大时,应使用信号量进行保护。但是如果被保护的共享资源需要
中断上下文访问,或调用进程所保护的临界区非常小,即对共享资源的访问时间非常短,则应
使用自旋锁。自旋锁在保持期间是不可抢占的,而信号量和读/写信号量在保持期间是可以被抢
占的。自旋锁只有在内核可抢占或SMP的情况下才真正需要,在单处理机且内核不可抢占的情
况下,为防止中断处理中的并发操作,可简单采用关闭中断的方式而不需要自旋锁,此时自旋
锁的所有操作都是空操作。
20.【参考答案】将每个进程固定分配到某个处理机上去执行;每个CPU;整个系统
【解析】对称MPS中的进程分配方式有两种。①静态分配方式:指一个进程从开始执行直
至完成,其都被固定地分配到了一个处理机上。此时,须为每个处理机设置一个专用的就绪队
列,该队列中的各进程都是先后要被分配到该处理机上去执行的。在进程阻塞后再次就绪时,
其仍会被挂在这个就绪队列中,因而下次它仍会在此处理机上执行。②动态分配方式:为了防
止系统中的多个处理机忙闲不均,可以在系统中仅设置一个公共的就绪队列,系统中的所有就
绪进程都被放在该队列中。分配进程时,可将进程分配到任何一个处理机上。

第11章 虚拟化和云计算
本章主要介绍虚拟化技术和云计算的概念,具体包括虚拟化的概念、发展、实现方法及虚
拟化技术,云计算的定义和基本特征,云环境下的虚拟机迁移和授权等内容。
本章学习目标如下。
(1)了解虚拟化的基本概念,熟悉虚拟化的实现方法和虚拟化技术。
(2)了解云计算的定义和基本特征,以及云计算环境下的虚拟机迁移与授权。
(3)理解虚拟化和云计算之间的关系与区别。

11.1 知识导图
根据本章重要知识点而总结的知识导图如图2-11-1所示。
201

虚拟化技术的优点 资源利用率高、灵活性好、可靠性强
虚拟化的概念
全虚拟化

虚拟化的实现方法 半虚拟化


硬件辅助虚拟化
虚拟化
2

部分
Type 1 VMM
虚拟机监视器

拓展习题及其参考答案与解析
Type 2 VMM
CPU虚拟化
虚拟化和云计算

虚拟化技术
内存虚拟化 全设备模拟

I/O虚拟化 半虚拟化

云计算的引入 多核虚拟化 直接I/O

狭义:云计算是指IT基础设施的交付和使用模式
云计算的定义和特征
云计算 广义:云计算是指服务的交付和使用模式
虚拟机迁移
实例
授权和检查

图 2-11-1 虚拟化和云计算知识导图

11.2 拓展习题

11.2.1 选择题
1.虚拟化资源是指可以实现一定的功能,但其本身是( )的资源,如计算池、存储
池、网络池、数据库等。
A.虚拟 B.真实 C.物理 D.实体
2.VM/370是一个( )。
A.分时系统 B.批处理系统
C.实时系统 D.具有文件等特征的扩展虚拟机
3.( )虚拟机系统可以独立安装在计算机硬件上,而不需要其他OS?
A.VMware workstation B.Citrix XenServer
C.Microsoft VPC D.VirtualBox
4.下列说法中,不正确的是( )?
A.内存虚拟化类似于现代OS提供的虚拟内存,其到机器内存只须经过一次映射
B.CPU虚拟化是将实际存在的硬件CPU虚拟成逻辑上的CPU
C.I/O虚拟化包括管理虚拟设备和共享的物理硬件之间I/O请求的路由选择
D.在多核虚拟机中可以通过软件指定可用的CPU数量
5.利用互联网把分散在不同地理位置的计算机组成一台虚拟的超级计算机的概念是( )。
A.并行计算 B.分布式计算 C.网格计算 D.效用计算
202

6.云计算就是把计算资源都放到( )上。
A.对等网 B.因特网 C.广域网 D.无线网
7.( )是一群同构处理单元的集合,这些处理单元通过通信与协作来更快地解决大规
模计算问题。
A.虚拟化 B.分布式 C.并行计算 D.集群
8.( )是云计算的重要基础。
计算机操作系统习题与考研真题解析

A.虚拟化 B.并行计算 C.集群计算 D.网格计算


9.与网格计算相比,不属于云计算特征的是( )。
A.资源高度共享 B.适用于紧密耦合科学计算
C.支持虚拟机 D.适用于商业领域
10.从研究现状上看,下列不属于云计算特点的是( )。
A.超大规模 B.虚拟化 C.私有化 D.高可靠性
11.(多项选择题)虚拟基础架构包括以下哪些组件( )?
A.裸机管理程序 B.虚拟基础架构服务
C.IT资源管理集中化 D.若干自动化解决方案
12.(多项选择题)虚拟化常见的类型有( )。
A.CPU虚拟化 B.网络虚拟化 C.存储虚拟化 D.应用虚拟化
13.(多项选择题)主流的设备和I/O虚拟化实现方式有( )。
A.全设备模拟 B.半虚拟化 C.半设备模拟 D.直接I/O
14.(多项选择题)服务器虚拟化通常包括以下哪些架构( )。
A.寄居架构 B.裸金属架构 C.混合架构 D.OS架构
15.(多项选择题)云计算平台基本的三层架构是( )。
A.software as a service(SaaS) B.X as a service(XaaS)
C.infrastructure as a service(IaaS) D.platform as a service(PaaS)

11.2.2 填空题
16.虚拟化是指利用( )将一台计算机虚拟为多台逻辑计算机的过程。
17.根据软件架构,WMM可分为( )架构和( )架构两种。
18.为了保证VMM对CPU的完全控制,( )指令直接执行,以保证计算性能;
( )指令由VMM模拟执行,以保证系统安全。
19.云计算的( )可以保证用户的数据在存储时有多个备份。
20.云计算通过( )的方式为用户提供可伸缩的资源。

11.3 参考答案与解析

11.3.1 选择题
1.【参考答案】A
【解析】虚拟化资源指可以实现一定的功能,但其本身是“虚拟”的资源。
2.【参考答案】A
【解析】VM/370是IBM 公司开发的一个分时系统,目前在IBM的现有大型计算机上已被
203

广泛使用。VM/370的核心为虚拟机监控程序,即VMM,它在裸机上运行并且具备多道程序功
能。该系统向上层提供了若干个虚拟机,但这些虚拟机不是具有文件等特征的扩展计算机,是
裸机硬件的精确复制品。
3.【参考答案】B
【解析】Citrix XenServer是Type 1 VMM,此类VMM直接运行在计算机硬件上,负责管理


底层硬件,并监管上层虚拟机。 2

部分
4.【参考答案】A

拓展习题及其参考答案与解析
【解析】在虚拟执行环境中,虚拟内存的虚拟化包括共享RAM中的物理内存并为虚拟机动
态地分配内存。这需要客户机OS和VMM分别维护从虚拟内存到物理内存的映射和从物理内存到
机器内存的映射(共两级映射)。
5.【参考答案】C
【解析】网格计算是分布式计算的一种,它研究的是如何把一个需要非常巨大的计算能力
才能解决的问题分成许多个小问题,然后将它们分配给许多计算机进行处理,最后把计算结果
综合起来以得到最终结果。并行计算是一种一次可执行多个指令的算法,目的是提高计算速
度,其可通过扩大问题求解规模来解决大型而复杂的计算问题。
6.【参考答案】B
【解析】云计算通过网络以按需、易扩展的方式获得所需的资源。提供资源的网络(因特
网)被称为“云”。
7.【参考答案】C
【解析】并行计算是通过多个同构处理机来协同求解同一个问题的,即将被求解的问题分
解成若干个部分,各部分均由一个独立的处理机负责并行计算。集群就是一组计算机,它们作
为一个整体向用户提供一组网络资源,这些单个的计算机就是集群的节点。一个理想的集群是
一个系统,而非多个计算机系统。
8.【参考答案】A
【解析】云计算技术使大量的硬件资源通过虚拟化技术结合成一个有机整体。虚拟化技术
是云计算得以实现的重要基石。
9.【参考答案】B
【解析】云计算的目的是通过网络把多个成本相对较低的松散耦合计算实体整合成一个具
有强大计算能力的系统,并借助SaaS(软件即服务)、PaaS(平台即服务)、IaaS(基础设施即
服务)、MSP(管理服务提供商)等商业模式把该系统强大的计算能力分布到终端用户手中。
10.【参考答案】C
【解析】云计算的特点包含超大规模、虚拟化、高可靠性和可扩展性、按需服务、更加经济等。
11.【参考答案】ABD
【解析】裸机管理程序可使每台Inter 80x86计算机都实现全面虚拟化。虚拟基础架构服务可
在虚拟机之间使可用资源达到最优配置。自动化解决方案用于通过提供特殊功能来优化特定的
IT流程,如资源部署、灾难恢复等。
12.【参考答案】ABCD
【解析】常见的虚拟化类型有CPU虚拟化、桌面虚拟化、服务器虚拟化、存储虚拟化、网
络虚拟化、应用虚拟化等。
13.【参考答案】ABD
【解析】I/O虚拟化包括管理虚拟设备和共享的物理硬件之间I/O请求的路由选择。目前,实
204

现I/O虚拟化有3种方式:全设备模拟、半虚拟化和直接I/O。
14.【参考答案】ABCD
【解析】服务器虚拟化的实现架构主要包括裸金属架构、寄居架构、混合架构和OS架构。
裸金属架构主要是在硬件上安装虚拟化软件,再在其上安装OS和应用,依赖虚拟层内核和服务
器的控制台进行管理。寄居架构主要是在主机OS上安装和运行虚拟化程序,然后通过创建相应
的虚拟机来共享底层服务器资源。混合架构是指将一个内核级驱动器插入主机OS的内核,其依
计算机操作系统习题与考研真题解析

赖于内存管理器和现有的内核CPU调度工具。OS架构主要是在OS层面增加虚拟化服务器功能。
15.【参考答案】ACD
【解析】云计算平台架构的最下层是IaaS,提供CPU、网络设备、存储设备等基础硬件的云
服务;再上一层是PaaS,提供类似于OS层次的服务与管理功能;最上层是SaaS(软件即服务)。

11.3.2 填空题
16.【参考答案】虚拟化技术
【解析】虚拟化是指把实体计算机的物理资源抽象成逻辑资源,基于这些逻辑资源构建与
实体计算机架构类似、功能等价的逻辑计算机。虚拟化技术是指采用纯软件或软硬件结合的方
法实现计算机物理资源的模拟、隔离与共享。
17.【参考答案】裸金属;寄居
【解析】根据软件架构(主要考虑VMM在计算机系统中的位置),VMM可分为裸金属架
构和寄居架构这两种。
18.【参考答案】普通;敏感
【解析】为了保证VMM对CPU的完全控制,在指令执行方面,其本质是保证使虚拟机受限
制地执行。其具体实现思想是:普通CPU指令直接执行,以保证计算性能;敏感指令由VMM模
拟执行,以保证系统安全。
19.【参考答案】存储服务
【解析】云计算存储服务是指将所有的存储资源整合到一起,其可以自动重新分配数据,
并保证用户的数据在存储时有多个备份,同时具备负载均衡、故障冗余等功能。其可实现规模
效应和弹性扩展,降低运营成本,避免资源浪费。
20.【参考答案】资源虚拟化
【解析】资源虚拟化是指将计算机的各种实体资源(如服务器、网络设备、存储设备等)
予以抽象、转换后呈现出来,这样就打破了实体结构间不可切割的限制,用户也可以采用比原
组态更好的方式来应用这些资源。

第12章 保护和安全
本章主要讲述系统安全相关的概念和保障系统安全的基本技术,具体包括系统安全的特
征、安全威胁的类型、数据加密技术、用户验证和安全攻击等内容。
本章学习目标如下。
(1)掌握系统安全的主要特征,了解计算机系统的安全等级。
205

(2)了解数据加密原理,了解对称加密算法和非对称加密算法。
(3)了解用户验证的3类方式,了解攻击者攻击计算机的2类方法。

12.1 知识导图


2

部分
根据本章重要知识点而总结的知识导图如图2-12-1所示。

拓展习题及其参考答案与解析
实现“安全环境”的主要目标和面临的威胁 数据机密性、数据完整性、系统可用性

安全环境 系统安全的特征:多面性、动态性、层次性、适度性

计算机系统的安全等级
数据加密模型
数据加密原理
基本加密算法
数据加密技术 对称加密算法与非对称加密算法

数字签名和数字证明书

一次性口令

口令验证技术 口令文件

挑战-响应验证

基于磁卡的验证技术
用户验证 基于物理标志的验证技术
基于IC卡的验证技术

常用于身份识别的生理标志
保护和安全

生物识别验证技术 生物识别系统的组成

早期常用的内部攻击方式 指纹识别系统

逻辑炸弹和陷阱门
来自系统内部的攻击
特洛伊木马和登录欺骗

缓冲区溢出

病毒、蠕虫和移动代码

计算机病毒的特征与类型
来自系统外部的攻击
病毒的隐藏方式 伪装、隐藏、多形态

病毒的预防与检测
安全策略

安全模型
访问矩阵模型和信息流控制模型
访问矩阵模型

信息流控制模型
可信计算基的功能

可信计算基 安全核心数据库
可信系统
访问监视器
微内核原则

策略与机制分离原则

安全入口原则
设计安全OS的原则
隔离原则

部分硬件实现原则

分层设计

图 2-12-1 保护和安全知识导图
206

12.2 拓展习题

12.2.1 选择题
l.攻击者对计算机系统硬件的主要威胁存在于( )方面。
计算机操作系统习题与考研真题解析

A.保密性 B.完整性 C.可用性 D.有效性


2.攻击者对软件的主要威胁既可存在于( )方面, 如软件被有意或无意地删除;也可
存在于( )方面,如生成了一份未经授权的软件副本;还可存在于( )方面,如软件
被非法更改而导致系统执行了一些非预想的任务。
A.保密性 B.完整性 C.可用性 D.有效性
3.在远程通信中的安全威胁可分为( )和( )两类。
A.主动攻击 B.被动攻击 C.远程攻击 D.本地攻击
4.对付主动攻击最有效的方法是( )。
A.检测与恢复 B.认证技术 C.数据加密技术 D.访问控制技术
5.有多种方式的操作会威胁到计算机的安全性,例如,数据截取会威胁到( ),修改
和假冒会威胁到( ),通过病毒耗尽计算机的资源则会威胁到( )。
A.数据机密性 B.系统可用性 C.数据完整性 D.系统可靠性
6.最基本的两种加密算法分别是( )和( ),其他算法大多是基于这两种算法而
形成的。
A.易位法 B.DES算法 C.Hash算法 D.置换法
7.DES算法是一种( )。
A.序列加密算法 B.公开密钥加密算法
C.对称加密算法 D.数字签名算法
8.在下列关于对称和非对称加密算法的描述中,错误的是( )。
A.对称加密算法的实现速度快,因此适合大批量数据的加密
B.对称加密算法的安全性将依赖于密钥的秘密性,而不是算法的秘密性
C.从密钥的分配角度看,非对称加密算法比对称加密算法的密钥需求量大
D.非对称加密算法比对称加密算法更适用于数字签名
9.数字签名不能保证( )。
A.接收者能够核实发送者对报文的签名 B.发送者不能抵赖对报文的签名
C.攻击者不能截获并解密签名后的数据 D.接收者不能伪造对报文的签名
10.在计算机系统和网络中,存在多种可以进行身份认证的技术,其中口令验证技术是根
据( )来进行身份认证的,IC卡是根据( )来进行身份认证的,指纹识别技术是根据
( )来进行身份认证的。
A.用户特征 B.用户的拥有物 C.用户已知的事 D.用户特权
11.在下列方法中,( )与文件的保护无关。
A.口令机制
B.数据加密技术
C.访问控制表
D.访问之前执行open操作,访问之后执行close操作
207

12.在许多系统中,用户是否能对某个文件进行相应的访问,将受( )的共同限制。
A.用户优先级和访问控制表 B.用户优先级和访问权限表
C.用户优先级和文件的口令 D.访问控制表和访问权限表
13.下列攻击方式中,( )只有在程序员预先设定的某个条件被满足时才会开始攻击
系统;( )能使攻击者避开正常的身份验证过程而直接进入系统;( )寄生于某个看


上去合法的程序中,但其要通过用户主动下载并运行才会开始攻击系统。 2

部分
A.逻辑炸弹 B.特洛伊木马 C.陷阱门 D.计算机病毒

拓展习题及其参考答案与解析
14.可采用沙盒法来防范恶意的移动代码,一个沙盒通常是( )。
A.一段专门的运行时间 B.一块专门的内存区域
C.一块虚拟地址空间区域 D.一个专门的缓冲区

12.2.2 填空题
15.对称加密算法的优点是( ),而非对称加密算法的优点则是( )。
16.DES算法的密钥长度为( )位。
17.为了实现发送者A和接收者B之间的保密数字签名,发送者A对要发送的信息可先用
( )、再用( )进行加密后再进行发送,而接收者在收到信息后,则可先用( )、
再用( )进行数据解密。
18.逻辑炸弹的爆炸一般可通过( )、( )和( )这3种方式进行触发。
19.大多数文件型病毒将病毒代码依附在可执行文件的( ),并将可执行文件头部的
( )指向病毒代码的始端。
20.可信系统的核心是( ),其最重要的组成部分是( ),系统由它根据( )
中的信息来检查用户的每一次请求是否符合安全策略的要求。

12.3 参考答案与解析

12.3.1 选择题
1.【参考答案】C
【解析】攻击者对计算机系统硬件的主要威胁存在于可用性方面;而对软件的主要威胁既
可存在于可用性方面,也可存在于保密性方面(如生成一份未经授权的软件副本),还可存在
于完整性方面(如软件被非法更改而导致系统执行了一些非预想的任务)。
2.【参考答案】C;A;B
【解析】参见第1题的解析。
3.【参考答案】B;A
【解析】远程通信中的安全威胁可分为被动攻击和主动攻击两类。
4.【参考答案】C
【解析】被动攻击的方式有攻击者通过搭接通信线路来截获信息和分析通信量等。对付被
动攻击最有效的方法是数据加密。
5.【参考答案】A;C;B
【解析】有多种方式的操作会威胁到计算机的安全性,例如,数据截取会威胁到数据机密
208

性,修改和假冒会威胁到数据完整性,通过病毒耗尽计算机的资源则会威胁到系统可用性。
6.【参考答案】A;D
【解析】最基本的加密算法有两种,分别是置换法和易位法,其他算法大多是基于这两种
算法而形成的。
7.【参考答案】C
【解析】DES算法是一种对称加密算法。
计算机操作系统习题与考研真题解析

8.【参考答案】C
【解析】一般来讲,对称加密算法的加密密钥和解密密钥相同,计算量小,加密效率高,
与公钥加密算法相比运算速度快,适合大批量数据的加密。对称加密算法的安全性依赖于密钥
的秘密性,安全性不高,因此A、B正确。对称加密算法的密钥需求量比非对称加密算法的密钥
需求量大,因此C错误。对称加密算法无法实现数字签名,而非对称加密算法则可以实现数字签
名,因此D正确。
9.【参考答案】C
【解析】数字签名可以保证接收者能够核实发送者对报文的签名,发送者事后不能抵赖对
报文的签名,接收者不能伪造对报文的签名,接收者能够验证接收到的信息在传输过程中是否
被他人修改过。
10.【参考答案】C;B;A
【解析】在计算机系统和网络中,存在多种可以进行身份认证的技术,其中口令验证技术
是根据用户已知的事来进行身份认证的,IC卡是根据用户的拥有物来进行身份认证的,指纹识
别技术是根据用户特征来进行身份认证的。
11.【参考答案】D
【解析】文件的保护方法主要有口令机制、数据加密技术、访问控制表。
12.【参考答案】D
【解析】用户是否能对某个文件进行相应的访问,这将会受到访问控制表和访问权限表的
共同限制。
13.【参考答案】A;C;B
【解析】逻辑炸弹只有在程序员预先设定的某个条件被满足时才会开始攻击系统;陷阱门
能使攻击者避开正常的身份验证过程而直接进入系统;特洛伊木马寄生于某个看上去合法的程
序中,但其要通过用户主动下载并运行才会开始攻击系统。
14.【参考答案】C
【解析】一个沙盒通常是一块虚拟地址空间区域。

12.3.2 填空题
15.【参考答案】加密速度快;密钥管理简单
【解析】对称加密算法的优点是加密速度快,而非对称加密算法的优点则是密钥管理简单。
16.【参考答案】64
【解析】DES算法是一种对称加密算法,它的密钥长度为64位。
17.【参考答案】A的私用密钥;B的公开密钥;B的私用密钥;A的公开密钥
【解析】为了实现发送者A和接收者B之间的保密数字签名,发送者A对要发送的信息可先
用A的私用密钥、再用B的公开密钥进行加密后再进行发送,而接收者在收到信息后,则可先用
B的私用密钥、再用A的公开密钥进行数据解密。
209

18.【参考答案】时间;事件;计数器
【解析】逻辑炸弹的爆炸一般可通过时间、事件和计数器这3种方式进行触发。
19.【参考答案】末端;程序入口地址
【解析】大多数文件型病毒将病毒代码依附在可执行文件的末端,并将可执行文件头部的
程序入口地址指向病毒代码的始端。


20.【参考答案】可信计算基;访问监视器;安全核心数据库 2

部分
【解析】可信系统的核心是可信计算基,其最重要的组成部分是访问监视器,系统由它根

拓展习题及其参考答案与解析
据安全核心数据库中的信息来检查用户的每一次请求是否符合安全策略的要求。
第3部分
考研真题卷及其参考答案 3
本部分涵盖近年全国硕士研究生入学统一考试(操作系统部分)真题卷及其参考答案,目
的是使读者从真题入手,了解考研命题风格,综合认知不同类型的考研真题,深入了解本课程
的重难点,对整体学习效果进行验证。

考研真题卷(一)

2020年全国硕士研究生入学统一考试
计算机科学与技术学科联考
计算机学科专业基础综合试题(操作系统部分)
一、单项选择题:每小题2分。下列每题给出的四个选项中,只有一个选项符合题目要求。
1.若多个进程共享同一个文件F,则下列叙述中正确的是( )。
A.各进程只能用“读”方式打开文件F
B.在系统打开的文件表中仅有一个表项包含文件F的属性
C.各进程的用户打开文件表中关于文件F的表项内容相同
D.在进程关闭文件F时,系统会删除文件F在系统打开文件表中的表项
2.下列选项中支持文件长度可变、随机访问的磁盘存储空间分配方式是( )。
A.索引分配 B.链接分配 C.连续分配 D.动态分区分配
3.下列与中断相关的操作中,由OS完成的是( )。
Ⅰ.保存被中断程序的中断点 Ⅱ.提供中断服务
211

Ⅲ.初始化中断向量表 Ⅳ.保存中断屏蔽字
A.Ⅰ,Ⅱ B.Ⅰ,Ⅱ,Ⅳ C.Ⅲ,Ⅳ D.Ⅱ,Ⅲ,Ⅳ
4.下列与进程调度有关的因素中,在设计多级反馈队列调度算法时需要考虑的是( )。
Ⅰ.就绪队列的数量 Ⅱ.就绪队列的优先级
Ⅲ.各就绪队列所采用的调度算法 Ⅳ.进程在就绪队列间的迁移条件
A.Ⅰ,Ⅱ B.Ⅲ,Ⅳ C.Ⅱ,Ⅲ,Ⅳ D.Ⅰ,Ⅱ,Ⅲ,Ⅳ


5.某系统中有A、B两类资源各6个,t时刻的资源分配与需求情况如下表所示: 3

部分
进程 A已分配资源数量 B已分配资源数量 A需求资源总量 B需求资源总量

考研真题卷及其参考答案
P1 2 3 4 4
P2 2 1 3 1
P3 1 2 3 4

t 时刻的安全检测结果是( )。
A.存在安全序列P1,P2,P3 B.存在安全序列P2,P1,P3
C.存在安全序列P2,P3,P1 D.不存在安全序列
6.下列因素影响请求分页系统有效(平均)访存时间的是( )。
Ⅰ.缺页率 Ⅱ.磁盘读/写时间
Ⅲ.内存访问时间 Ⅳ.执行缺页处理程序的CPU时间
A.Ⅱ,Ⅲ B.Ⅰ,Ⅳ C.Ⅰ,Ⅲ,Ⅳ D.Ⅰ,Ⅱ,Ⅲ,Ⅳ
7.下列关于父进程与子进程的叙述中错误的是( )。
A.父进程与子进程可以并发执行
B.父进程与子进程共享虚拟地址空间
C.父进程与子进程具有不同的PCB
D.父进程与子进程不能同时使用同一临界资源
8.对于具有设备独立性的系统,下列叙述中错误的是( )。
A.可以使用文件名访问物理设备
B.用户程序使用逻辑设备与物理设备之间的映射关系
C.用户程序中使用的是逻辑设备名
D.更换物理设备后必须修改访问该设备的应用程序
9.某文件系统的目录由文件名和索引节点编号构成。若每个目录项的长度为64B,其中4B
存放索引节点编号,60B存放文件名,文件名由小写英文字母构成,则该文件系统能创建的文件
数量的上限为( )。
26
A.2 B.232 C.260 D.264
10.下列准则中,在实现临界区互斥机制时所必须遵循的是( )。
Ⅰ.两个进程不能同时进入临界区
Ⅱ.允许进程访问空闲的临界资源
Ⅲ.进程等待进入临界区的时间是有限的
Ⅳ.不能进入临界区且处于执行状态的进程立即放弃CPU
A.Ⅰ,Ⅳ B.Ⅱ,Ⅲ C.Ⅰ,Ⅱ,Ⅲ D.Ⅰ,Ⅲ,Ⅳ
二、综合应用题
11.(8分)现有5个操作A、B、C、D、E,操作C必须在操作A和操作B完成后执行,操作
212

E必须在操作C和操作D完成后执行,请使用信号量的wait()、signal()操作(P、V操作)描述上述
操作之间的同步关系,并说明所用信号量及其初值。
12.(7分)某32位系统采用基于二级页表的请求分页存储管理方式,按字节编址,页目录
项和页表项的长度均为4B,虚拟地址结构如下:

页目录号(10位) 页号(10位) 页内偏移量(12位)


计算机操作系统习题与考研真题解析

在某C程序中,数组a[1 024][1 024]的起始虚拟地址为1080 0000H ,数组元素占4B。该程序


在运行时,其进程的页目录的起始物理地址为0020 1000H,请回答下列问题:
(1)数组元素a[1][2]的虚拟地址是什么?对应的页目录号和页号分别是什么?对应的页目
录项的物理地址是什么?若该页目录项中存放的页框号为0 0301H,则a[1][2]所在页对应的页表
项的物理地址是什么?
(2)数组a在虚拟地址空间中所占的区域是否必须连续?在物理地址空间中所占的区域是
否必须连续?
(3)已知数组a按行优先方式存放,若对数组a分别按行遍历和按列遍历,则哪一种遍历方
式的局部性更好?

考研真题卷(二)

2019年全国硕士研究生入学统一考试
计算机科学与技术学科联考
计算机学科专业基础综合试题(操作系统部分)
一、单项选择题,每小题2分。下列每题给出的四个选项中,只有一个选项符合题目要求。
1.下列关于线程的描述中,错误的是( )。
A.内核支持线程的调度由OS完成
B.OS为每个用户级线程建立一个线程控制块
C.用户级线程间的切换比内核支持线程间的切换效率高
D.用户级线程可以在不支持内核支持线程的OS上实现
2.下列选项中,可能会将进程唤醒的事件是( )。
Ⅰ.I/O结束 Ⅱ.某进程退出临界区 Ⅲ.当前进程的时间片用完
A.仅Ⅰ B.仅Ⅲ C.仅Ⅰ、Ⅱ D.Ⅰ、Ⅱ、Ⅲ
3.下列关于系统调用的叙述中,正确的是( )。
Ⅰ.在执行系统调用服务程序的过程中,CPU处于内核态
Ⅱ.OS通过提供系统调用来避免用户程序直接访问外设
Ⅲ.不同的OS为应用程序提供了统一的系统调用接口
Ⅳ.系统调用是OS内核为应用程序提供服务的接口
A.仅Ⅰ、Ⅳ B.仅Ⅱ、Ⅲ C.仅Ⅰ、Ⅱ、Ⅳ D.仅Ⅰ、Ⅲ、Ⅳ
213

4.下列选项中,可用于文件系统管理空闲磁盘块的数据结构是( )。
Ⅰ.位图 Ⅱ.索引节点 Ⅲ.空闲磁盘块链 Ⅳ.文件分配表
A.仅Ⅰ、Ⅱ B.仅Ⅰ、Ⅲ、Ⅳ C.仅Ⅰ、Ⅲ D.仅Ⅱ、Ⅲ、Ⅳ
5.系统采用二级反馈队列调度算法进行进程调度。就绪队列Q 1采用RR调度算法,时间片
为10ms;就绪队列Q2采用短进程优先调度算法;系统优先调度Q1中的进程,当Q1为空时,系统
才会调度Q2中的进程;新创建的进程首先进入Q1;Q1中的进程执行一个时间片后,若未结束,


则转入Q2。若当前Q1、Q2为空,系统依次创建进程Pl、P2后即开始进程调度,Pl、P2需要的CPU 3

部分
时间分别为30ms和20ms,则进程P1、P2在系统中的平均等待时间为( )。

考研真题卷及其参考答案
A.25ms B.20ms C.15ms D.10ms
6.在分段存储管理系统中,用共享段表描述所有被共享的段。若进程P1和P2共享段S,则下
列叙述中错误的是( )。
A.在物理内存中仅保存一份段S的内容
B.段S在P1和P2中应该具有相同的段号
C.P1和P2共享段S在共享段表中的段表项
D.P1和P2都不再使用段S时才回收段S所占的内存空间
7.某系统采用LRU页面置换算法和局部置换策略,若系统为进程P预分配了4个页框,进程
P访问的页所对应的页号序列为0,1,2,7,0,5,3,5,0,2,7,6,则进程在访问上述页的
过程中,产生页置换的总次数是( )。
A.3 B.4 C.5 D.6
8.下列关于死锁的叙述中,正确的是( )。
Ⅰ.可以通过剥夺进程资源来解除死锁
Ⅱ.死锁的预防方法能确保系统不发生死锁
Ⅲ.银行家算法可以判断系统是否处于死锁状态
Ⅳ.当系统出现死锁时,必然有两个或两个以上的进程处于阻塞状态
A.仅Ⅱ、Ⅲ B.仅Ⅰ、Ⅱ、Ⅳ C.仅Ⅰ、Ⅱ、Ⅲ D.仅Ⅰ、Ⅲ、Ⅳ
9.某计算机内存按字节编址,采用二级分页存储管理,地址结构如下所示:

页目录号(10位) 页号(10位) 页内偏移量(12位)

虚拟地址2050 1225H对应的页目录号、页号分别是( )。
A.081H、101H B.081H、401H C.201H、101H D.201H、401H
10.在下列动态分区分配算法中,最容易产生内部碎片的是( )。
A.首次适应算法 B.最坏适应算法 C.最佳适应算法 D.循环首次适应算法
二、综合应用题
11.(8分)有n(n≥3)位哲学家围坐在一张圆桌旁,每位哲学家交替地进行进餐与思
考。在圆桌中心有m(m≥1)个碗,每相邻的两位哲学家之间有1根筷子。每位哲学家必须取到
一个碗及其两侧的筷子之后才能进餐。进餐完毕后,将碗和筷子放回原位,并继续思考。为使
尽可能多的哲学家同时进餐,且防止出现死锁现象,请使用信号量的P、V操作(wait()、signal()
操作)描述上述过程中的互斥与同步,并说明所用信号量及其初值的含义。
12.(7分)某计算机系统中的磁盘有300个柱面,每个柱面有10个磁道,每个磁道有200个
扇区,扇区大小为512B。文件系统的每个簇均包含2个扇区。请回答下列问题。
(1)磁盘的容量是多少?
214

(2)假设磁头在85号柱面上,此时有4个磁盘访问请求,簇号分别为:100 260、60 005、


101 660、110 560。若采用SSTF调度算法,则系统访问簇的先后次序是什么?
(3)第100 530号簇在磁盘上的物理地址是什么?将簇号转换成磁盘物理地址的过程是
由I/O系统的什么程序完成的?
计算机操作系统习题与考研真题解析

考研真题卷(一)参考答案与解析

2020年全国硕士研究生入学统一考试
计算机科学与技术学科联考
计算机学科专业基础综合试题(操作系统部分参考答案)
一、单项选择题:每小题2分。下列每题给出的四个选项中,只有一个选项符合题目要求。

题号 1 2 3 4 5 6 7 8 9 10
答案 B A D D B D B D B C

二、综合应用题
11.(8分)【答案解析】
本题要求给出操作的先后顺序,属于同步问题。
分别设置A、B、C、D、E这5个操作对应的同步信号量为a、b、c、d,它们的初值均为0。
semaphore a=0,b=0,c=0,d=0;
A( ){ B( ){ C( ){ //C 必须在 A、B 完成后执行
完成操作 A; 完成操作 B; P(a);
V(a); V(b); P(b);
} } 完成操作 C;
V(c);
}
D( ){ E( ){ //E 必须在 C、D 完成后执行
完成操作 D; P(c);
V(d); P(d);
} 完成操作 E;
}

void main( ){
cobegin
A( ); B( ); C( ); D( ); E( )
coend
}
215

12.(7分)【答案解析】
(1)页面大小=212B=4KB,数组元素占4B,每个页面存放1K个数组元素,1080 0000H的虚
页号为1080H,二维数组a中一行的元素个数与每个页面存放的元素个数相同,故a[0]存放的虚
页号为1080H,a[1]存放的虚页号为1081H,a[1][2]的虚地址为1081 0000H+2×4=1081 0008H。
1081 0008H=0001 0000 1000 0001 0000 0000 0000 1000,对应的页目录号为66,页号为16。页目
录的长度为4B,66号页目录项的物理地址为0020 1000H+66×4=0020 1108H。该目录项中存放的


页框号为00301H,故该页框的起始地址为0030 1000H,a[1][2]所在页的页号为16,每个页表项 3

部分
为4B,故a[1][2]所在页对应的页表项的物理地址为0030 1000H+16×4=0030 1040H。

考研真题卷及其参考答案
(2)数组a在虚地址空间中所占的区域必须连续,在物理地址空间中所占的区域可以不连续。
(3)按行遍历的局部性更好。二维数组a中行的元素个数与每个页面存放的元素个数相
同,故一行中的所有元素均可存放在同一个页面中,行遍历时遍历同一行中的所有元素所须访
问的是同一个页面。

考研真题卷(二)参考答案与解析

2019年全国硕士研究生入学统一考试
计算机科学与技术学科联考
计算机学科专业基础综合试题(操作系统部分参考答案)
一、单项选择题:每小题2分。下列每题给出的四个选项中,只有一个选项符合题目要求。

题号 1 2 3 4 5 6 7 8 9 10
答案 B C C B C B C B A C

二、综合应用题
11.(8分)【答案解析】
// 信号量
semaphore bowl ; // 用于协调哲学家对碗的使用
semaphore chopsticks[n] ; // 用于协调哲学家对筷子的使用
for(int i=0 ;i<n ;i++)
chopsticks[i].value=1 ; // 设置两个哲学家之间筷子的数量
bowl.value=m ; // 碗的数量,初值为 m
pi( ){
while(TRUE){ // 哲学家 i 的程序
思考 ;
P(bowl) ; // 取碗
P(chopsticks[i]) ; // 取左边筷子
P(chopsticks[(i+l)MOD n]) ; // 取右边筷子
216

进餐 ;
V(chopsticks[i]) ;
V(chopsticks[(i+1) MOD n]) ;
V(bowl) ;
}
计算机操作系统习题与考研真题解析

}
12.(7分)【答案解析】
(1)磁盘容量=(300×10×200×512/1 024)KB=3×105KB。
(2)每个柱面有10×200个扇区,每个簇有2个扇区,因此每个柱面有1 000个簇。
簇号100 260对应的柱面号为[100 260/1 000]=100;
簇号60 005对应的柱面号为[60 005/1 000]=60;
簇号101 660对应的柱面号为[101 660/1 000]=101;
簇号110 560对应的柱面号为[110 560/1 000]=110;
根据SSTF调度算法的思想,从85号柱面开始访问的簇号顺序为100 260、101 660、
110 560、60 005。
(3)第100 530号簇在磁盘上的物理地址由其所在的柱面号、磁头号、扇区号构成。柱
面号为[100 530/(10×200/2)]=100;100 530%(10×200/2)=530,故磁头号为[530/
(200/2)]=5;扇区号为(530×2)%200=60。将簇号转换成磁盘物理地址的过程由磁盘驱动
程序完成。
第4部分
考试模拟卷及其评分标准 4
本部分在将操作系统课程中的重难知识点进行汇集整理的前提下,以考试模拟卷的形式呈现
了与各重难知识点相关的考试模拟题及评分标准,既方便学生进行自我测试,又方便教师对学生
进行学习效果检测。

考试模拟卷(一)

《操作系统》期末考试模拟卷一

考试时间 :120 分钟 考试形式 :闭卷

一、填空题(共6题,每空1分,共10分)
1.并发和( )是OS的两个最基本的特征,两者之间互为存在条件。
2.OS为用户提供了3种类型的用户接口,分别是( )接口、( )接口和图形用户
接口。
3.在引入线程的OS中,独立调度和分派的基本单位是( ),资源分配的基本单位是
( )。
4.有M个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号
量值的变化范围是( )。
5.文件系统采用两级索引分配方式,如果每个磁盘块的大小为1KB,每个盘块号占4B,则
在系统中文件的最大长度是( )。
218

6.在中断I/O驱动方式下,CPU是以( )为单位对I/O进行干预的;在DMA方式下,
CPU是以( )为单位对I/O进行干预的;通道方式是以( )为单位对I/O进行干预的。
二、单项选择题(共15题,每题2分,共30分)
1.如果分时系统的时间片一定,那么( ),响应时间越长。
A.用户数越少 B.用户数越多 C.内存越少 D.内存越多
2.分配到必要的资源并获得处理机时,进程处于( )。
计算机操作系统习题与考研真题解析

A.就绪状态 B.执行状态 C.阻塞状态 D.新状态


3.下列哪一个不会引起进程创建( )。
A.用户登录 B.作业调度 C.设备分配 D.应用请求
4.若针对P、V操作的信号量,S的初值为2,当前值为-1,则其表示有( )个等待
进程。
A.0 B.1 C.2 D.3
5.若系统中有5个并发进程,涉及某个相同的变量A,则变量A的相关临界区由( )个
临界区构成。
A.1 B.3 C.5 D.6
6.发生死锁的必要条件有4个。若要预防死锁的发生,则可破坏这4个必要条件,但破坏
( )条件是不太实际的。
A.互斥 B.请求和保持 C.不可抢占 D.循环等待
7.下面关于死锁检测的叙述错误的是( )。
A.检测死锁的方法对系统资源的分配不加限制,只要有就可以进行分配
B.在检测死锁过程中系统需要反复检测各进程的资源申请与分配情况
C.检测死锁是为了预防系统发生死锁
D.检测死锁只能发现死锁而不能解除死锁
8.在可变分区存储管理系统中,若采用最佳适应分配算法,则空闲区表中的空闲区可按
( )顺序排列。
A.长度递增 B.长度递减 C.地址递增 D.地址递减
9.虚拟存储技术是一种( )。
A.内存物理空间扩充技术 B.内存逻辑地址空间扩充技术
C.外存空间扩充技术 D.I/O缓冲区扩充技术
10.系统“抖动”现象的发生是由( )引起的。
A.交换的信息量过大 B.页面置换算法选择不当
C.内存容量不足 D.请求分页存储管理方式
11.逻辑文件若存放在磁带上,则应被组织成( )。
A.索引文件 B.直接文件 C.顺序文件 D.链接文件
12.为了解决不同用户文件的命名冲突问题,通常会在文件系统中采用( )。
A.约定的方法 B.多级目录 C.路径 D.索引
13.通过硬件和软件的功能扩充,把原来用户独占的设备改造成若干用户共享的设备,这
种设备称为( )。
A.存储设备 B.系统设备 C.虚拟设备 D.用户设备
14.通道是一种( )。
A.I/O接口 B.共享文件 C.I/O专用处理机 D.数据通道
219

15.OS中引入缓冲技术的目的是增强系统的( )能力。
A.串行操作 B.并行操作 C.控制操作 D.中断操作
三、简答题(共5题,每题4分,共20分)
1.作业和进程有什么区别和联系?
2.某系统采用分页存储管理方式,逻辑空间为32页,每页2KB,物理空间为1MB。请写出
逻辑地址的格式;若不考虑访问权限等,则进程的页表项有多少?每项至少含多少位?


3.某分页虚拟存储管理系统,其页表保存在寄存器中,如果有一个可用的空页或被替换的 4

部分
页未被修改,则处理一个缺页中断需要8ms;如果被替换的页已被修改,则处理一个缺页中断需

考试模拟卷及其评分标准
要20ms,内存存取时间为1μs。假定70%的替换页被修改过,为保证有效存取时间不超过2μs,
可接受的最大缺页率是多少?
4.设某系统磁盘共有1 600块,块号为0~1 599,若用位示图来管理这个含1 600块的磁盘空
间,则位示图需要多少个字节?
5.什么是SPOOLing技术?SPOOLing系统由哪几部分组成?
四、综合应用题(共5题,每题6分,共30分)
1.有5个批处理作业A、B、C、D、E几乎同时到达,它们的估计运行时间分别为2min、
4min、6min、8min、10min,优先级分别为1、2、3、4、5,其中1为最低优先级。分别采用下面
的调度算法来计算上述作业的平均周转时间。
(1)优先级调度算法;
(2)FCFS调度算法,作业的到达顺序为C、D、B、E、A;
(3)SJF调度算法。
2.设系统中有3类资源A、B、C和5个进程P0、P1、P2、P3、P4,A类资源的数量为10,B类
资源的数量为5,C类资源的数量为7,在T0时刻系统的状态如下表所示:

Max Allocation Need Available


进程
A B C A B C A B C A B C
P0 7 5 3 0 1 0 7 4 3 3 3 2
P1 3 2 2 2 0 0 1 2 2 — — —
P2 9 0 2 3 0 2 6 0 0 — — —
P3 2 2 2 2 1 1 0 1 1 — — —
P4 4 3 3 0 0 2 4 3 1 — — —

系统采用银行家算法实施死锁避免策略,请回答:
(1)在T0时刻系统是否处于安全状态,若是,请给出安全序列;
(2)在T0时刻,若进程P1发出资源请求Request(1,0,2),则是否能够实施资源分配?
(3)在(2)的基础上,进程P4发出资源请求Request(3,3,0),此时是否能够实施资源
分配?
3.在分页存储管理系统中,逻辑地址的长度为16位,页面大小为4 096B。现有一逻辑地址
为2F6AH,且其第0、1、2页依次存放在物理块5、10、11中,请问其对应的物理地址是多少?
4.在分页虚拟存储管理系统中,假定系统给某进程分配了4个内存块,将最开始的4页先装
入内存,页的引用顺序为7,1,2,0,3,0,4,2,3,0,3,2,7,0,1,请问在分别采用
FCFS调度算法和LRU调度算法时会产生多少次缺页中断?依次淘汰的页是什么?
5.系统中的磁头停留在磁道号为70的磁道上,这时先后有4个进程提出了磁盘访问请求,
220

要访问磁盘的磁道号依次为45、68、28、90,移动臂沿磁道号递减的方向移动。请问分别采用
FCFS调度算法和SCAN调度算法时所需的寻道长度是多少?
五、程序设计题(共1题,每题10分,共10分)
有一个仓库,可以存放A和B两种产品,但要求:
(1)每次只能存入一种产品(A或B);
(2)-N <(A产品数量 - B产品数量)< M,其中N和M是正整数。
计算机操作系统习题与考研真题解析

试用同步算法描述产品A与产品B的入库过程。

考试模拟卷(二)

《操作系统》期末考试模拟卷二

考试时间 :120 分钟 考试形式 :闭卷

一、填空题(共11题,每空1分,共15分)
1.进程的状态和优先级信息存放在( )中。
2.在SPOOLing系统中,当系统执行作业时,其会从磁盘上的( )中读取信息,并会
把作业执行结果暂时存放在磁盘上的( )中。
3.缓冲的引入可以缓和CPU和I/O设备间( )的矛盾。
4.设一段表如下:

段号 起始地址 段长

0 219 600
1 2 300 14
2 90 100
3 1 327 5 800
4 1 952 96

那么,逻辑地址(2,88)对应的物理地址是( ),逻辑地址(4,100)对应的物理地
址是( )。
5.设有8页的逻辑空间,每页1 024B,它们被映射到含32块的物理存储区中,那么逻辑地
址的有效位是( )位,物理地址至少是( )位。
6.如果系统中有n个进程,则在等待队列中进程的个数最多为( )个。
7.在OS中,不可中断执行的操作称为( )。
8.如果信号量的当前值为-4,则表示系统中在该信号量上有( )个等待进程。
9.若要使当前运行的进程的优先级总是最高的,则应选择( )进程调度算法。
10.并发进程中涉及相同变量的程序段叫作临界区,对这些程序段要执行( )操作。
11.目前认为逻辑文件有两种类型,即( )文件与( )文件。
221

二、单项选择题(共10题,每题2分,共20分)
1.位示图方法可以用于( )。
A.盘空间的管理 B.盘的驱动调度
C.文件目录的查找 D.页式虚拟存贮管理中的页面调度
2.设有5个进程共享1个互斥段,如果最多允许2个进程同时进入互斥段,则所采用的互斥
信号量的初值应该是( )。


A.5 B.2 C.1 D.0 4

部分
3.通道又称为I/O处理机,它用于实现( )之间的信息传输。

考试模拟卷及其评分标准
A.内存与外设 B.CPU与外设 C.内存与外存 D.CPU与外存
4.采用直接存取法来读/写盘上的物理记录时,效率最高的是( )文件。
A.链接结构 B.索引结构 C.连续结构 D.其他结构
5.最适用于分时系统的进程调度算法是( )。
A.FCFS B.SSJF C.优先数法 D.RR
6.( )不是文件的存储结构。
A.索引文件 B.记录式文件 C.链接文件 D.连续文件
7.如果要使装入内存的目标程序在内存中移动后能正常运行,则必须要有( )。
A.静态重定位 B.动态重定位 C.动态链接 D.静态链接
8.一个程序能否占用处理机执行,是由( )机构决定的。
A.内存管理 B.设备管理 C.进程调度 D.作业调度
9.( )与进程是一对一的关系,OS通过它来实现地址转换。
A.JCB B.线程 C.目录 D.页表
10.在分页存储管理方式中,对于一个逻辑页面访问请求量,已知OPT页面置换算法发生
了10次缺页,并推断出其他页面置换算法可能发生的缺页次数如下,最可信的是( )。
A.FCFS 15次 B.LFU 9次 C.FIFO 6次 D.LRU 8次
三、简答题(共5题,每题6分,共30分)
1.举例说明OS中采用的时间换空间和空间换时间技术。
2.文件系统采用多重索引结构搜索文件内容。设块长为512B,每个块号长3B,假设不考
虑逻辑块号在物理块中所占的位置,分别求二级索引和三级索引时可寻址的文件最大长度。
3.一个计算机中包含6台磁带机,有n个进程在竞争使用它们,每个进程最多需要2台。请
问n为多少时系统才不会存在死锁的危险?
4.在一个单道批处理系统中,一组作业的提交时间和运行时间如下表所示。

作业 提交时间 运行时间(min)

1 8:00 60

2 8:50 50

3 9:00 20

4 9:10 10

采用SJF调度算法,请给出作业的调度次序并计算平均周转时间T。
5.分配设备时为什么要考虑安全性以及与设备的无关性?试给出一个检查系统安全性的
算法。
222

四、综合应用题(共2题,每题12分,共24分)
1.在分页存储管理系统中,页内地址为12位,一次内存访问时间为10ns,查询快表时间为
1ns,缺页处理时间为1000ns。现系统开始执行一进程,第3号逻辑页面已在内存中,并连续访问
5E5FH、3E4FH、435FH、3EA4H、7E41H、6B41H、431AH、3E40H、7D88H逻辑地址上的数
据。假设:该进程的驻留集为4,采用局部置换策略,缺页处理后指令重新开始执行,快表容量
足够大。若采用LRU页面置换算法,则求:
计算机操作系统习题与考研真题解析

(1)页面大小是多少?
(2)这个进程会依次访问哪些逻辑页面?
(3)访问上述地址序列时,哪些地址发生了缺页中断?共发生了几次?请写出分析过程。
(4)访问地址5E5FH、3E4FH、3EA4H的数据需要的时间是多少?请列式说明。
2.假设磁盘共有200个柱面,编号为0~199。当前存取臂在120号柱面上服务,并刚刚完成
了105号柱面的请求。如果现有进程P1、P2、P3、P4分别请求的柱面号为186、l58、115、90,则
按下列3种算法进行调度时,试问:系统调度的次序是什么?存取臂移动总量为多少?
(1)FCFS调度算法; (2)SSTF调度算法; (3)电梯调度算法。
五、程序设计题(共1题,每题11分,共11分)
公路上有一座桥,一次只允许一辆汽车在桥上行驶。当桥上有汽车时,其他汽车不能上
桥。试问:
(1)这是一个同步问题还是互斥问题?
(2)用信号量和P、V操作来描述并发过程。

考试模拟卷(一)参考答案与
评分标准

《操作系统》期末考试模拟卷一
参考答案与评分标准
一、填空题(共6题,每空1分,共10分)

题号 1 2 3 4 5 6
答案 共享 命令;程序 线程;进程 1~1-M 64MB 字节;数据块;一组数据块

二、单项选择题(共15题,每题2分,共30分)

题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
答案 B B C B C A A A B B C B C C B

三、简答题(共5题,每题4分,共20分)
1.【答案解析及评分标准】
作业通常是指用户在一次计算或一次事务处理过程中要求计算机系统所做工作的集合,包
223

括用户程序所需的数据及命令等。进程是具有独立功能且可并发执行的程序在一个数据集合上
的运行过程,是系统进行资源分配和调度的独立单位。(2分)
作业和进程的区别与联系如下:
(1)作业是用户向计算机提交的任务实体,而进程则是完成用户任务的执行实体,是向OS
申请分配资源的基本单位;
(2)一个作业可以由多个进程组成,且一个作业至少由一个进程组成;


(3)作业的概念主要用于批处理系统中,而进程的概念则用于所有的多道程序系统中。(2分) 4

部分
2.【答案解析及评分标准】

考试模拟卷及其评分标准
该系统拥有逻辑空间32页,故在逻辑地址中页号用5位二进制数来描述,每页为2KB,因此
页内地址必须用11位二进制数描述,由此可得如下逻辑地址格式:

15 11 10 0
(2 分)

页号 页内位移

每个进程最多有32个页面,因此进程的页表项最多为32项;若不考虑访问权限等,则页表
项中只须给出页所对应的物理块号,1MB的物理空间可以分成29个物理块,故每个页表项至少
有9位。(2分)
3.【答案解析及评分标准】
因为页表放在寄存器中,所以访问页表的时间可以忽略不计,存取时间包括内存存取时间
和处理缺页中断所需的时间。(2分)
如果用P表示缺页率,则有效访问时间不超过2μs,可表示为(1-P)×1+P×(0.7×20 +
0.3×8+1)≤2,进而可计算出P≤(1/16 400)。(2分)
4.【答案解析及评分标准】
在位示图中用一位二进制数描述一个磁盘块的状态。(2分)
1 600个磁盘块共需要1 600位二进制数,且每个字节的长为8位,故位示图需要1 600/8 =
200B。(2分)
5.【答案解析及评分标准】
SPOOLing技术是一种虚拟设备技术,其可以把一台独占设备改造为虚拟设备,然后在进程
所需的物理设备不存在或被占用的情况下使用该设备。(2分)
SPOOLing技术是对脱机I/O系统的模拟,因此又称为SPOOLing操作。SPOOLing系统主要由
输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程这3部分组成。(2分)
四、综合应用题(共5题,每题6分,共30分)
1.【答案解析及评分标准】
为了计算方便,假设这批作业的到达时间为0。
(1)使用优先级调度算法时,作业的调度顺序为E、D、C、B、A,各作业的周转时间如
下表所示。

作业 执行时间 优先级 开始运行时间 完成时间 周转时间


A 2 1 28 30 30
B 4 2 24 28 28
C 6 3 18 24 24
D 8 4 10 18 18
E 10 5 0 10 10
224

平均周转时间=(30+28+24+18+10)/5=22min。(2分)
(2)使用FCFS调度算法且作业的到达顺序为C、D、B、E、A时,作业的调度顺序为C、
D、B、E、A,各作业的周转时间如下表所示。

作业 执行时间 优先级 开始运行时间 完成时间 周转时间


A 2 1 28 30 30
计算机操作系统习题与考研真题解析

B 4 2 14 18 18
C 6 3 0 6 6
D 8 4 6 14 14
E 10 5 18 28 28

平均周转时间=(30+18+6+14+28)/5=19.2min。(2分)
(3)使用SJF调度算法时,作业的调度顺序为A、B、C、D、E,各作业的周转时间如下表
所示。

作业 执行时间 优先级 开始运行时间 完成时间 周转时间


A 2 1 0 2 2
B 4 2 2 6 6
C 6 3 6 12 12
D 8 4 12 20 20
E 10 5 20 30 30

平均周转时间=(2+6+12+20+30)/5=14min。(2分)
2.【答案解析及评分标准】
(1)利用银行家算法对T0时刻的资源分配情况进行分析,可得T0时刻的安全性分析结果如
下表所示。

Work Need Allocation Work+ Allocation


进程 Finish
A B C A B C A B C A B C
P1 3 3 2 1 2 2 2 0 0 5 3 2 TRUE
P3 5 3 2 0 1 1 2 1 1 7 4 3 TRUE
P4 7 4 3 4 3 1 0 0 2 7 4 5 TRUE
P2 7 4 5 6 0 0 3 0 2 7 5 5 TRUE
P0 10 4 7 7 4 3 0 1 0 10 5 7 TRUE

由上表可知,在T0时刻存在一个安全序列P1,P3,P4,P2,P0,故系统是安全的。(2分)
(2)P1请求资源Request(1,0,2),系统按银行家算法进行检查,Request(1,0,2)
≤Need(1,2,2),Request(1,0,2)≤Available(3,3,2),系统试探分配,修改相应的
向量,形成的资源变化情况如下表所示。

Max Allocation Need Available


进程
A B C A B C A B C A B C
P0 7 5 3 0 1 0 7 4 3 2 3 0
P1 3 2 2 3 0 0 0 2 0 — — —
P2 9 0 2 3 0 2 6 0 0 — — —
225

续表
Max Allocation Need Available
进程
A B C A B C A B C A B C
P3 2 2 2 2 1 1 0 1 1 — — —
P4 4 3 3 0 0 2 4 3 1 — — —


再利用安全性检查算法检查此时的系统是否安全,检查结果如下表所示。
4

部分
Work Need Allocation Work+ Allocation
进程 Finish

考试模拟卷及其评分标准
A B C A B C A B C A B C
P1 2 3 0 0 2 0 3 0 2 5 3 2 TRUE
P3 5 3 2 0 1 1 2 1 1 7 4 3 TRUE
P4 7 4 3 4 3 1 0 0 2 7 4 5 TRUE
P0 7 4 5 7 4 3 0 1 0 7 5 5 TRUE
P2 7 5 5 6 0 0 3 0 2 10 5 7 TRUE

利用安全性检查算法可以找到一个安全序列P1,P3,P4,P0,P2,故系统是安全的,可以立
即把P1所申请的资源分配给它。(2分)
(3)P4发出请求Request(3,3,0),系统按银行家算法进行检查,Request(3,3,0)
≤Need(4,3,1),Request(3,3,0)≤Available(2,3,0),条件不成立,因此让P 4
等待。(2分)
3.【答案解析及评分标准】
在分页存储管理系统中进行地址转换时,地址转换机构将自动把逻辑地址分成页号和页内
地址,如果页号不小于列表长度,则产生越界中断,否则便以页号为索引检索页表,从中获得
对应的块号,并把块号和页内位移分别送入物理地址寄存器的块号和块内位移字段中,进而形
成物理地址。
由题目所给的条件可知,分页存储管理系统的逻辑地址结构如下图所示。(2分)
15 11 10 0
页号 页内位移

逻辑地址2F6AH的二进制表示如下图所示。(2分)
页号 页内位移
0010 1111 0110 1010

由此可知,逻辑地址2F6AH的页号为2,小于页表长度3,故没有越界;该页存放在第11个
物理块中,用十六进制表示块号为B,因此物理地址为BF6AH。(2分)
4.【答案解析及评分标准】
(1)按照FCFS调度算法,当发生缺页中断时,将淘汰最先进入内存的页面,具体过程如
下图所示。
页号 7 1 2 0 3 0 4 2 3 0 3 2 7 0
7 7 7 7 3 3 3 3 3 3 3 3 3 3
1 1 1 1 1 1 4 4 4 4 4 4 4 4
内存块
2 2 2 2 2 2 2 2 2 2 2 2 7 7
0 0 0 0 0 0 0 0 0 0 0 0 0 0
淘汰页 7 1 2
226

由上图可知,共发生了3次缺页中断,依次淘汰的页为7,1,2。(3分)
(2)按照LRU调度算法,当发生缺页中断时,将淘汰最近一段时间内最久没有访问的页
面,具体过程如下图所示。

页号 7 1 2 0 3 0 4 2 3 0 3 2 7 0
7 1 2 0 3 0 4 2 3 0 3 2 7 0
1 7 1 2 0 3 0 4 2 3 0 3 2 7
计算机操作系统习题与考研真题解析

内存块
2 2 7 1 2 2 3 0 4 2 2 0 3 2
0 0 0 7 1 1 2 3 0 4 4 4 0 3
淘汰页 7 1 4

由上图可知,共发生了3次缺页中断,依次淘汰的页为7、1、4。(3分)
5.【答案解析及评分标准】
(1)FCFS调度算法会根据访问请求的先后次序,选择为先到的访问请求提供服务。
FCFS调度算法:(70-45)+(68-45)+(68-28)+(90-28)=150。(3分)
(2)SCAN调度算法会将请求队列中沿磁臂前进方向最接近于磁头所在柱面的访问请求作
为下一个服务对象,直到没有“更内”的服务时请求移动臂才会改变方向,并依次服务于此方
向上的访问请求。
SCAN调度算法:(70-68)+(68-45)+(45-28)+(90-28)=104。(3分)
五、程序设计题(共1题,每题10分,共10分)
【答案解析及评分标准】A产品的数量不能比B产品的数量少N个以上,A产品的数量不能比
B产品的数量多M个以上。设置两个信号量来控制A、B产品的存放数量,sa表示当前允许A产品
比B产品多入库的数量,即在当前库存量和B产品不入库的情况下,还允许sa个A产品入库;sb表
示当前允许B产品比A产品多入库的数量,即在当前库存量和A产品不入库的情况下,还允许sb
个B产品入库。初始时,sa为M-1,sb为N-1,若往库中存入一个A产品,则允许存入B产品的数
量增加1;若往库中存入一个B产品,则允许存入A产品的数量也增加1。
semaphore mutex=1,sa=M-1,sb=N-1;(2 分)
void puta( ){ void putb ( ){
while(1){ while (1) {
取一个产品 ; 取一个产品 ;
wait (sa); wait (sb);
wait (mutex); wait (mutex);
将产品存入库 ; 将产品存入库 ;
signal (mutex); signal (mutex);
signal(sb); signal (sa);
} }
} (3 分) } (3 分)

main ( ){
cobegin{
puta ( );
putb ( );
}
} (2 分)
227

考试模拟卷(二)参考答案与
评分标准


《操作系统》期末考试模拟卷二 4

部分
参考答案与评分标准

考试模拟卷及其评分标准
一、填空题(共11题,每空1分,共15分)

题号 1 2 3 4 5 6
答案 PCB 输入井;输出井 速度不匹配 178;越界中断 13;15 n-1
题号 7 8 9 10 11
答案 原语 4 抢占式优先级调度 互斥 有结构;无结构

二、单项选择题(共10题,每题2分,共20分)

题号 1 2 3 4 5 6 7 8 9 10
答案 A B B C D B B C D A

三、简答题(共5题,每题6分,共30分)
1.【参考答案及评分标准】
时间换空间技术:虚拟存储技术、紧凑技术。该类技术增加了访问时间,但扩充了内存的
逻辑容量。(3分)
空间换时间技术:缓冲区技术、SPOOLing技术。该类技术减少了CPU的等待时间,缓解了
速度不匹配的矛盾,但增加了外存或内存容量,将数据进行了暂存。(3分)
2.【参考答案及评分标准】
二级索引文件的最大长度=[512/3]×[512/3]=170×170=28 900块。(3分)
三级索引文件的最大长度=[512/3]×[512/3]×[512/3]=170×170×170=491 300块。(3分)
3.【参考答案及评分标准】资源的分配情况最坏是每个进程分得所需资源的最大数减1个
资源,如果这时系统还剩1个资源,那么这1个资源不论分给哪个进程都不会导致发生死锁,由
此可知,当6-n×(2-1)≥1时,不会发生死锁。(4分)
计算得n的最大值为5。(2分)
4.【参考答案及评分标准】采用SJF调度算法时,作业的运行情况如下表所示。

作业执行次序 提交时间 运行时间(min) 开始时刻 完成时刻 周转时间(min)


1 8:00 60 8:00 9:00 60
3 9:00 20 9:00 9:20 20
4 9:10 10 9:20 9:30 20
2 8:50 50 9:30 10:20 90

(4分;若只给出调度次序而没有时间段分析,则仅得2分)
228

因此,平均周转时间T=(60+20+20+90)/4=47.5min。(2分)
5.【参考答案及评分标准】为了提高系统的适应性和均衡性,避免死锁的产生,设备分配
必须考虑安全性问题。(2分)
设备无关性使得用户的应用程序独立于实际的物理设备,这不仅方便了用户,而且增加了
设备分配的灵活性,也便于实现I/O重定向。(2分)
银行家算法就是检查系统安全性的一种典型算法。(2分)
计算机操作系统习题与考研真题解析

四、综合应用题(共2题,每题12分,共24分)
1.【参考答案及评分标准】
(1)页面大小为4KB。(2分)
(2)依次访问的逻辑页面的页面号为:5、3、4、3、7、6、4、3、7。(3分)
(3)页面置换过程如下图所示。

页面号 3 5 3 4 3 7 6 4 3 7
3 5 3 4 3 7 6 4 3
内存 5 5 4 3 7 6 6
5 4 3 7 4
缺页次数 1 2 3 4

由上图可知,发生缺页中断的页为5、4、7、6,即共发生了4次缺页中断。(4分)
(4)访问地址5E5FH的数据所需的时间=1+10+1 000+1+10=1 022ns;
访问地址3E4FH的数据所需的时间=1+10+10=21ns;
访问地址3EA4H的数据所需的时间=1+10=11ns。(3分)
2.【参考答案及评分标准】
(1)FCFS调度算法:系统调度的次序为P1,P2,P3,P4或186,158,115,90。(2分)
存取臂移动总量=(186-120)+(186-158)+(158-115)+(115-90)=162。(2分)
(2)SSTF调度算法:系统调度的次序为P3,P4,P2,P1或115,90,158,186。(2分)
存取臂移动总量=(120-115)+(115-90)+(158-90)+(186-158)=126。(2分)
(3)电梯调度算法:系统调度的次序为P2,P1,P3,P4或158,186,115,90。(2分)
存取臂移动总量=(158-120)+(186-158)+(186-115)+(115-90)=162。(2分)
五、程序设计题(共1题,每题11分,共11分)
【参考答案及评分标准】
(1)该问题是互斥问题,桥是汽车进程互斥使用的资源。(3分)
(2)每辆汽车对应一个进程,进程数量不确定。用Pi(i=0,1,2,…)表示汽车进程;设
互斥信号量为S,其初值为1。(2分)
汽车进程Pi的执行过程可描述如下:
汽车进程 P(i=0,
i 1,2,…)
P(S); (3 分 )
汽车上桥 ;
在桥上行驶 ;
汽车下桥 ;
V(S); (3 分)
高等学校计算机专业核心课
名师精品 系列教材

名师精品系列教材
高等学校计算机专业核心课
本/书/特/色

计算机操作系统
计算机
1. 详细讲解课后习题,拓展解读考研真题
本书针对主教材各章节后的多类型习题(简答题、计算题、综
合应用题)进行详细分析并给出参考答案,同时,拓展编排了

操作系统
足量考研真题,并进行了解题思路与参考答案解析,以帮助读
者扎实巩固理论所学。

2. 紧扣考研大纲要求,分析知识体系要点
根据操作系统考研大纲要求,编者不仅总结了各章学习目标,
以指明学习方向,而且绘制了各章知识导图,分析知识体系要
习题与考研真题解析
点,阐明实战能力提升思路,以帮助读者稳步提升知识技能。
姜华 赵阳 王艳秋 主编

习题与考研真题解析
3. 配套建设多种教辅资源,助力教学工作顺利开展 汤小丹 主审
在详解多类型习题的同时,编者编排了多套考试模拟卷(含
评分标准),录制了与考研相关的各章内容复习指导微课视频,
帮助读者系统梳理重点知识,助力教师顺利开展教学工作。
ANALYSIS OF EXERCISES AND
POSTGRAD ENTRANCE EXAM FOR
COMPUTER OPERATING SYSTEM

汤小丹《计算机操作系统(慕课版)》配套教材
详解课后习题、考研真题与典型考题,题量充足,题型丰富
教材服务热线:010-81055256 提供多套考试模拟卷,配套录制复习指导微课视频
用书教师扫码下载 反馈/投稿/推荐信箱:315@ptpress.com.cn
本书配套资源 人邮教育服务与资源下载社区:www.ryjiaoyu.com

定价:49.80元
封面设计:董志桢

FM56347(高校计算机专业核心课名师精品)计算机操作系统习题与考研真题解析.indd 1-3 21/6/10 上午8:58

You might also like