文章
292
粉丝
0
获赞
2
访问
78.7k

评分及理由
(1)信号量定义部分得分及理由(满分2分)
学生定义了三个信号量:mutex=1(取号机互斥)、window=1(服务窗口互斥)、empty=10(空座位数)。其中mutex和empty的定义正确,但缺少一个关键信号量用于同步顾客等待叫号和营业员叫号的过程(相当于标准答案中的full或service_i)。此外,window信号量的用途描述不准确,实际应作为服务同步信号量。因此扣1分。
得分:1分
(2)顾客进程实现得分及理由(满分3分)
顾客进程中:P(mutex)和P(empty)的顺序正确,保护了取号机的互斥访问和座位的申请;V(mutex)位置正确;但缺少对等待叫号的具体实现(应有P操作等待营业员叫号),而是直接写了"等待叫号";P(window)的位置不正确,应该在获得服务前等待营业员通知。这些逻辑错误导致同步关系不正确,扣2分。
得分:1分
(3)营业员进程实现得分及理由(满分3分)
营业员进程中:缺少检查是否有顾客等待的P操作(相当于标准答案中的P(full));V(empty)的位置错误,应该在顾客离开座位区时释放;V(window)的位置基本正确,但缺少对应的P操作同步。这些逻辑错误导致生产者-消费者模型的基本同步关系不成立,扣2分。
得分:1分
题目总分:1+1+1=3分
登录后发布评论
暂无评论,来抢沙发