文章
481
粉丝
5
获赞
19
访问
55.9k

评分及理由
(1)信号量定义部分(满分2分)
得分:1分
理由:学生定义了mutex_J(水井互斥)、mutex_G(水缸互斥)、empty(剩余空间)、full(水量)四个必要的信号量,但mutex_T(水桶互斥)的初始化值缺失,应初始化为3。此处缺少初始化值属于逻辑错误,扣1分。
(2)老和尚进程部分(满分3分)
得分:2分
理由:老和尚进程的同步逻辑基本正确(wait(full)和signal(empty)顺序正确),但存在两个问题:1)缺少对水井互斥信号量的释放(虽然老和尚不需要用水井,但标准答案中老和尚不需要申请水井互斥);2)水桶信号量的使用顺序有误,应在取水完成后立即释放水桶(signal(mutex_T)),而不应等到喝水后才释放。这里存在逻辑错误,扣1分。
(3)小和尚进程部分(满分3分)
得分:2分
理由:小和尚进程的同步逻辑基本正确(wait(empty)和signal(full)顺序正确),但存在两个问题:1)水桶信号量的释放位置错误,应在倒水入缸后立即释放,而不应等到最后;2)水缸互斥信号量的申请顺序有误,应在倒水前申请,但学生在倒水前确实申请了mutex_G,这点正确。主要扣分点在于水桶信号量的释放时机错误,扣1分。
题目总分:1+2+2=5分
登录后发布评论
暂无评论,来抢沙发