文章

104

粉丝

0

获赞

0

访问

8.0k

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


评分及理由

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

得分:1分

理由:学生定义了mutex=1用于取号机互斥,empty=10用于空座位计数,这些是正确的。但定义了window=1作为服务窗口信号量,这个设计不合理,因为服务窗口应该通过同步机制实现叫号服务,而不是简单的互斥信号量。缺少用于同步叫号的信号量(如full或service)。此外第二次识别中出现重复定义mutex和seat/empty定义冗余的问题,但根据误写不扣分原则,不额外扣分。

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

得分:1分

理由:学生正确使用了P(seat)来获取空座位,P(mutex)/V(mutex)保护取号机操作,这部分符合要求。但后续的等待叫号和服务获取逻辑存在严重错误:使用了P(window)来获取服务窗口,这会导致顾客在等待叫号前就尝试获取窗口,且营业员进程中的V(window)位置不当,无法实现正确的同步。缺少专门的等待叫号信号量机制。

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

得分:1分

理由:营业员进程缺少检查是否有顾客等待的逻辑(缺少对等待顾客计数的P操作),直接执行V(window)不符合同步要求。叫号和服务操作虽然有mutex保护,但整体同步逻辑错误,无法正确实现叫号服务顾客的流程。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发