文章
65
粉丝
0
获赞
0
访问
1.5k

评分及理由
(1)信号量定义部分得分及理由(满分2分)
得分:1分
理由:学生定义了三个信号量:Seat(初始值10,表示座位数量)、number(初始值0,表示等待人数)、mutex(初始值1,用于取号机互斥)。其中Seat和mutex的定义正确,但number信号量的使用存在逻辑错误(详见后续分析)。由于信号量定义基本正确,但存在一处错误,扣1分。
(2)顾客进程实现得分及理由(满分3分)
得分:1分
理由:顾客进程中使用P(Seat)获取座位、P(mutex)/V(mutex)保护取号机操作,这部分正确。但存在以下逻辑错误:①使用if条件判断seat>0而不是用信号量操作,这是错误的同步方式;②P(number)的位置错误,应该在等待叫号时使用,但学生将其放在获取服务前,逻辑顺序混乱;③V(Seat)在获取服务后执行,这会导致座位提前释放。由于存在多处逻辑错误,扣2分。
(3)营业员进程实现得分及理由(满分3分)
得分:0分
理由:营业员进程完全错误:①使用if条件判断Seat<10而不是用信号量操作;②先执行V(number)再叫号,顺序错误;③没有使用任何同步机制来确保正确选择顾客。这些都属于严重的逻辑错误,扣3分。
题目总分:1+1+0=2分
登录后发布评论
暂无评论,来抢沙发