参考答案:
A、B、C之间的临界资源为缓冲区,AB、AC之间同步?
设临界资源缓冲区的公有信号量为mutex,表示可用缓冲区的数量,mutex=1
A的私用信号量为empty,表示缓冲区中空单元的个数,empty=N
B的私用信号量为odd,表示缓冲区中奇数的个数,odd=0
C的私用信号量为even,表示缓冲区中偶数的个数,even=0
参考答案:
father进程、son进程和daughter进程之间的临界资源为盘子,father和son之间存在同步,father和daughter之间存在同步,由于只有一个father进程,只有盘子里有橘子才能被son拿走,设置father和son之间的私有信号量为orange,初始值=0;只有盘子里有苹果才能被daughter拿走,设置father和daughter之间的私有信号量为apple,初始值=0;只有盘子为空,father进程才能往里放水果,设置father与son和daughter之间的私有信号量为empty,初始值=1.
参考答案:
参考答案:
(1)由题可得出T0时刻各进程的资源需求情况:
????????? P1(3? 4? 7),P2(1? 3? 4 ),P3(0? 0? 6),P4(2? 2? 1),P5(1? 1? 0)
剩余资源为(2? 3? 3) 由安全性分析后得到一个安全序列{P5,P4,P3,P2,P1}使得所有进程可执行完毕,故T0时刻是安全的。(注:安全序列不唯一)
{P4,P5,P3,P2,P1}、{P4,P2,P3,P5,P1}、{P4,P3,P2,P5,P1}
{P4,P5,P1,P2,P3}、{P5,P4,P3,P2,P1}
(2)P2请求资源(0? 3? 4)>剩余资源(2? 3? 3),所以不能分配
(3)P4请求资源(2? 0? 1)≤剩余资源(2? 3? 3)
且如果分配后P4的需求为(0? 2? 0),剩余资源(0? 3? 2)
经安全性分析后存在一个安全序列{P4,P5,P3,P2,P1}使得所有进程可执行完毕,故该状态是安全的,所以在T0时刻可以将资源分配给P4,满足该进程的资源请求。(注:安全序列不唯一)