文章

986

粉丝

5

获赞

20

访问

247.9k

头像
2026 年 408 冲刺预测 3 套卷(一) - 第46题回答
操作系统
发布于2025年12月3日 15:45
阅读数 204


评分及理由

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

学生定义了信号量,但存在以下问题:
1. 信号量定义不完整,缺少实现“写者优先”的关键信号量(如read_try),仅用writer_waiting变量无法实现同步。
2. 信号量初始化未明确写出(但题目要求定义并初始化)。
3. 变量命名不规范(如writer_waiting应为信号量或受保护变量)。
扣分:逻辑不完整,无法正确实现写者优先机制。得2分(仅部分正确)。

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

读者进程代码框架存在严重逻辑错误:
1. 代码结构混乱,有多个独立的P(mutex)和V(mutex)未成对使用。
2. 在检查writer_waiting后直接P(wrt)会错误地阻塞读者,且未实现“有写者等待时新读者等待”的优先机制。
3. 读者进入和退出部分的代码顺序错误,未正确保护read_count的修改。
扣分:逻辑错误导致无法正确实现读者-写者同步。得1分(仅变量定义部分正确)。

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

写者进程代码框架存在以下问题:
1. 使用writer_waiting变量但未用信号量保护,存在竞争条件。
2. 写者未实现“优先”机制,仅简单互斥访问。
3. 代码中P(wrt)和V(wrt)使用错误,未确保写者独占访问。
扣分:逻辑不完整,无法实现写者优先。得1分(仅部分正确)。

(4)得分及理由(满分0分)

学生未对信号量作用和工作原理进行解释,得0分。

题目总分:2+1+1+0=4分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发