文章

226

粉丝

0

获赞

0

访问

25.1k

头像
2026 年 408 冲刺预测 5 套卷(一) - 第46题回答
操作系统
发布于2025年11月25日 19:54
阅读数 7


评分及理由

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

学生定义了三个信号量:rw、mutex、lock,以及一个整型变量i。其中mutex用于保护读者计数i的互斥访问,lock用于实现写者独占访问,这些与标准答案对应。但缺少实现写者优先的关键信号量(类似read_try),且rw信号量的作用描述不清晰。考虑到信号量定义基本正确但不够完整,扣1分。

得分:1分

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

读者进程中,学生使用了P(rw)和V(rw)包围了部分代码,但这实际上没有实现写者优先的要求。正确的写者优先需要确保当有写者等待时新读者被阻塞,而学生的实现中读者会立即释放rw,无法阻止后续读者进入。此外,读者进入时没有有效阻止写者的机制。由于核心逻辑存在错误,扣1.5分。

得分:0.5分

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

写者进程中,学生使用了P(rw)和P(lock)来获取资源,但rw信号量的使用方式无法实现写者优先。标准答案中需要通过writecount和read_try的配合来实现优先,而学生的实现缺少这些机制。写者进程的逻辑不能有效保证写者优先,扣1.5分。

得分:0.5分

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

学生对信号量的解释基本正确:mutex保护读者计数i,lock用于写者上锁。但对rw信号量的解释不准确("若有写进程想阻止通过P(rw)阻塞后面来的读进程"),实际上学生的实现中rw并不能有效实现这个功能。由于解释部分基本合理但存在不准确描述,扣0.5分。

得分:0.5分

题目总分:1+0.5+0.5+0.5=2.5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发