文章

268

粉丝

0

获赞

0

访问

86.8k

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


评分及理由

(1)信号量定义及初值(满分约2分)

学生定义了整型变量analyseanalysed,以及一个信号量metux(应为mutex)初值为1。但题目要求使用信号量实现同步,且未分析日志数小于5时才可收集。学生用整型变量和条件判断实现限制,但未将其转化为信号量机制,且缺少用于同步的信号量(如表示未分析日志数、已分析日志数、空位数的信号量)。此外,analyseanalysed作为整型变量在多进程中使用,仅靠一个互斥信号量保护,无法实现“等待”同步(如分析者需等待未分析日志出现)。信号量定义不完整,初值设置不满足同步需求。扣1.5分,得0.5分。

(2)同步代码逻辑(满分约4分)

收集者:使用if (analyse < 5)判断,但未循环等待,且V(analyse)错误(analyse是整型变量,不能用于V操作),逻辑错误。分析者:while(analyse < 0);忙等待,不符合信号量同步要求;P(analyse)同样错误(整型变量不能P操作)。存储者:while(analysed < 0)忙等待,且P(analysed)错误。整体代码未正确使用wait/signal(P/V)实现同步,且存在对整型变量进行P/V操作的严重逻辑错误。同步顺序未保证“收集→分析→存储”的流程,也未正确处理资源限制(未分析日志<5)。扣4分,得0分。

(3)信号量作用说明(满分约1分)

学生仅说明metux用于保护公共变量analyse,未说明其他同步信号量的作用(实际上未定义)。缺少对同步关系的描述。扣1分,得0分。

题目总分:0.5+0+0=0.5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发