文章
49
粉丝
0
获赞
0
访问
1.8k
评分及理由
(1)信号量定义及初值(满分2分)
得分:1分
理由:学生定义了四个信号量,分别对应A、B信箱的空闲和满状态,初值设置基本正确(M_empty=M-x, M_full=x, N_empty=N-y, N_full=y)。但存在以下问题:①信号量拼写错误(应为semaphore);②缺少互斥信号量,无法保证对信箱操作的互斥性。扣1分。
(2)A进程同步控制(满分3.5分)
得分:2分
理由:A进程的同步逻辑基本正确:取邮件前P(M_full),取后V(M_empty);放邮件前P(N_empty),放后V(N_full)。但缺少对信箱操作的互斥保护(缺少mutex_A和mutex_B的P/V操作),存在竞态条件风险。扣1.5分。
(3)B进程同步控制(满分3.5分)
得分:1.5分
理由:B进程前半部分同步逻辑正确(取邮件部分),但最后一行存在严重错误:将新邮件放入A信箱后应该V(M_full)却写成了V(M_empty),这会导致同步逻辑完全错误。此外同样缺少互斥保护。扣2分(其中逻辑错误扣1分,缺少互斥扣1分)。
题目总分:1+2+1.5=4.5分
登录后发布评论
暂无评论,来抢沙发