文章

160

粉丝

0

获赞

0

访问

72.1k

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


评分及理由

(1)信号量定义得分及理由(满分1分)

得分:0.5分

理由:学生定义了四个信号量(odd、even、mutex、empty),但odd和even的含义描述不准确(说成"已统计个数"而不是控制同步),empty的含义描述也不准确(说成"未统计整数个数"而不是缓冲区空单元数)。mutex定义正确。由于三个信号量含义描述存在错误,扣0.5分。

(2)P1进程代码得分及理由(满分2分)

得分:0分

理由:存在严重逻辑错误:①P(mutex)和P(empty)顺序颠倒,可能导致死锁;②在生成数字前就申请了empty信号量,逻辑不合理;③没有判断数字奇偶性就同时V(odd)和V(even),这会错误地唤醒P2和P3。这些是严重的同步逻辑错误。

(3)P2进程代码得分及理由(满分2分)

得分:1分

理由:基本框架正确,但存在逻辑错误:countodd()应该在释放互斥锁之后执行,学生将其放在互斥区内,虽然不影响结果但不符合最佳实践。扣1分。

(4)P3进程代码得分及理由(满分2分)

得分:1分

理由:与P2相同的问题,counteven()应该放在释放互斥锁之后。另外V(empty)注释说"通知P1放一个偶数"表述不准确。扣1分。

题目总分:0.5+0+1+1=2.5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发