表2进程资源申请表
| 次序 | 进程 | 申请量 |
| 1 2 3 4 5 6 … | R P Q P R Q … | 2 4 2 2 1 2 … |
(1) 写出执行完序号为6的申请时,各进程的状态和已占的资源数。
(2) 请估计系统是否会出现死锁,并简要说明理由。
2. 有一个理发师,一把理发椅和n把供等候理发的顾客坐的椅子。如果没有顾客,则理发师便在理发椅子上睡觉;当一个顾客到来时,必须唤醒理发师,进行理发;如果理发师正在理发时,又有顾客来到,则如果有空椅子可坐,他就坐下来等,如果没有空椅子,他就离开。为理发师和顾客各编一段程序描述他们的行为,要求不能带有竞争条件。
3. 计算进程PC和打印进程P01、P02共享一个单缓冲区,计算进程负责计算,并把计算结果放入单缓冲中;打印进程P01、P02则负责从单缓冲中取出计算结果进行打印,而且对每个计算结果,P01和P02都需分别打印一次。请用记录型信号量描述上述进程间的同步关系。
4. 假设磁盘有200个磁道,磁盘请求队列中是一些随机请求,它们按照到达的次序分别处于98、183、37、122、14、124、65、67号磁道上,当前磁头在53号磁道上,并向磁道号减小的方向上移动。请给出按FCFS、SSTF、SCAN及CSCAN算法进行磁盘调度时满足请求的次序,并计算出它们的平均寻道长度。
5. 假设某多道程序设计系统中有供用户使用的内存100KB,打印机1台。系统采用可变分区方式管理内存:对打印机采用静态分配,并假设输入输出操作的时间忽略不计;采用最短剩余时间优先的进程调度算法,进程剩余执行时间相同时采用先来先服务算法;进程调度时机选择在执行进程结束时或有新进程到达时。现有一进程序列如表3所示:
| 进程号 | 进程到达时间/s | 要求执行时间/s | 要求主存量/B | 申请打印机数/台 |
| 1 | 0 | 8 | 15K | 1 |
| 2 | 4 | 4 | 30K | 1 |
| 3 | 10 | 1 | 60K | 0 |
| 4 | 11 | 20 | 20K | 1 |
| 5 | 16 | 14 | 10K | 1 |
(1) 给出进程调度算法选中进程的次序,并说明理由。
(2) 全部进程执行结束所用的时间是多少?
6. 假定磁盘的存取臂现在正处于8号柱面上,有如表7所示的四个请求者等待访问磁盘,试写出最省时的响应顺序,并计算存取臂移动的总量:
| 请求者 | 柱面号 | 磁道号 | 块号 |
| 1 | 9 | 6 | 3 |
| 2 | 7 | 5 | 6 |
| 3 | 20 | 20 | 6 |
| 4 | 15 | 15 | 2 |
8. 设有五道作业,它们的提交时间和运行时间见下表,试给出在如表8所示的两种调度算法下,作业的执行顺序和平均周转时间:
(1) 先来先服务调度算法。
(2) 短作业优先调度算法
| 作业名 | 提交时间/h | 需执行时间/h |
| J1 | 10.1 | 0.3 |
| J2 | 10.3 | 0.5 |
| J3 | 10.5 | 0.4 |
| J4 | 10.6 | 0.3 |
| J5 | 10.7 | 0.2 |
(1) 试完成表9:
| 时间 | 1 2 3 4 5 6 7 8 9 10 |
| P | 6 0 1 2 0 3 0 4 2 3 |
| M=3 | 䦋㌌㏒㧀좈琰茞ᓀ㵂Ü |
| F | 䦋㌌㏒㧀좈琰茞ᓀ㵂Ü |
缺页率 f=______。
10. 系统采用不能移动己在主存中的作业的可变分区管理主存。现有用户可用空间100KB,系统有4台打印机。有一批作业如表13所示:
| 作业号 | 到达时间 | 运行时间/s | 需主存量/KB | 需打印机数 |
| 1 2 3 4 5 | 10:00 10:20 10:30 10:35 10:40 | 25 30 10 20 15 | 15 60 50 10 30 | 2 1 3 2 2 |
11. 请用信号量解决以下的“过独术桥”问题:同一方向的行人可连续过桥,当某一方向有人过桥时,另一方向的行人必须等待;当某一方向无人过桥时,另一方向的行人可以过桥。
12. 设有两个进程P1和P2的程序如下,其信号量的初始值S1=S2=0,试求P1,P2并发执行结束后的x,y,z的值,并对结果加以解释。
进程l 进程2
y=1 x=1
y=y+2; x=x+1;
V(S1) ; P(Sl) ;
z=y+1; x=x+y;
P(S2) ; V(S2) ;
y=y+z; z=z+x;
13. 假定在某移动臂磁盘上,刚刚处理了访问75号柱面的请求,目前正在80号柱面读信息,并且有下述请求序列等待访问磁盘:
| 请求次序 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 访问的柱面号 | 73 | 68 | 100 | 120 | 60 | 108 | 8 | 50 |
14. 在银行家算法中,若出现以下资源分配情况;
| 进程 | 需要的最大资源数 | 已分配资源 | 剩余资源 |
| P0 P1 P2 P3 P4 | 7,5,3 3,2,2 9,0,2 2,2,2 4,3,3 | 0,1,0 2,0,0 3,0,2 2,1,1 0,0,2 | 3,3,2 |
(2) 如果进程依次有如下资源请求:
P1:(1,0,2)、P4:(3,3,0)、P0:(0,2,0)
系统将怎样进行资源分配?
15. 某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:
(1) 用P、V操作管理这些并发进程时,应怎样定义信号量?写出信号量的初值以及信号量各种取值的含义。
(2) 根据所定义的信号量,把应执行的P、V操作填入下述程序中,以保证进程能够正确地并发执行。
COBEGIN PROCESS PI(I=l,2,…)
Begin
[ ];
进入售票厅;
购票:
[ ]:
退出;
End
COEND
(3) 若欲购票者最多为n个大,写出信号量可能的变化范围(最大值和最小值)
16. 如磁盘的每个磁道分成9个块,现有一文件共有A,B,…,I,9个记录,每个记录的大小与块的大小相等,设磁盘转速为27ms/转,每读出一块后需要2ms的处理时间。若忽略其他辅助时间,试问:
(1) 如果顺序存放这些记录并顺序读取,处理该文件要多少时间?
(2) 如果要顺序读取该文件,记录如何存放处理时间最短?
17. 设公共汽车上,司机和售票员的活动如图9-2所示。
在汽车不断地到站、停车、行驶过程中,这两个活动有什么同步关系? 用信号量和P、V操作实现它们的同步。
18. 在银行家算法中,若出现下述资源分配情况:
| 进程 | 已分配 | 需要 | 剩余 |
| A B C D | A B C D | A B C D | |
| P0 P1 P2 P3 P4 | 0 0 3 2 1 0 0 0 1 3 5 4 0 3 3 2 0 0 1 4 | 0 0 1 2 1 7 5 0 2 3 5 6 0 6 5 2 0 6 5 6 | 1 6 2 2 |
(2) 如果进程P2提出请求Request(1,2,2,2) 后,系统能否将资源分配给它?
19. 山上有一个隧道,规定每次只允许一列火车过隧道,现在南方北方都有车要过隧道。如果把每个过隧道者看作一个进程,为保证安全,请用P、V操作实现正确管理。
20. 一个好的页面替换算法应使缺页中断次数最少,一种方法是将正使用的页均匀地分散在整个存储区中。可以给每一页块附加一个计数器,用它记录与该页块相关的页的个数。当进行页面替换时,选择其计数器之值最小的那个页块。
(1) 利用上述思想,提出一个页面昔换算法,并回答下面的问题:
A. 该计教器的初值是多少?
B. 该计数器何时增值?
C. 该计数器何时减值?
D. 如何选择被替换的页?
(2) 若有4个页块,给定下面的页访问串,使用你的算法将会出现多少次缺页中断?
1、2、3、4、5、3、4、1、6、7 8、9、7、8、9、5、4、5、4、2
(3) 给定(2) 中同样的条件和访问串,若采用最佳页面替换算法,其缺页中断次数的最小值是多少?
21. 进程A1,A2,…,An1,通过m个缓冲区向进程B1,B2,….Bn2不断地发送消息。发送和接收工作遵循如下规则:
(1) 每个发送进程一次发送一个消息,写入一个缓冲区,缓冲区大小等于消息长度。
(2) 对每一个消息,B1,B2,…,Bn2都须各接收一次,读入各自的数据区内。
(3) m个缓冲区都满时,发送进程等待:没有可读的消息时.接收进程等待。
试用P、V操作组织正确的发送和接收工作。下载本文