文章

37

粉丝

0

获赞

0

访问

1.8k

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


评分及理由

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

得分:1分

理由:学生定义了四个信号量:mutex用于互斥(正确),empty用于缓冲区空单元计数(正确),full1用于奇数计数(相当于标准答案的odd),full2用于偶数计数(相当于标准答案的even)。信号量含义与标准答案一致,只是命名不同,但功能正确,因此不扣分。

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

得分:2分

理由:P1进程先生产数据,然后P(empty)检查空单元,再P(mutex)互斥访问缓冲区,执行Put操作后释放互斥锁,最后根据数据奇偶性V(full2)或V(full1)通知消费者。逻辑与标准答案完全一致,仅函数名有细微差异(如Produce1 vs produce),但属于误写或不影响逻辑,因此不扣分。

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

得分:2分

理由:P2进程先P(full1)等待奇数信号,再P(mutex)互斥访问缓冲区,执行getodd操作后释放互斥锁,V(empty)增加空单元计数,最后统计奇数。逻辑正确,仅函数名(getodd1 vs getodd)有误写,但不影响核心逻辑。

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

得分:2分

理由:P3进程先P(full2)等待偶数信号,再P(mutex)互斥访问缓冲区,执行geteven操作后释放互斥锁,V(empty)增加空单元计数,最后统计偶数。逻辑正确,函数名差异(geteven1 vs geteven)视为误写。

题目总分:1+2+2+2=7分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发