文章

78

粉丝

0

获赞

0

访问

7.1k

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


评分及理由

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

得分:1分

理由:学生定义了三个信号量:mutex=1(消费者互斥)、empty=1000(缓冲区空位)、full=0(缓冲区产品数)。缺少生产者互斥访问缓冲区的信号量,且mutex的作用描述不完整(应控制连续取10件的互斥)。但基本信号量初值正确,给1分。

(2)生产者进程实现得分及理由(满分2分)

得分:1分

理由:生产者使用了P(empty)和V(full)实现同步,基本正确。但缺少对缓冲区的互斥访问(没有P/V操作保护临界区),存在竞态条件,扣1分。

(3)消费者进程实现得分及理由(满分4分)

得分:1分

理由:消费者使用了mutex实现连续取10件的互斥,思路正确(给1分)。但存在严重逻辑错误:①P(full)位置错误(应在循环内每次取产品前判断);②V(empty)位置和次数错误(应在每次取出后执行);③条件判断"if ((consume+1)%1000 != produce)"多余且错误;④缺少count递减操作。这些错误导致同步和互斥逻辑完全失效,扣3分。

题目总分:1+1+1=3分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发