简介:这里是老师给布置的作业,只是为了在这里做下一个记录。
这里本作者就用题目的方式进行理解信号量。
解:
信号量的含义就是临界资源。当Sem大于等于零时代表可供并发进程使用的资源实体数,但sem小于零时则表示正在等待使用临街区的进程数。(这的Sem表示的即为信号量)
当前值为1,大于0,代表的是资源数,也就是M为1,小于0才表示等待的进程数,所以N为0。所以答案选A.
解:
这里实际上选6和8都是可以的,但是选6的话可以实现生产了就取走的概念,然而8个的话,就需要消费者分两次取走,不太方便,
故:答案选B
解:
分析临界资源,进而确定同步与互斥关系(需要等待就是同步,访问临界资源就是互斥),进出门,应该是只有这一个临界资源,并且要老师与学生都需要进门,一次只能进一人,但相对于老师和学生进程来说,这两个进程是互斥的。
(1):学生与教师进程对进门的临界资源互斥访问是互斥关系,同时老师需要等全部学生来全后再发试卷,所以也是同步关系。
(2):本题一共给出了三个信号量:是否进门,初始值1(放在互斥关系中);学生是否到齐,初始值为0(放在同步关系中);还有一个互斥信号量初始为1,位置已经给留好了。要求就是如何填???根据题目给出的注释:8(等待最后进门的学生来唤醒发卷子)应该是最先确定的,填P(S_StudengReday),对应的就是4填V(S_StudengReday).