首页 > 试题广场 >

系统有输入机和打印机各一台,均采用p-v操作来实现分配和释放

[问答题]

系统有输入机和打印机各一台,均采用p-v操作来实现分配和释放,现在有两个进程都要使用他们,这会发生死锁吗?试说明理由? 

<p>如果pv设计不当就会发生死锁,假如用s1,s2分别代表输入机和打印机能否被使用的信号量,由于资源是共享的,所以必须互斥使用,因而他们的初始值都为1。用下列方法代表请求使用和归还释放</p><p>process A1 begin p(S1);使用输入机 ;p(S2);使用打印机 V(S1);V(S2);end;</p><p>process A2 begin p(S2);使用打印机;p(S1)使用输入机;V(S1);V(S2);end;</p><p>那么就会出现A1得到输入而A2得到打印机,双方在不释放已有资源的情况下,又去申请新的资源就会死锁</p><p>解决办法:才用资源编号的方法 要求按序申请</p><p>process A1 begin p(S1);使用输入机 ;p(S2);使用打印机 v(S2);v(S1);end;</p><p>process A2 begin p(S1);使用输入机;p(S2)使用打印机;v(S2);v(S1);end;</p><p><br></p>
发表于 2020-10-27 01:04:09 回复(0)