文章
8
粉丝
0
获赞
0
访问
275

评分及理由
(1)信号量定义部分得分及理由(满分2分)
学生定义了四个信号量:mutex、empty、full、service,含义基本正确。其中mutex初值第一次识别为Φ(可能是识别错误),第二次识别为1,正确;empty初值10正确;full初值0正确;service初值0正确。但缺少对信号量含义的详细说明,扣0.5分。得1.5分。
(2)顾客进程实现得分及理由(满分3分)
顾客进程逻辑基本正确:先P(empty)检查空座位,再P(mutex)互斥使用取号机,取号后V(mutex)释放取号机,然后V(full)增加等待顾客数,最后P(service)等待服务。但缺少将顾客加入座位区的操作(标准答案中有进入座位区的临界区操作),这是一个逻辑错误,扣1分。得2分。
(3)营业员进程实现得分及理由(满分3分)
营业员进程逻辑存在错误:先P(full)检查有等待顾客,然后叫号,再V(empty)释放空座位,V(service)通知顾客,最后服务。问题在于:V(service)在叫号后立即执行,但此时顾客可能还未执行到P(service),这可能导致同步错误;且缺少顾客离开座位区的临界区操作。这些逻辑错误扣1.5分。得1.5分。
题目总分:1.5+2+1.5=5分
登录后发布评论
暂无评论,来抢沙发