niusouti.com

桌上有一个空盒,盒内只允许放一个水果。爸爸专向盒内放苹果,妈妈专向盒内放桔子,儿子等着吃盒中的水果(苹果或桔子)。若盒内已有水果,放者必须等待,若盒内没有水果,吃者必须等待。用PV操作来协调3人的关系。请回答下列问题:①应设置的信号量及其初值为SP和1。②在3组工作流程的虚线位置填上适当的PV操作,实现3人正确的活动。爸: 准备P(SP)向盒内放苹果(15)妈: 准备(16)向盒内放桔子(17)儿:(18)拿盒中的水果(苹果或桔子)(19)吃水果(苹果或桔子)A.P(SP)B.P(SG)C.V(SG)D.

题目

桌上有一个空盒,盒内只允许放一个水果。爸爸专向盒内放苹果,妈妈专向盒内放桔子,儿子等着吃盒中的水果(苹果或桔子)。若盒内已有水果,放者必须等待,若盒内没有水果,吃者必须等待。用PV操作来协调3人的关系。请回答下列问题:

①应设置的信号量及其初值为SP和1。

②在3组工作流程的虚线位置填上适当的PV操作,实现3人正确的活动。

爸: 准备

P(SP)

向盒内放苹果

(15)

妈: 准备

(16)

向盒内放桔子

(17)

儿:

(18)拿盒中的水果(苹果或桔子)

(19)

吃水果(苹果或桔子)

A.P(SP)

B.P(SG)

C.V(SG)

D.V(SP)


相似考题
更多“桌上有一个空盒,盒内只允许放一个水果。爸爸专向盒内放苹果,妈妈专向盒内放桔子,儿子等着吃盒中的 ”相关问题
  • 第1题:

    桌上有一个空盘,允许存放一个水果。爸爸可以向盘中放苹果,也可以向盘中放橘子,儿子专等吃盘中的橘子,女儿专等吃盘中的苹果。规定当盘空时一次放一个水果供吃者取用,请用P,V原语实现爸爸、儿子、女儿三个并发进程的同步。


    C,A,C,B,D 【解析】设置的信号量和初值分别为:SP初值为1,表示是否可以把桔子或苹果放入盘中,由于盒中只允许放一个水果,所以其初值为1,表示可以放入一个水果。SG表示盒中是否有水果,显然初值为0,表示还没有水果。

  • 第2题:

    桌上有一空盘,可放一只水果。爸爸可向盘中放苹果,也可向盘中放桔子;儿子专等吃盘中的桔子;女儿专等吃盘中的苹果。规定一次只能放一只水果,试写出爸爸、儿子、女儿正确同步的程序。


    semaphore empty=2; //定义empty对应盘子的剩余放水果的位置个数初值为2 semaphore apple=0; //定义信号量apple对应盘子里的苹果数量初值为0 semaphore orange=0; //定义信号量orange对于盘子里的橘子数量初值为0 semaphore mutex=1: //定义信号量mutex来保护盘子被互斥地访问 father(){ //爸爸进程 while(1){ P(empty); P(mutex); 在盘子里放一个苹果 V(mutex); V(apple); } } mother(){ //妈妈进程 while(1){ P(empty); P(mutex); 在盘子里放一个橘子 V(mutex); V(orange); } } son(){ //用这段程序产生两个儿子进程 while(1){ P(orange); P(mutex); 从盘子里拿一个橘子 V(mutex); V(empty); 吃掉拿出来的橘子 } } daughter(){ //用这段程序产生两个女儿进程 while(1){ P(apple); P(mutex); 从盘子里拿出一个苹果 V(mutex); V(empty); 吃掉拿出来的苹果 } } semaphoreempty=2;//定义empty对应盘子的剩余放水果的位置个数,初值为2semaphoreapple=0;//定义信号量apple对应盘子里的苹果数量,初值为0semaphoreorange=0;//定义信号量orange对于盘子里的橘子数量,初值为0semaphoremutex=1://定义信号量mutex来保护盘子被互斥地访问father(){//爸爸进程while(1){P(empty);P(mutex);在盘子里放一个苹果V(mutex);V(apple);}}mother(){//妈妈进程while(1){P(empty);P(mutex);在盘子里放一个橘子V(mutex);V(orange);}}son(){//用这段程序产生两个儿子进程while(1){P(orange);P(mutex);从盘子里拿一个橘子V(mutex);V(empty);吃掉拿出来的橘子}}daughter(){//用这段程序产生两个女儿进程while(1){P(apple);P(mutex);从盘子里拿出一个苹果V(mutex);V(empty);吃掉拿出来的苹果}}

  • 第3题:

    3、桌上有一个空盘,允许存放一个水果。爸爸可以向盘中放苹果,也可以向盘中放橘子,儿子专等吃盘中的橘子,女儿专等吃盘中的苹果。规定当盘空时一次放一个水果供吃者取用,请用P,V原语实现爸爸、儿子、女儿三个并发进程的同步。


  • 第4题:

    桌上有一个空的水果盘,且盘中一次只能放一个水果。爸爸专向盘中放苹果,妈妈专向盘中放桔子,一个儿子专等吃盘子中的桔子,一个女儿专等吃盘子中的苹果。固定每次当盘子空时爸爸或妈妈可向盘中放一个水果,仅当盘中有自己需要的水果时,儿子或女儿可从中取出。请给出用PV操作实现爸爸、妈妈、儿子和女儿四个进程同步的算法。


    A

  • 第5题:

    4、桌上有一个空的水果盘,且盘中一次只能放一个水果。爸爸专向盘中放苹果,妈妈专向盘中放桔子,一个儿子专等吃盘子中的桔子,一个女儿专等吃盘子中的苹果。固定每次当盘子空时爸爸或妈妈可向盘中放一个水果,仅当盘中有自己需要的水果时,儿子或女儿可从中取出。请用PV操作实现爸爸、妈妈、儿子和女儿四个进程的同步。


    A