操作系统原理复习题答案

发布时间:2017-01-16 12:43:09

<<操作系统原理复习题答案>>

第一部分 名词解释答案

第一章 概论

计算机系统: 计算机系统由硬件和软件两大部分组成. 硬件(即物理计算机)是系统

的基本资源, 在硬件基础上配置的软件是对硬件功能的扩充和完善.

裸机: 即不附加任何软件的物理计算机.

虚拟机: 所谓虚拟是指逻辑的而非物理的计算机, 是指在物理计算机上加上若干层

软件上构成的比裸机功能更强的、使用更方便的``虚拟计算机''. 操作系统是加在裸机

上的第一层软件. 它是对裸机的首次扩充.

操作系统: 从结构上看, 操作系统是用户程序及系统应用, 应用程序, 单道程序系统, 多道程序系统,

中断, 通道, 异步事件, 批处理, 脱机方式, 批处理系统, 分时, 时间片, 响应时间,

分时系统, 实时, 单用户交互式系统, 实时系统, 网络操作系统, 管态, 目态,

特权指令, 非特权指令, 系统调用, 访管指令, 访管中断, 程序级接口, -机接口,

脱机级接口, 联机级接口, 前台作业, 后台作业, 并发性, 共享性, 不确定性, 并发,

并行, 顺序共享, 并发共享, 中断机构, 中断源, 中断请求, 断点, 中断响应,

中断处理程序, 中断处理, 中断返回, 输入输出中断, 故障中断, 程序状态字,

外部中断, 时钟, 界限寄存器, 存储保护键, 冷启动, 热启动.

2. 顺序性, 封闭性, 确定性, 可再现性, 竞争性, 制约性, 与速度无关, 进程概念,

执行状态, 就绪状态, 等待状态, 死锁状态, 挂起状态, 进程控制块, 纯代码,

可再入程序, 用户进程, 系统进程, 进程模块, 非进程模块, 原语, 内核,

进程控制, 互斥, 同步, 广义同步, 临界资源, 临界区, 同类临界区, 信号量,

忙等待方式, 让权等待方式, P V 操作, 生产者与消费者, 公用信号量,

私用信号量, 消息缓冲, 消息队列, 管道, 作业, 脱机作业, 联机作业, 作业控制,

作业控制块.

3. 高级调度, 中断调度, 低级调度, 进程调度, 调度方式, CPU 周期, 剥夺方式,

非剥夺方式, 吞吐量, 平均周时间, 平均带权周转时间, 平均等待时间, 响应比,

先来先服务, 短作业优先, 最高响应比优先, 轮转法, 高优先级优先, 静态优先数,

动态优先数, 多级反馈队列, 调度程序, 系统开销, 系统颠簸.

4. 存储空间, 地址空间, 物理地址, 逻辑地址, 绝对地址, 相对地址, 名空间,

虚空间, 地址映射, 静态映射, 动态映射, 静态分配, 动态分配, 内存保护,

内存扩充, 分区, 碎片, 内碎片, 首次适应法, 最佳适应法, 最坏适应法,

固定分区, 可变分区, 地址越界, 越界中断, 覆盖, 交换, 整体交换, 部分交换,

交换时间, 分页, 分块, 页表控制寄存器, 快表, 直接映射, 间接映射, ,

实存管理, 整体性, 驻留性, 连续性, 虚拟空间, 局部性, 交换性, 时间局部性,

空间局部性, 请求颁, 实页, 虚页, 最近最少未使用法, 最近最少使用法,

访问寄存器法, 缺页中断, 抖动, 页的淘汰, 动态链接.

5. 块设备, 字符设备, 中断处理方式, DMA方式, 设备无关性, 独享设备, 共享设备,

中断向量设备驱动程序, 专用缓冲区, 公用缓冲区, 单缓冲池, 多缓冲区, 缓冲池,

静态分配, 动态分配, 打开, 关闭, 假脱机, 虚拟设备驱动进程, 拄面号, 盘面号,

扇区号.

6. 文件, 记录式文件, 流式文件, 文件卷, 文件控制块, 文件目录, 目录树, 路径名,

相对路径名, FCB, FCB目录项, 名号目录项, 文件共享, 连续文件, 链接文件,

索引文件, 位示表, 存取控制表, 打开文件, 关闭文件, 活动文件控制块表,

系统打开文件表, 文件连接表.

7. 死锁, 预防死锁, 避免死锁, 检测死锁, 解除死锁, 银行家算法.

8. 单体结构, 模块分层结构, 顾客-服务员模式, 分布式系统, 网络拓扑, 网络类型,

集中控制模式, 对称控制模式, 远程资源共享, 数据迁移, 计算迁移, 远程进程通信.

第二部分 回答问题

一、概论

1. 什么是裸机、虚拟机? 它们之间的关系是什么?

2. 操作系统与用户程序的关系是什么?

3. . 诺伊曼机的主要特点是什么?

4. 单道程序系统与多道程序系统各有什么特点和区别?

5. 实现多道程序系统需要哪些硬件和软件的支持? 简述多道程序运行的特征.

6. 什么是资源管理观点? 按此观点, 如何对计算机系统资源分类? 操作系统由

哪几部分组成?

7. 对你所熟悉的某个计算机系统, 说明其:

(1)硬件组织的基本结构, 画出硬件配置图;

(2)主要系统软件及它们的作用.

8. 操作系统在计算机系统中的地位和作用是什么?

9. 引入多道程序设计技术的起因和目的是什么?

10. 操作系统有哪些基本类型? 它们的各自的主要特点是什么?

11. 单道批处理和多道批处理的区别何在?

12. 分时系统与实时系统有什么联系和区别? 它们各有哪些特点?

13. 操作系统的主要特性是什么?

14. 批处理和分时系统各具有什么特点? 为什么分时系统的响应速度比较快?

15. 实时系统的特点是什么? 一个实时系统和分时系统看起来很相似, 它们有什么本质

的区别?

16. 什么是管态, 目态? 为什么要区分CPU的两种执行状态?

17. 操作系统提供哪些接口? 它们的作用是什么?

18. 并行操作与并发执行有什么区别?

19. 联机方式与脱机方式有什么区别? 各适用于什么类型的操作系统?

20. 通道 CPU 之间以什么方式通信? 简述中断技术和缓冲机构的作用.

21. 网络操作系统与基本操作系统有何不同?

22. 什么是操作系统? 它的主要功能是什么?

二、 进程与作业管理和调度

1. 什么是进程? 进程与程序的主要区别是什么?

2. 程序的顺序执行与并发执行各有什么特性?

3. 什么是进程? 说明进程的特性. 基本状态及物理表示.

4. 为什么说 PCB 是操作系统感知进程存在的唯一标志?

5. 什么是与时间有关的错误? 试举例说明.

6. 如图2-11所示的进程状态, 图中标上的数字分别表示一种形式的状态变迁. 现设分

别有进程处于执行态. 就绪态和等待态, 试判别下列诸条件式是否成立? 为什么?

12, 13, 21, 24, 31, 34, 41, 42, 43, 51

条件式"XY"表示, 若一进程产生状态变迁X, 则导致另一进程产生状态变迁Y.

7. 操作系统的内核是什么?

8. 原语和非内核程序在执行方式上有什么不同?

9. 用户进程是通过什么方式访问内核原语的?

10. 内核通常完成哪些功能? 经内核扩充后形成的虚拟机有哪些属性?

11. 原语是什么? 原语和广义指令(系统调用命令)有何区别?

12. 建立进程的实质是什么? 撤销原语完成哪些工作?

13. 系统进程与用户进程的什么区别? 在产生和消亡过程方面的什么差别?

14. 正在等待某事件的进程处于什么状态? 何时它能变为就绪状态参与调度?

由谁负责这两个状态之间的转化?

15. 进入内核的方式有哪几种? 谁可以直接访问内核原语?

16. 进程模块与非进程模块有什么区别和联系?

17. 怎样理解原语在执行过程中的不可分割性? 怎样实现不可分割性?

18. 什么是进程控制? 进程控制操作的哪些?

19. 第一个用户进程由操作系统的哪个机构建立? 由什么原因引起? 用户进程

被建立以后处于什么状态?

20. 一个进程在正常结束后怎样进入停止状态? 一个进程停止后, 由谁将另一

个进程启动运行?

21. 进程的阻塞是怎样实现的? 一个进程能否阻塞另一个进程? 引起阻塞的原

因是有哪些?

22. 一个进程阻塞后, 为什么另一个进程会变为运行态? 这是怎样转换的? 谁负责?

23. 进程的唤醒是怎样实现的? 由谁唤醒? 由什么原因引起?

24. 阻塞与就绪有什么区别? 为什么要区分这两种状态?

25. 由谁负责进程由运行态变为就绪态转换过程? 由什么原因引起?

26. 为什么进程不能由阻塞态直接变为运行态?

27. 什么是进程调度? 由谁负责进程调度? 为什么要进行进程调度?

28. 有哪些原因可以引起进程调度程序的执行?

29. 什么是挂起状态? 为什么要引入挂起状态?

30. 引起进程挂起的原因有哪些?

31. 阻塞状态与挂起状态有什么区别?

32. 操作系统的哪一个机构负责进程的挂起和解除挂起? 设置该机构的目的是什么?

何时实施挂起和解挂?

33. 把等待状态下的进程按优先级排序有无意义? 为什么?

34. 一进程被阻塞后其断点落在何处? 当它被唤醒后从何处继续执行?

35. 什么是同步. 互斥. 广义同步? 互斥与同步有什么区别和联系?

36. 什么是临界资源? 临界资源与非临界资源有什么区别?

37. 什么是临界区? 临界区与非临界区有什么区别?

38. 什么是同类临界区? 不同类的临界区之间是否必须互斥执行?

39. 操作系统的同步机构对解决临界区互斥问题应遵循哪些准则?

40. 什么是进程同步? 什么情况下进程之间需要同步?

41. 进程的忙等待方式与让权等待方式有何区别? 让权等待方式比忙等待方式

有什么优越性? 怎样实现让权等待方式?

42. 什么是信号量? 其物理意义是什么? 初值怎样设置?

43. 什么是公用信号量与私用信号量? 各有什么用途?

44. 为什么P. V操作各自是不可分割的? 怎样理解其不可分割性?

45. 在生产者与消费者关系的算法中, 交换两个V操作的次序会有什么结果?

交换两个P操作的次序呢? 说明理由.

46. N 个并发程序共用一个公用变量Q, 写出用信号量实现N个进程互斥时的程

序描述, 并说明信号量取值范围.

47. 有三个进程GET, COPY, PUT, 共用二个缓冲区, S. D(其大小为每次存放

一个记录), GET进程负责不断的把输入记录送入缓冲区S, COPY进程负责从缓

冲区S中取出记录复制到缓冲区T, PUT进程负责把记录从缓冲区T中取

出打印. 试用P. V操作实现这三个进程之间的同步.

48. 在生产者-消费者问题中, 我们设置三个信号灯, 一个用于互斥的信号灯MUTEX,

其初值为1;另外两个信号灯是:FULL(初值为0, 用以指示缓冲区内是否有物品)

EMPTY(初值为N, 表示可利用的缓冲区数目). 试写出此时的生产者-

费者问题的描述.

49. 在生产者-消费者问题中若生产者和消费者进程的数目分别是MN, 就上

一题目中给出的各信号量讨论FULLEMPTY的取值范围.

50. 有一个阅览室, 100 个座位, 读者进入时必须在一张登记表上登记,

应每个座位列有一表目, 包括座号和读者姓名, 读者离开时要消掉登记信息.

试问为描述读者的活动, 应设置几个进程? 试用类PASCAL语言和P. V操作写出

这些进程间的同步算法.

51. 设某航空公司有N个售票处, 它们通过终端远程讨问设在公司总部的航空

订票系统, 并要查询或修改系统中记录所有班机当前订票数的数据库B. R(I)

W(I)分别为各售票处的查询或修改进程, 各个售票处的各个进程R(I)W(I)

均可并发执行, 试用类PASCAL语言和P. V操作写出这些进程间的同步算法.

52. 设有三个进程P1, P2, P3, 它们有如图所示的并发关系, 试用P. V操作

实现进程间的同步.

53. 若上题中P1P2有一段互斥临界区, 试修改上题中进程间的同步关系.

54. 设有六个进程P1, P2, ... , P6, 它们有如图所示的并发关系, 试用P. V

操作实现这些进程的同步.

55. P2P3是互斥进程, 试修改上题中的同步关系.

56. 信息缓冲通讯与管道通讯各有什么特点?

57. 何为作业? 用户提交的作业由哪几部分组成?

58. 说明进程与作业和进程的联系与区别?

59. 何为JCB? 其作用是什么? 由谁建立? 在何时建立和撤消? 通常含有哪些内容?

60. 注销一个作业通常要做哪些工作? 由谁执行?

61. 作业控制包括哪些内容? 分时系统与批处理上有何不同?

62. 处理机调度一般分几个级别? 说明每级调度的含义.

63. 作业调度一般功能是什么? 批处理系统与分时系统的作业调度有何区别?

64. 导致进程调度的时机是什么?

65. 导致作业调度的时机是什么?

66. 导致中级调度的时机是什么? 为什么要进行中级调度?

67. 剥夺式进程调度是指系统能够强制性的使执行进程放弃处理机. 试问: 分时系统

采用的是剥夺式还是非剥夺式进程调度? 实时系统呢?

68. 试述进程调度的主要任务, 为什么说它把一台处理机变为多台逻辑上的处理机?

69. 如果进程调度采用剥夺式HPF算法, 那么正文中给出的进程唤醒机构(V操作原

语和wakeup原语)是否需要修改? 若要修改, 应怎样修改? 用类PASCAL语言描述.

70. 如果某调度算法使得平均等待时间和平均周转时间为最小, 那么该算法

是最隹的. 该结论是否成立? 说明你的理由.

71. 证明SF算法导致最短的平均周转时间.

72. HRN算法(最高响应比优先)是如何防止作业或进程的无限延迟的?

73. 假定RR算法调度一个进程所需的CPU 时间的平均值为A, 各进程的CPU 周期的平均

时值为T(T>=A), 讨论下述时间片S的不同设置将导致什么结果或产生什么影响?

(1) S= (2) S 稍大于0 (3) S=A (4) AT

74. 在采用HPF调度中:

(1) 在某一时刻系统中既无执行态进程又无就绪态进程, 是否可能? 若可

, 在什么情况下会发生?

(2) 执行态进程的优先级是否一定不低于任一个就绪态进程?

75. 多级反馈队列是如何实现下述目标的?

(1) 短者优先;

(2) I/O型进程优先.

76. 简述平均周转时间, 平均带权周转时间和平均等待时间的含义, 并指出这三种估评

标准对作业或进程调度性能的评估各侧重哪一方面.

77. 什么是CPU周期? 进程调度方式与CPU周期有何联系?

三、 存储器管理

1. 存储器管理的对象、目的及任务是什么?

2. 什么是碎片? 内碎片和外碎片的区别是什么?

3. 说覆盖管理扩充了内存, 这是从什么意义上说的? 实现覆盖的困难是什么?

4. 对采用可变分区的交换系统和采用固定分区的交换系统, 讨论前者比后者的优越性.

5. 说覆盖管理括充了内存, 这是从什么意义上说的? 实现覆盖的困难是什么?

6. 对采用可变分区的交换系统和采用固定分区的交换系统, 讨论前者比后者的优越性.

7. 考虑一个由 8页且每页 1K组成的地址空间, 如果内存被分成32, 试问:

(1) 逻辑地址的有效位数是多少?

(2) 物理地址需多少位?

8. 考虑下面的段表:

段号 基地址 段长

0 219 600

1 2300 14

2 90 100

3 1327 580

4 1952 96

给出下列各逻辑地址所对应的物理地址:

(0,430), (1,10), (2,88), (3,444), (4,112).

9. 分页管理与分段管理的主要区别是什么?

10. 对于共享一个纯代码程序, 采用分页管理还是分段更容易实现? 说明理由.

11. 在利用快表的段页式系统中, 完成一次地址映射需经过几个映射环节?

12. 对于一个利用快表且页表存于内存的分页系统, 假定CPU一次访内时间为1微秒, 访

问快表的时间可忽略不计. 如果85%的地址映射可直接通过快表完成, 那么进程完

成一次内存读写的平均有效时间是多少?

13. 什么是虚拟存储器? 你根据什么说一个计算机系统肯定支持虚拟存储器?

14. 虚拟存储管理的基本思想是什么? 其核心是什么?

15. 考虑一个进程的访内序列如下: 10, 11, 104, 170, 73, 309, 185, 245, 246, 434,

458, 364.

(1) 若页尺寸为100, 给出访页踪迹.

(2) 若该进程的内存空间为200, 采用FIFO淘汰算法, 那么缺页率是多少?

(3) 若采用LRU淘汰算法, 给出缺页率.

16. 假定某进程访页踪迹如下:

1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6

在下表的空格中填上相应的缺页中断数:

---------------------------------------------------

分得的实页数 1 2 3 4 5 6

---------------------------------------------------

FIFO算法

LRU算法

---------------------------------------------------

17. 考虑一个请求分页系统, 测得如下的时间利用率:

CPU: 20%, 分页磁盘: 97.7%, 其他外设: 5%

下列措施中, 哪个()可改善CPU的利用率? 说明理由.

(1) 更换速度更快的CPU;

(2) 更换更大容量的分页磁盘;

(3) 增加内存中的用户进程数;

(4) 挂起内存中的某个()进程.

18. 什么是动态连接? 为什么说分段虚拟系统有利于动态连接?

三、设备管理

1. 什么是快设备和字符设备? 各自的特点是什么?

2. 什么是通道? 通道与CPU是如何通信的?

3. 在总线结构的计算机系统中, 为什么要引入DMA输入/出方式?

4. 在层次结构上看, I/O系统可大致分为几个层次? 各层次软件的任务是什么?

5. I/O系统需要设置哪些数据结构? 各自的作用是什么?

6. 为什么要设置内存I/O缓冲区? 有哪几种缓冲区形式? 各自的作用是什么?

7. 对于专用缓冲区的生产者与消费者, 若生产者的生产速度始终快于消费者的消费速

,或者反过来, 消费速度始终快于生产速度. 试问: 对这两种情况应分别采用哪

种缓冲区技术较为适宜?

8. 基于缓冲池管理方案, 使用类PASCAL言语描述过程getbuf.

9. 打开一个特别文件的含义及效果是什么?

10. 为什么要引入SPOOLING系统? SPOOLING系统可带来哪些好处?

11. SPOOLING进程处于I/O系统层次结构中的哪一层? 它与哪些进程有通讯关系?

12. 设备驱动程序有哪几种运行方式?

13. 设备驱动程序是系统进程还是用户进程? 何时建立? 何时工作? 何时进入等待状态?

14. 访盘时间由哪几部分组成? 其中哪一个是磁盘调度的主要目标? 为什么?

15. 说明FCFSSSTFSCAN三种磁盘调度算法的优缺点.

16. 设某移动头磁盘有200个柱面, 编号为 0--199, 磁头当前正处在143柱面, 对于如下

请求序列: 86, 147, 91, 177, 94, 150, 102, 175, 130 求在FCFSSSTFSCAN

调度算法下的磁头移动顺序及移动总量(以柱面数计).

17. 基于某种I/O系统结构及数据结构, 举例说明从用户进程请求某I/O操作开始, 到该

I/O操作完成的全过程.

四、文件管理

1. 什么是文件和文件目录?

2. 文件卷是什么? 卷超级块应包含哪些内容?

3. 为什么说文件系统是操作系统与用户关系最密切的部分?

4. 什么是FCB? 一个FCB通常应包含哪些内容?

5. 文件目录的作用是什么? 有哪几种基本的目录结构?

6. 在读写一个文件前需要进行检索, 文件检索包括两个步骤: 一是目录检索, 二是

寻址. 它们的任务分别是什么?

7. 在目录树结构中, 目录项可如何组成?

8. 为什么说名号目录树可以加快目录检索?

9. 为什么说名号目录树有利于实现文件共享?

10. 设一个文件占据了100个物理块, 对于连续、链接和索引文件, 试问如果要将一块

信息:

(1) 加在文件的首部;

(2) 插入文件的中间;

(3) 加在文件的尾部;

(4) 从文件的首部删去;

(5) 从文件的中间删去;

(6) 从文件的尾部删去;

那么分别需要启动多少次I/O操作?

11. 某文件系统使用1K字节的物理块和16位的盘地址, FCB中含有8个物理块号以及一个一

重间接索引指针和一个二重间接索引块指针, 那么一个文件的尺寸最大可达多少?

12. UNIX系统中, 打开路径game/zapper需放盘多少次?

13. 为什么要在FCB中设置连接计数器?

14. 为什么要引入``打开''``关闭''操作?

15. 说明``关闭''操作的执行过程.

16. 有的系统在一文件首次被引用时由操作系统自动隐式地将它打开, 当一作业运行结束

, 又由系统自动关闭该作业的所有打开文件; 有些系统则要求用户必须显式执行文件的

打开和关闭命令. 试比较这两种方案的优缺点.

17. 对于一个你熟悉的操作系统, 列出与文件目录操作有关的键盘命令.

五、死锁

1. 产生死锁的四个必要条件是否都是独立的? 能否给出一个必要条件的最小集合?

2. 在一个死锁中, 只包含一个进程是否可能?

3. 如果三个进程共享四个同类资源, 且每个进程至少需要两个资源, 那么这三个进程

是否会陷入死锁? 为什么?

4. 假定系统中有m个同类资源, 并被n个进程所共享, 进程每次只申请或释放一个资源.

如果:

(1) 每个进程至少需要一个资源, 且最多不超过m个资源;

(2) 所有进程的需求总和少于m+n;

证明概系统不会发生死锁.

5. 设有四个进程p1p2p3p4共享一组资源r1r2r3r4, 假定在某个时刻它们

的资源分配状态如下所示:

1 1 1 0 1 0 0 1

1 0 0 1 0 0 1 0

A=( 0, 0, 0, 1 ) U=| R=|

0 0 1 0 0 0 0 1

0 0 1 0 0 1 0 1

(1) 给出该状态的资源分配图RAG;

(2) 给出该RAG的化简过程;

(3) 该状态是死锁状态吗?

6. 考虑如下资源分配状态:

0 0 1 2 0 0 0 0

1 0 0 0 0 7 5 0

A=( 1, 5, 2, 0 ) U=|1 3 5 4 R=|1 0 0 2

0 6 3 2 0 0 2 0

0 0 1 4 0 6 4 2

(1) 该状态是安全状态吗?

操作系统原理复习题答案

相关推荐