文章

34

粉丝

78

获赞

0

访问

1.1k

头像
2015年(408)计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年12月8日 16:57
阅读数 20


评分及理由

(1)信号量定义及初值(满分2分)

得分:2分

理由:学生答案中定义了四个信号量:mailA(对应Full_A)、mailB(对应Full_B)、emptyA(对应Empty_A)、emptyB(对应Empty_B),并正确给出了初值。虽然命名与标准答案不完全一致,但含义和初值正确,符合题意。

(2)互斥信号量的使用(满分2分)

得分:0分

理由:学生答案中完全没有使用互斥信号量(mutex_A和mutex_B)。从A的信箱取邮件、向B的信箱放邮件、从B的信箱取邮件、向A的信箱放邮件,这些操作都是对共享资源(信箱)的访问,必须互斥进行以防止数据不一致。缺少互斥保护是严重的逻辑错误。

(3)同步信号量的P、V操作使用(满分5分)

得分:3分

理由:学生答案在同步逻辑的大框架上是正确的:取邮件前P(mailX),取后V(emptyX);放邮件前P(emptyY),放后V(mailY)。这实现了“信箱不空才能取”和“信箱不满才能放”的同步要求。但是,由于缺少互斥锁,将V(emptyA)和V(emptyB)操作放在了“取邮件”操作之后、但在释放互斥锁之前(标准答案中V(emptyX)在V(mutex_X)之后),在这个有缺陷的流程中,其同步信号量的操作顺序本身没有原则性错误。然而,由于整个流程缺少互斥保护,同步操作的实际效果无法保证正确,因此不能给满分。考虑到其同步信号量的PV配对和位置基本正确,给予部分分数。

题目总分:2+0+3=5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发