桌子上有一个可以装N个水果的果盘,爸爸往盘子中放水果(苹果或桔子),儿子从盘子中拿桔子,女儿从盘子中拿苹果,同一时间只能有一个人对水果盘进行操作。
现在有3个进程,dad,daughter,son,使用信号量empty=N,orange=0,apple=0,mutex=1
请用wait(empty), signal(empty) ,wait(orange) 等语句填空; 不要填分号,只填信号量操作即可
Dad(){
while(1){
[填空1]
[填空2] //果盘互斥
将水果放入盘子;
[填空3]
if(放入的是桔子)
[填空4] ;
else
[填空5]
;
}
}
Son(){
while(1){
[填空6] ;
[填空7] ;
从盘子中取桔子;
[填空8];
[填空9] ;
吃桔子
}
}
Daughter(){
while(1){
[填空10] ;
[填空11];
从盘子中取苹果;
[填空12];
[填空13];
吃苹果
}
}
现在有3个进程,dad,daughter,son,使用信号量empty=N,orange=0,apple=0,mutex=1
请用wait(empty), signal(empty) ,wait(orange) 等语句填空; 不要填分号,只填信号量操作即可
Dad(){
while(1){
[填空1]
[填空2] //果盘互斥
将水果放入盘子;
[填空3]
if(放入的是桔子)
[填空4] ;
else
[填空5]
;
}
}
Son(){
while(1){
[填空6] ;
[填空7] ;
从盘子中取桔子;
[填空8];
[填空9] ;
吃桔子
}
}
Daughter(){
while(1){
[填空10] ;
[填空11];
从盘子中取苹果;
[填空12];
[填空13];
吃苹果
}
}
举一反三
- 桌上有一只盘子,每次只能放入一只水果;爸爸专向盘子中放苹果,妈妈专向盘子中放桔子,一个儿子专等吃盘子中的桔子,一个女儿专等吃盘子里的苹果。
- 桌上有一只盘子,每次只能放入一只水果。father削完苹果放入盘子, mother剥完桔子放入盘子,son专等吃盘中的桔子, daughter专等吃盘中的苹果。盘子空时father或mother可向盘中放一只水果,仅当盘中有自己需要的水果时, son或 daughter可从中取出,用wait、signal操作进行管理使这四个进程能正确地并发执行 。请写出上面的代码描述。
- 桌上有一只盘子,每次只能放入一个水果。爸爸专向盘中放苹果(apple),妈妈专向盘中放橘子(orange),儿子专等吃盘中的橘子,女儿专等吃盘中的苹果。只有盘子为空时,爸爸或妈妈才可向盘子中放一个水果;仅当盘子中有自己需要的水果时,儿子或女儿可以从盘中取出。请用P、V操作或管程来实现爸爸、妈妈、儿子、女儿之间的同步和互斥关系。
- 按照以上拓扑结构配置静态路由,配置完毕后的路由表如上图,请填写对应路由器中加*号的路由表项填空1(__),填空2(__),填空3(__),填空4(__),填空5(__),填空6(__),填空7(__),填空8(__),填空9(__),填空10(__),填空11(__),填空12(__),填空13(__),填空14(__),填空15(__)。39a274ad491e11c239c7589b98d6176a.png640833e5cc11f2d4cbd77f30fce9252d.png
- 17e447c1769a934.png17e447c1853d13b.png按照以上拓扑结构配置静态路由,配置完毕后的路由表如上图,请填写对应路由器中加*号的路由表项填空1(__),填空2(__),填空3(__),填空4(__),填空5(__),填空6(__),填空7(__),填空8(__),填空9(__),填空10(__),填空11(__),填空12(__),填空13(__),填空14(__),填空15(__)。