操作系统期中试题答案

操作系统期中试题答案
华东师范大学软件学院2009-2010学年第二学期操作系统课程期中考试试题
一、多项选择题(5‘x6=30',每题有一个或多个答案,答错不给分,少答按比例给分)
1. 以下对于虚存调页(page replacement)策略,错误的是:C
A. LRU不会发生Belady异常
B. 最优策略不会发生Belady异常
C. Belady异常就是随着页框(frame)个数增多,缺页率(page fault rate)必然增加
D. 调页必须在内核态(kernel mode)下进行
2. 当系统中的进程增多时,以下哪些(个)情况不可能出现(不考虑死锁):D
A. CPU利用率增高
B. CPU利用率降低
C. 磁盘I/O增多
D. 磁盘I/O减少
3. 以下那些(个)操作会使得一个进程从运行(running)状态转换为就绪(ready)状态:A, B, D
一个死刑犯的遗嘱A. 在可占先(preemptive)系统中,高优先级进程被创建
B. 分时系统中,时间片到
C. 当前运行进程发生缺页中断
D. 当前运行进程调用yield(),主动放弃使用CPU
4. 对于死锁,以下哪些(个)描述是正确的:B, D
A. 死锁避免(deadlock avoidance)中,不安全的状态必然发生死锁
B. 死锁避免(deadlock avoidance)中,发生死锁必然处于不安全状态
C. 资源分配图中有环(以资源类型和进程为节点),必然发生死锁
D. 如果要求每个进程必须一次申请所有需要的资源,如果不能满足其要求,则不分配任何资源,那么死锁不可能发生
5. 以下描述正确的是:B, C
A. 中断处理程序(interrupt handler)是进程的一部分,在进程的地址空间运行
B. 中断处理程序(interrupt handler)必须运行在内核态
C. 微内核体系结构下,进程间通讯(inter-processing communication)必须在微内核内
D. 分时(time sharing)的目的是提高CPU和I/O的并行度
6. 关于线程,以下说法正确的是:A, B, C
A. 用户态线程(无核心态线程或LWP)阻塞,可能会阻塞线程
B. 多处理器环境下,线程间同步不能使用关中断实现
C. 线程控制块中包含CPU寄存器状态
D. 在支持核心态线程的系统中,CPU调度的单位仍然是进程
二、(10')请说明:
1. 进程创建时(如在类UNIX操作系统中,连续执行fork()和exec()系统调用),操作系统所
需要进行那些工作,它们的代价如何(大,中,小)。(6')
答:
a. 构造PCB,代价小
b. 设置地址空间映射,代价中
c. 复制父进程地址空间内容,代价大
d. 复制I/O状态,代价中
2. 为什么线程创建比进程快,它主要节省了以上哪个步骤的代价?(4')
答:同一进程的不同线程共享资源,因此以上b, c, d三项代价几乎都可节省
三、(10')现有四个进程P0, P1, P2, P3,三类资源A, B, C,各有7、5、5个。资源分配矩阵如下:
A B C
P0 0 1 0
P1 2 0 0
P2 3 0 3
P3 2 2 2
资源请求矩阵如下:
A B C
P0 0 0 0
P1 2 0 2
P2 0 0 0
P3 1 0 0
可用资源向量为:
A B C
0 2 0
1. 请问:目前是否存在死锁?如果不存在死锁,请给出一个能够让所有进程执行完的序列
(4')
答:不存在死锁
P0, 0 3 0
P2, 3 3 3
P1, 5 3 3
吐噶喇海峡P3, 7 5 5
性别对抗
2. 假设此时又来一个进程P4,申请资源(2, 2, 0),请问如果把2个资源B的实例分配给P4,假设除已经获得和正在请求的资源外,所有进程不再请求其它资源,是否处于安全状态(为什么)?(6')
答:安全
此时可用资源向量为:0 0 0
P2, 3 0 3
P1, 5 0 3
P4, 5 2 3
P0, 5 3 3
关节置换术
P3, 7 5 5
仍然都能执行完
四、(15')使用段页式内存管理,段表和页表都存放在主存中,所有要访问的页面都在主存中。页表项可以缓存在快表(或称旁路转换缓存,TLB)中。一次内存访问的代价为200ns,一次TLB访问代价为10ns。
1. 请写出以上段页式内存访问的处理流程(也可以用图示表示)(5')
a. 访问段表,检查是否违法,获取页表地址
b. 访问快表,如果miss goto c,否则goto d
c. 访问内存页表
d. 访问内存
结合律
2. 假设TLB的命中率为50%,请计算进程对内存的有效访问时间(effective access time)
(5')
答:
200 + 50%*10 + (1-50%)*210 + 200
= 510ns
3. 如果要求进程对内存的有效访问时间不大于500ns,请问TLB的命中率必须提高到多少?(5')
答:
200+ x*10 + (1-x)*210 + 200
=610-200x<=500
x>=110/200=55%
五、(20')假设有三个进程A,B和C,A和B只使用CPU,各需要1000毫秒,进程C使用10毫秒CPU然后进行90毫秒I/O,然后再使用100毫秒CPU接着100毫秒I/O,总共也是1000毫秒。假设三个进程的到达次序是ABC。
方案一:
假设进程C使用10毫秒CPU然后进行90毫秒I/O,然后再使用100毫秒CPU接着100毫秒I/O,然后再使用100毫秒CPU接着100毫秒I/O,然后再使用100毫秒CPU接着100毫秒
I/O,总共是1000毫秒。
1. 请计算使用FIFO调度,三个进程的平均等待时间和平均完成时间(4')
答:A,B,C
平均等待时间:(0+1000+2000)/3=1000
平均完成时间:(1000+2000+3000)/3=2000
2. 请计算使用100毫秒为时间片长度,使用轮询(round-robin)调度时,三个进程的平均等待时间和平均完成时间(4')
答:A100, B100, C10, A100C90, B100, C100, A100C100, B100, C100, A100C100, B100, C100,
A100C100, B100, C100, A100C100, B100, C100, A100,B100, A100,B100, A100,B100, A100,B100 平均等待时间:(1410+1510+710)/3=1210
A: 0+110+200*5+100*3=1410
B: 100+110+200*5+100*3=1510
C: 200+110+100*4=710
平均完成时间:(2410+2510+1710)/3=2210
A: 210+300*5+200*3+100=2410
2012nba中国赛B: 210+300*5+200*3+200=2510
C: 210+300*5=1710
3. 请计算使用10毫秒为时间片长度,使用轮询(round-robin)调度时,三个进程的平均等待时间和平均完成时间(4')
答:A10, B10, C10, A10C10, B10C10, A10C10, B10C10, A10C10, B10C10, A10C10, B10C10,
A10C10, B10, C10, A10, B10, C10, A10, B10, C10, A10, B10, C10, A10, B10, C10, A10, B10, C10, A10, B10, C10, A10, B10, C10, A10, B10, C10, A10, B10, C10, A10C10, B10C10, A10C10, B10C10, A10C10, B10C10, A10C10, B10C10, A10C10, B10C10, ... A10, B10, A10, B10, A10, B10, A10, B10 平均等待时间:(1900+1910+930)/3=1580
A: 20+40+20*10*5+20*10*4+40=1900
B: A+10=1910
C: 20+10+20*9+20*9+20*9+20*9+20*9=930

本文发布于:2024-09-25 10:26:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/231470.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:进程   线程   资源   使用   内存   死锁
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议