多做题,通过考试没问题!

计算机操作系统

睦霖题库>其他计算机考试>计算机操作系统

有一发送者进程和一接收者进程,其流程如下。s是用于实现进程同步的信号量,m是用于实现进程互斥的信号量。试完成流程图。假定缓冲区有无限多个,s和m的初值为多少?

正确答案: s=0表示满缓冲的数量、即多少缓冲区里有消息
m=1表示互斥信号量
A:P(m)B:V(m)C://P(s)D://P(m)
由题意,m用于实现进程互斥,初值应为1,并应成对出现,由接收者进程的V(m)操作可知,m用于实现消息链存、取缓冲区操作的互斥,故D为P(m)。相应的,A为P(m),B为V(m)。
由发送者进程可知,当发送者将一个消息放入消息链尾后,执行V(s)操作,故s表示接收者可取消息的数量,又因s用于实现进程同步,所以接收者接受消息前,应判断是否有消息可以取,需对s执行P操作,所以C为P(s),发送者发送消息前,接收者无消息可取,s的初值应为0。
答案解析:
进入题库查看解析

微信扫一扫手机做题