文章

29

粉丝

0

获赞

0

访问

1.0k

头像
2025年计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年9月27日 17:28
阅读数 224

semaphore full=0//坑位数量
semaphore empty=3;//树坑剩余要求不超过3
semaphore mutex=1;//互斥使用铁楸
semaphore water=0;//需要浇水的数量
甲(){
	P(empty);//看树坑数量是否大于3
	P(mutex);//
	挖树坑;
	V(mutex);
	V(full);
}
乙(){
	P(full);
	P(mutex);
	放树苗并填土;
	V(mutex);
	V(empty);
	V(water);//新的树苗需要进行浇水
}
丙(){
	P(water);
	提水并浇水;
}

 


评分及理由

(1)信号量定义(满分2分)

得分:2分

理由:学生定义了四个信号量:full(表示已挖坑位数量,初值0)、empty(表示可挖坑位数量,初值3)、mutex(互斥使用铁锹,初值1)、water(表示需要浇水的树苗数量,初值0)。这些信号量的定义和初值设置与标准答案在功能上是等价的(empty对应sk,full对应empty,mutex对应mutexT,water对应water),虽然命名不同但作用一致,且初值正确。思路正确,不扣分。

(2)甲进程代码(满分2分)

得分:2分

理由:甲进程先P(empty)检查可挖坑数(对应标准答案的wait(sk)),再P(mutex)获取铁锹,然后挖坑,之后V(mutex)释放铁锹,最后V(full)通知乙有坑可用(对应标准答案的signal(empty))。逻辑正确,与标准答案等效。

(3)乙进程代码(满分2分)

得分:2分

理由:乙进程先P(full)等待有坑(对应标准答案的wait(empty)),再P(mutex)获取铁锹,然后放树苗填土,之后V(mutex)释放铁锹,V(empty)增加可挖坑数(对应标准答案的signal(sk)),最后V(water)通知丙浇水。逻辑正确,与标准答案等效。

(4)丙进程代码(满分1分)

得分:1分

理由:丙进程通过P(water)等待浇水信号,然后浇水。逻辑正确,与标准答案一致。

题目总分:2+2+2+1=7分

总体评价:学生的解答与标准答案在信号量命名上有所不同,但逻辑结构完全正确,所有同步和互斥关系均得到妥善处理,且满足...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发