四、综合题1、设系统中有3种类型的资源A、B和C和5个进程P1、P2、P3、P4、P5A、B、C资源的数量分别为17 5 20。在T0时刻系统状态如下表所示。进程最大资源需求量已分配资源数量ABCABCP1559212P2536402P34011405P4425204P54243141计算出当前系统剩余的资源数目2T0时刻是否为安全状态?若是请给出安全序列3若在T0时刻进程P2请求资源0 3 4是
(1)当前系统剩余的资源数目为:A:3,B:0,C:1。 (2)T0时刻为安全状态,安全序列为P2、P4、P5、P1、P3。 (3)不能实施资源分配,因为当前系统中B资源已经全部被分配,P2请求的B资源数量为3,超过了剩余资源数目。即使P2释放了自己持有的资源,也无法满足其请求。
南岸过桥算法:
Semaphore mutex = 1; // 互斥信号量
Semaphore south = 2; // 南岸信号量,初始值为2,表示有两个人在南岸等待过桥
// 南岸等待过桥
wait(south);
wait(mutex);
// 过桥中
signal(south);
signal(mutex);
// 到达北岸
北岸过桥算法:
Semaphore mutex = 1; // 互斥信号量
Semaphore north = 2; // 北岸信号量,初始值为2,表示有两个人在北岸等待过桥
// 北岸等待过桥
wait(north);
wait(mutex);
// 过桥中
signal(north);
signal(mutex);
// 到达南岸
其中,互斥信号量mutex保证同一时间只有一个人在桥上,南岸信号量south和北岸信号量north分别表示在南岸和北岸等待过桥的人数,初始值都为2,表示可以有两个人同时等待过桥。过桥的时候,先等待相应岸的信号量,然后获取互斥信号量,过桥中释放相应岸的信号量,最后释放互斥信号量
原文地址: https://www.cveoy.top/t/topic/fptJ 著作权归作者所有。请勿转载和采集!