2010 年《操作系统》期末真题(第二套)
本卷与“A(1)”的题干完全不同,因此单独保留。我根据题目、答案扫描件转录;源答案中的伪代码和判断若有明显疑点,会标注“源答案原文如此”,不会静默改成自拟答案。
一、名词解释(每题 4 分,共 24 分)
- 进程控制块
- 原语
- 临界区
- 虚拟存储器
- 缓冲区
- 文件目录
查看源答案
- PCB 是与动态进程关联的数据结构,记录进程名字、状态、通信关系和占有资源,是进程存在的标志。
- 原语由若干指令组成,用于完成特定操作,通过不可分割或不可中断的程序段实现。
- 必须互斥执行的程序段称为相对于临界资源的临界区。
- 虚拟存储技术借助软硬件让主、辅存之间的信息交换、重定位和地址转换自动进行,使二者形成整体。
- 缓冲区用于暂存数据,缓和外设与内存或 CPU 的速度不匹配。
- 目录是文件系统层次结构中的非终结节点,含多个文件或目录的目录项。
二、判断题(每题 1 分,共 6 分)
- 一个进程可以涉及一个或若干程序的执行;反之,同一个程序只可以对应一个进程。( )
- 信号量只允许由 P、V 操作访问和修改。( )
- 并发是多个任务在多个处理机上同时运行,微观上在各自物理处理机上分别运行。( )
- 进程同步与互斥可以发生在一个进程之中。( )
- 中断方式由 CPU 在中断处理中控制数据传送;DMA 方式的数据传送由 DMA 控制器完成。( )
- 动态重定位便于程序浮动,实现硬件为重定位寄存器和加法器。( )
查看源答案
- 错。
- 对。
- 错。
- 错。
- 对。
- 对。
三、简答题(每题 4 分,共 20 分)
1. 实时系统与分时系统
二者各有什么特点?本质区别是什么?
查看源答案
实时系统通常为专用系统,响应时间由控制对象决定,安全可靠性要求高;分时系统强调多用户交互,让每个用户都有独占感。实时系统的响应要求通常更严格,交互会话能力不如分时系统。
2. 进程与线程
进程与线程有什么区别?
查看源答案
进程是并发和资源分配单位;线程是进程内部的执行路线,使用所在进程的资源,自身主要获得处理机时间片,因此又称轻量级进程。
3. 段页式管理
简述段页式存储管理的基本原理。
查看源答案
先把用户程序分段,再把每段分页。地址转换同时需要段表和页表,段表项中记录相应页表的起始地址与长度。
4. 设备管理
简述设备管理的主要功能。
查看源答案
源答案列出:提供进程管理与设备管理接口;按策略分配设备并管理等待队列;实现设备之间、设备与 CPU 之间的并行;分配、释放和管理缓冲区。
5. 文件物理结构
什么是文件物理结构?常见物理组织有几种?
查看源答案
文件物理结构是文件在文件系统内部、适应物理介质特性的组织方式。源答案列出顺序文件结构、随机文件结构和串联文件。
四、资源分配(5 分)
需要 , 需要 , 需要 。
- 不限制资源分配是否会死锁?举例说明。(2 分)
- 可采用什么策略保证正确工作?为什么?(3 分)
查看源答案
可能死锁:三个进程分别先得到 ,再申请下一个资源时会形成循环等待。可采用静态一次分配、按资源序分配或银行家算法,分别破坏请求并保持、循环等待,或保证系统始终安全。
五、进程同步(15 分)
Reader 从输入设备读信息并交给 Handler,Handler 加工后交给 Printer,Printer 输出。三个进程共享大小为 的同一个缓冲区。
- 给出同步、互斥信号量的名称、含义和初值。(3 分)
- 写出 Reader、Handler、Printer 和主进程代码。(12 分)
查看源答案
源答案设置 empty=K、full=0、ok=0 和互斥量 mutex=1:empty 表示空块数,full 表示待加工块数,ok 表示待输出块数。核心流程为:
Reader:
P(empty); P(mutex)
写入原始数据
V(mutex); V(full)
Handler:
P(full); P(mutex)
取出并加工数据
把加工结果写回缓冲区
V(mutex); V(ok)
Printer:
P(ok); P(mutex)
取出结果
V(mutex); V(empty)
打印
配套答案用一组环形缓冲区下标表示读写位置;主进程的 cobegin 列表中把 Reader 误写成了第二个 Printer,我没有把这个源答案笔误当成题面事实。
六、银行家算法(10 分)
| 进程 | Allocation | Need |
|---|---|---|
当前 Available=(1,6,2,3)。
- 当前是否安全?若安全,给出一个安全序列。(5 分)
- 请求 ,能否分配?说明原因。(5 分)
查看源答案
当前安全,源答案给出的序列为 。
的请求不超过其 Need 和当前 Available,但试分配后 Available=(0,4,0,1),没有任何进程能满足完成条件,系统不安全,因此撤销试分配,让 等待。
七、存储管理(20 分)
1. 地址转换(8 分)
主存 64 KB,分 16 块。作业有 4 页,页 0、1、2、3 分别装入块 2、4、1、6。
- 作业总长度是多少字节?
- 每一页在主存中的起始地址是什么?
- 求逻辑地址
[0,100]、[1,50]、[2,0]、[3,60]的内存地址。
查看源答案
每块 4 KB,作业总长 16 KB。各页起始地址依次为 8 KB、16 KB、4 KB、24 KB。四个逻辑地址对应的十进制物理地址为 8292、16434、4096、24636。
2. 页面置换(12 分)
访问串为 4、3、2、1、4、3、5、4、3、2、1、5,初始无页面。分别给 3 个和 4 个物理页框,采用 FIFO、LRU、OPT,计算缺页率并比较。
查看源答案
| 算法 | 3 个页框 | 4 个页框 |
|---|---|---|
| FIFO | ||
| LRU | ||
| OPT |
源答案据此指出 FIFO 出现 Belady 异常:增加页框反而使缺页率上升;LRU 和 OPT 的缺页率随页框增加而下降。