文章

35

粉丝

0

获赞

0

访问

1.6k

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


评分及理由

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

得分:2分

理由:学生定义了四个信号量:mutex(互斥,初值1)、odd(奇数同步,初值0)、even(偶数同步,初值0)、empty(空缓冲区计数,初值N)。这与标准答案完全一致,信号量含义正确,初值设置正确。

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

得分:2分

理由:P1进程的逻辑正确。先生产数据,然后P(empty)检查缓冲区空间,再P(mutex)进入临界区进行put操作,之后V(mutex)离开临界区。最后根据数据奇偶性分别V(odd)或V(even)通知相应消费者。两次识别结果均体现了此正确逻辑。

(3)P2/P3进程伪代码得分及理由(满分3分)

得分:2分

理由:P2和P3进程的整体同步与互斥逻辑正确。P2先P(odd)等待奇数,P3先P(even)等待偶数,然后均P(mutex)进入临界区进行取数据操作,之后V(mutex)离开临界区,并V(empty)释放缓冲区空间。扣1分的原因是:在两次识别结果中,P2和P3进程的代码里都包含了非题目要求的输出语句(如`cout << odd << "t";` 或 `cout to oddtt;`),这些是多余的、与题目要求不符的操作。根据评分规则,虽然“多余的信息错误”若是识别问题可不扣分,但此处“cout”语句明显是逻辑代码的一部分,属于对题目要求理解不准确或添加了额外功能,应视为逻辑瑕疵进行扣分。

题目总分:2+2+2=6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发