文章

65

粉丝

0

获赞

0

访问

1.5k

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


评分及理由

(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分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发