文章
128
粉丝
0
获赞
0
访问
5.3k

评分及理由
(1)信号量定义部分得分及理由(满分2分)
学生定义了四个信号量:mutex_1=1(取号机互斥)、empty=10(空座位数)、service=1(服务窗口)、full=0(等待顾客数)。其中mutex_1、empty、full的定义和初值正确,但service信号量的含义和初值设置错误。标准答案中服务信号量应该是用于同步的,初值应为0,而学生设置为1,这是逻辑错误。扣1分。
得分:1分
(2)顾客进程实现得分及理由(满分3分)
顾客进程基本流程正确:先P(empty)检查空座位,再P(mutex_1)互斥使用取号机,取号后V(mutex_1),然后V(full)通知有顾客等待。但存在两个逻辑错误:一是P(service)的位置错误,应该在等待叫号前,但学生放在取号后立即执行;二是V(empty)的位置错误,应该在服务完成后释放座位,而不是在等待叫号后。这两个都是严重的逻辑错误,各扣1分。
得分:1分
(3)营业员进程实现得分及理由(满分3分)
营业员进程基本结构正确:循环执行P(full)、叫号、服务、V(service)。但缺少对座位区的互斥操作,且V(service)的位置应该在叫号后立即执行,而不是服务完成后。缺少座位区互斥操作扣1分,V(service)位置错误扣1分。
得分:1分
题目总分:1+1+1=3分
登录后发布评论
暂无评论,来抢沙发