文章

24

粉丝

50

获赞

1

访问

977

头像
2014年计算机学科专业基础综合试题 - 第47题回答
操作系统
发布于2025年10月30日 15:35
阅读数 17


评分及理由

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

得分:2分

理由:学生定义了四个信号量empty、full、mutex、lock,含义和初值都正确。empty=1000表示缓冲区空位数量,full=0表示产品数量,mutex=1用于缓冲区互斥,lock=1用于保证消费者连续取10件的互斥,与标准答案的mutex1作用相同。

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

得分:2分

理由:生产者进程实现正确,先P(empty)判断是否有空位,再P(mutex)互斥访问缓冲区,生产产品后V(mutex)释放互斥锁,V(full)增加产品计数,完全符合生产者-消费者模型。

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

得分:3分

理由:消费者进程整体思路正确,使用lock信号量保证连续取10件的互斥,循环10次取产品。扣1分是因为在for循环中,P(full)和P(mutex)的顺序有潜在死锁风险,应该先P(full)再P(lock)内层操作,但考虑到学生可能理解正确只是表达不够严谨,且主要逻辑正确,只扣1分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发