文章
7
粉丝
0
获赞
0
访问
972

评分及理由
(1)得分及理由(满分2分)
得分:1分
理由:学生定义了部分必要的信号量(r_mutex、mutex、w),但缺少实现写者优先的关键信号量(如read_try)。信号量初始化正确,但整体设计不完整,扣1分。
(2)得分及理由(满分2分)
得分:0分
理由:读者代码存在严重逻辑错误。在if(count==0)时再次P(r_mutex)会导致死锁;使用V(mutex)释放了错误的信号量;没有正确实现写者优先机制(新读者在有写者等待时不应立即进入)。这些错误导致读者进程无法正常工作。
(3)得分及理由(满分2分)
得分:1分
理由:写者代码框架基本正确,使用了P(w)和P(r_mutex)来获取访问权,但缺少对写者计数的管理,无法实现真正的写者优先。代码能够保证写者互斥,但功能不完整,扣1分。
(4)得分及理由(满分1分)
得分:0分
理由:学生仅简单描述了信号量的用途,没有解释信号量的工作原理(如P/V操作的原子性、等待队列等),也没有说明如何通过这些信号量实现写者优先的同步机制。
题目总分:1+0+1+0=2分
登录后发布评论
暂无评论,来抢沙发