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

评分及理由
(1)信号量定义及初值(满分2分)
学生定义了四个信号量:mutex=1(互斥取号机)、site=10(座位资源)、service=1(服务资源)、number=0(号码资源)。其中mutex和site的定义正确,但service和number的含义与标准答案不符。service应表示顾客等待服务的同步信号量,初值应为0;number应表示等待顾客的数量,初值应为0,但学生将service初值设为1会导致逻辑错误。此处扣1分。
得分:1分
(2)顾客进程实现(满分3分)
顾客进程中:P(site)正确获取座位资源;P(mutex)保护取号机正确;获取号码后V(mutex)正确;V(number)通知有新顾客正确。但"等待叫号"后直接P(service)获取服务是错误的,这会导致顾客在叫号前就尝试获取服务,且营业员的V(service)在服务完成后才执行,这会导致顾客无法正确等待叫号。此处存在严重逻辑错误,扣2分。
得分:1分
(3)营业员进程实现(满分3分)
营业员进程中:P(number)检查是否有顾客正确;叫号后V(site)释放座位资源正确;但服务顺序有问题,应该在叫号后立即为顾客服务,而不是先释放座位资源;V(service)的位置错误,应该在服务开始前通知顾客,而不是服务完成后。此处存在逻辑错误,扣2分。
得分:1分
题目总分:1+1+1=3分
登录后发布评论
暂无评论,来抢沙发