文章

20

粉丝

0

获赞

0

访问

1.1k

头像
2011年计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年10月20日 16:51
阅读数 21


评分及理由

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

学生定义了mutex=1、empty=10、full=0、service=0四个信号量,与标准答案中的核心信号量一致(虽然标准答案有machine信号量,但学生用mutex实现了取号机互斥也算合理)。信号量初值正确。得2分。

(2)顾客进程实现得分及理由(满分3分)

顾客进程中:
- P(empty)正确控制座位资源(-1分)
- 使用P(mutex)保护取号机操作合理(虽然标准答案用专门machine信号量,但用mutex实现功能正确)
- 缺少座位区进入的显式操作,但逻辑上通过empty已控制
- V(full)正确通知有顾客等待(+1分)
- P(service)等待服务正确(+1分)
但存在严重问题:在P(empty)和P(mutex)之间没有保护,可能导致死锁。标准答案中取号机使用独立信号量就是为了避免这个问题。扣2分。得1分。

(3)营业员进程实现得分及理由(满分3分)

营业员进程中:
- P(full)检查有顾客正确(+1分)
- V(empty)释放座位正确(+1分)
- V(service)通知顾客正确(+1分)
但存在严重问题:缺少对座位区的互斥保护,多个营业员可能同时操作座位区(虽然题目只有1个营业员,但代码写了多个营业员进程)。另外"叫号"和"服务"操作位置不当,应该在V(service)之前。扣1分。得2分。

题目总分:2+1+2=5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发