文章
104
粉丝
0
获赞
0
访问
8.0k

评分及理由
(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分
登录后发布评论
暂无评论,来抢沙发