文章

95

粉丝

50

获赞

1

访问

18.6k

头像
2024年(408)计算机学科专业基础综合试题 - 第46题回答
操作系统
发布于2025年11月18日 16:17
阅读数 127


评分及理由

(1)得分及理由(满分2分)

学生正确指出C1的代码是临界区,并给出了合理的解释(访问共享资源缓冲区B)。回答与标准答案一致,得2分。

(2)得分及理由(满分3分)

学生定义了信号量mutex和B(相当于标准答案中的full),并给出了正确的初值B=0。代码逻辑基本正确:P1执行C1后V(B)通知P2,P2通过P(B)等待缓冲区非空。但存在以下问题:
- P2中P(B)和P(mutex)的顺序与标准答案相反,这可能导致死锁(如果先P(B)获得同步信号量,再P(mutex)请求互斥,但mutex被其他进程占用时,P2会阻塞并持有B信号量,影响系统并发性)。标准答案中先等待同步信号量(full)再请求互斥(mutex)是更合理的顺序。
- 信号量命名B与标准答案的full不同,但功能一致,不扣分。
由于存在逻辑顺序问题,扣1分,得2分。

(3)得分及理由(满分3分)

学生正确使用一个信号量mutex实现互斥,初值设为1。代码逻辑正确:两个进程通过wait(mutex)和signal(mutex)保护C3操作。与标准答案完全一致,得3分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发