文章

54

粉丝

21

获赞

0

访问

4.0k

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


评分及理由

(1)信号量定义部分(满分2分)

得分:1分

理由:学生定义了三个信号量:seat(初始值10,表示空座位数)、seat1(初始值0,表示等待顾客数)、service(初始值1,表示服务窗口互斥)。其中seat和seat1符合生产者-消费者模型中的空位和满位计数信号量要求,但service信号量的使用存在问题(见后续分析)。信号量定义基本正确但不够完整,扣1分。

(2)顾客进程实现(满分3分)

得分:1分

理由:顾客进程中使用了P(seat)来获取座位,V(seat1)来增加等待顾客数,这部分正确。但是存在以下逻辑错误:①没有对取号机进行互斥保护(缺少取号机互斥信号量);②将service信号量用作服务窗口互斥是不正确的,这会导致多个顾客同时获得服务;③"等待叫号"没有对应的P操作来实现同步等待。由于存在多处逻辑错误,扣2分。

(3)营业员进程实现(满分3分)

得分:1分

理由:营业员进程中使用了P(seat1)来检查是否有等待顾客,V(seat)来释放座位,这部分正确。但是存在以下逻辑错误:①没有实现叫号与顾客获得服务之间的同步机制;②服务过程没有正确的同步控制;③V(seat)的位置可能不合理,应该在服务完成后释放座位。由于同步机制不完整,扣2分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发