文章

124

粉丝

0

获赞

0

访问

12.7k

头像
2011年计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年10月10日 17:28
阅读数 184


评分及理由

(1)信号量定义部分得分及理由(满分2分)

学生定义了四个信号量:seat=10(表示座位数量)、full=0(表示等待顾客数)、window=1(表示窗口服务互斥)、mutex=1(表示取号机互斥)。信号量定义基本正确,但缺少对顾客等待叫号的同步信号量(如service_i),扣1分。得分:1分。

(2)顾客进程实现得分及理由(满分3分)

顾客进程中,P(seat)正确控制座位资源,P(mutex)保护取号机互斥,V(mutex)释放取号机正确。但存在以下逻辑错误:①V(full)位置错误,应在取号后立即增加等待顾客数,但学生将其放在互斥区内,虽不影响功能但不符合典型生产者消费者模式;②缺少等待叫号的P操作(如P(service_i)),导致顾客无法等待营业员叫号;③P(window)和V(seat)顺序错误,应在获得服务后释放座位,但学生先P(window)再V(seat),逻辑混乱。扣2分。得分:1分。

(3)营业员进程实现得分及理由(满分3分)

营业员进程中,P(full)正确检测等待顾客,但缺少对座位区的互斥操作(如P(mutex)保护座位区修改)。V(window)释放窗口服务正确,但整体缺少与顾客的同步机制(如缺少V(service_i)通知顾客)。扣2分。得分:1分。

题目总分:1+1+1=3分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发