操作系统原理第一次离线作业(第1、2章)
应用题
1. 在公共汽车上,司机和售票员各司其职,假定他们的工作流程如下图所示, 司机 售票员 ↓ ↓ 启动开车 关车门 ↓ ↓ 正常行车 售票 ↓ ↓ 到站仃车 开车门 (下客)
试在下述类PASCAL程序中虚线位置分别填上信号量、信号量初值和P、V操作实现司机和售票员二个进程正确的并发执行,以保证他们能密切配合,确保行车安全。 Var (信号量)﹎﹎﹎﹎﹎﹎S1,S2﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎ :semaphore = 0,0 (信号量初值)﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎; begin parbegin 司机:begin:
Repeat
﹎﹎﹎﹎﹎P(S1)﹎﹎﹎﹎﹎﹎﹎﹎; 启动开车
正常行车 到站仃车
﹎﹎﹎﹎V(S2)﹎﹎﹎﹎﹎﹎﹎﹎﹎; Until End 售票员:begin
Repeat (上客) 关车门
﹎﹎﹎﹎V(S1)﹎﹎﹎﹎﹎﹎﹎﹎﹎;
售票
﹎﹎﹎﹎﹎P(S2)﹎﹎﹎﹎﹎﹎﹎﹎; 开车门 (下客) Until End parend end
2. 桌上有一个空盒,盒内只允许放一个水果。妈妈专向盒内放水果,儿子和女儿争着等吃盒中的水果。若盒内已有水果,放者必须等待,若盒内没有水果,吃者必需等待。试在下述类PASCAL程序中虚线位置分别填上信号量、信号量初值和P、V操作实现三个进程正确的并发执行。
begin
var (信号量)﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎:semaphore:= (信号量初值) ﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎; parbegin 妈: begin repeat
準備
﹎﹎﹎﹎﹎﹎﹎﹎ 向盒内放水果 ﹎﹎﹎﹎﹎﹎﹎﹎
until false end
儿:begin
repeat
﹎﹎﹎﹎﹎﹎﹎﹎ 拿盒中的水果 ﹎﹎﹎﹎﹎﹎﹎﹎ 吃水果 until false end
女:begin repeat
﹎﹎﹎﹎﹎﹎﹎﹎ 拿盒中的水果 ﹎﹎﹎﹎﹎﹎﹎﹎ 吃水果 until false end parend
end
3.假定在一个处理机上执行以下五个作业: 作业号 到达时间 运行时间 A 0 4 B 1 3 C 2 5 D 3 2 E 4 4
写出采用HRN(响应比高者优先)调度算法时选择作业号的次序和选择作业的依据(各作业的响应比)。
4. 假定在一个处理机上执行以下五个作业: 作业号 到达时间 运行时间(分) A 0 7 B 2 6 C 3 9 D 4 4 E 6 6
画出采用SJF调度算法时调度图,并计算每个作业的周转时间和计算平均周转时间。
5. 设系统有4种类型的资源(A,B,C,D)和5个进程( P0,P1, P2, P3,P4)。在T0时刻系统状态如下表。若采用银行家算法, T0时刻是否安全?若安全,请给出一个安全序列。
P0 P1 P2 P3 P4
Allocation A B C D 0 0 1 1 1 0 0 0 1 3 5 4 0 6 3 2 0 0 1 4 Max A B C 0 0 1 1 7 5 2 3 5 0 6 5 0 6 5 D 1 0 6 2 6 Available A B C 1 5 2
D 0
6.试描述避免死锁的银行家算法,若系统运行中出现下述资源分配情况 进程 ALLOCATION NEED AVAILABLE A B C D A B C D A B C D P0 0 0 3 2 0 0 1 2 1 6 2 2 P1 1 0 0 0 1 7 5 0 P2 1 3 5 4 2 3 5 6 P3 0 3 3 2 0 6 5 2 P4 0 0 1 4 0 6 5 6
若该系统是安全的,如果进程P2此时提出资源申请(1,2,2,2),系统能否将资源分配给它?为什么?