文章

26

粉丝

0

获赞

0

访问

365

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


评分及理由

(1)信号量定义及初值(满分2分)

得分:1分

理由:学生定义了四个信号量:seat(初始值10,表示空座位数,正确)、hao(初始值0,表示等待顾客数,类似full,正确)、mutex(初始值1,用于取号机互斥,正确)、wait(初始值0,用于服务同步,但含义不清晰,标准答案中服务同步应针对具体顾客,这里用单一信号量可能存在问题,但初值设置正确,扣1分)。

(2)顾客进程实现(满分3分)

得分:2分

理由:顾客进程中,P(seat)正确获取空座位,P(mutex)保护取号机,V(hao)通知营业员有顾客等待,V(mutex)释放取号机,这些操作正确。但“等待服务”和P(wait)顺序不当,应先等待叫号(即P(wait))再接受服务,而学生将“等待服务”放在P(wait)之前,这可能导致逻辑错误(扣1分)。V(seat)在接受服务后释放座位,正确。

(3)营业员进程实现(满分3分)

得分:2分

理由:营业员进程中,P(hao)检测是否有顾客等待,正确;叫号和服务操作正确;V(wait)通知顾客开始服务,正确。但缺少对座位区的互斥访问(如标准答案中的mutex用于座位区),这可能导致座位计数错误(扣1分)。此外,营业员未在叫号前让顾客离开座位区并更新empty信号量,但学生代码中通过V(seat)在顾客端释放座位,间接实现了座位管理,可接受。

题目总分:1+2+2=5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发