文章

39

粉丝

0

获赞

0

访问

1.8k

头像
2009年计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年9月24日 12:04
阅读数 46


评分及理由

(1)信号量定义(满分2分)

得分:2分

理由:学生定义了四个信号量:mutex用于互斥(正确)、empty用于缓冲区空单元计数(正确)、full1用于偶数计数(对应标准答案的even)、full2用于奇数计数(对应标准答案的odd)。信号量含义清晰,与标准答案功能一致,只是命名不同,符合"思路正确不扣分"原则。

(2)P1进程实现(满分2分)

得分:2分

理由:P1进程逻辑正确,先P(empty)检查缓冲区空间,再P(mutex)获取缓冲区互斥访问权,生成数字后根据奇偶性分别发送相应信号量(V(full1)对应偶数,V(full2)对应奇数),最后V(mutex)释放缓冲区。虽然Put函数写法有差异,但核心逻辑正确。

(3)P2进程实现(满分1.5分)

得分:1.5分

理由:P2进程基本逻辑正确,先P(full2)等待奇数信号,再P(mutex)获取缓冲区访问权,执行getodd()和countodd()操作。但缺少V(empty)操作来释放缓冲区空间,这是一个逻辑错误,扣0.5分。

(4)P3进程实现(满分1.5分)

得分:1.5分

理由:P3进程同样存在缺少V(empty)的问题,其他逻辑正确。先P(full1)等待偶数信号,再P(mutex)获取缓冲区访问权,执行geteven()和counteven()操作。缺少V(empty)扣0.5分。

(5)代码完整性(满分0.5分)

得分:0.5分

理由:代码结构完整,三个进程都实现了基本功能。

题目总分:2+2+1.5+1.5+0.5=7.5分

由于题目满分是7分,按照"计算题目总分时,对于有逻辑错误的答案不要给满分"的原则,且总分不能超过满分,最终得分为7分。

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发