文章
133
粉丝
1
获赞
100
访问
32.0k

评分及理由
(1)信号量定义部分得分及理由(满分2分)
得分:1分
理由:学生定义了mutex=1用于取号机互斥,site=10用于座位计数,number=0用于等待顾客计数,这些信号量的定义和初值基本正确。但service=1的定义存在问题,服务资源应该是顾客等待营业员叫号的同步信号量,初值应为0,而不是1。这里存在逻辑错误,扣1分。
(2)顾客进程实现部分得分及理由(满分3分)
得分:2分
理由:顾客进程基本流程正确,先P(site)检查座位,再P(mutex)互斥使用取号机,然后V(number)通知有顾客等待,这些操作顺序合理。但"等待叫号"后直接P(service)获取服务的逻辑存在问题,应该是在等待叫号时阻塞,等待营业员叫号后唤醒。这里缺少等待叫号的同步机制,扣1分。
(3)营业员进程实现部分得分及理由(满分3分)
得分:2分
理由:营业员进程基本流程正确,P(number)检查有等待顾客,叫号后V(site)释放座位,服务后V(service)释放服务资源。但叫号和服务顺序存在问题,应该先叫号再为顾客服务,且V(service)应该在服务完成后执行。此外,缺少对座位区的互斥保护,扣1分。
题目总分:1+2+2=5分
登录后发布评论
暂无评论,来抢沙发