2011年计算机学科专业基础综合试题 - 第45题回答
    
操作系统
发布于2025年10月29日 18:44
阅读数 28
 
    
评分及理由
(1)信号量定义部分得分及理由(满分2分)
学生定义了四个信号量:service(初值1)、seat(初值10)、mutex(初值1)、custom(初值0)。其中:
- seat(空座位数量)和custom(已取号顾客数量)正确对应了生产者-消费者模型中的empty和full信号量,初值设置合理,得1分
- mutex(互斥取号)正确保护了取号机的互斥访问,得0.5分
- service信号量的使用存在逻辑问题(详见后续分析),但初值设置尚可,不扣分也不加分
本部分得分:1.5分
(2)顾客进程实现得分及理由(满分3分)
顾客进程逻辑分析:
- P(seat)和P(mutex)顺序正确,保护了取号机的互斥访问,得1分
- V(custom)正确增加了等待顾客计数,得0.5分
- 关键错误:缺少等待叫号的同步操作,直接用P(service)来获取服务,这会导致顾客在叫号前就尝试获取服务窗口,逻辑错误,扣1分
- 缺少座位区的互斥保护,但考虑到题目描述较为简化,不严重扣分
本部分得分:1.5分
(3)营业员进程实现得分及理由(满分3分)
营业员进程逻辑分析:
- P(custom)正确检查是否有等待顾客,得0.5分
- V(seat)正确释放座位资源,得0.5分
- 关键错误:V(service)的位置不当,应该在叫号后立即执行以唤醒对应顾客,而不是在服务完成后,这会导致同步时序错误,扣1分
- 缺少座位区的互斥操作,但考虑到简化实现,不严重扣分
本部分得分:1分
题目总分:1.5+1.5+1=4分
 
    
        
        
登录后发布评论
暂无评论,来抢沙发