文章

43

粉丝

0

获赞

0

访问

1.0k

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


评分及理由

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

得分:1分

理由:学生定义了mutex1和mutex2两个互斥信号量,初值均为1,基本正确;定义了sitfull(应为sitfull)初值10,表示空闲座位数,正确;定义了sitremain(应为sitremain)初值0,表示已占用座位数,正确。但缺少对取号机互斥的明确信号量(虽然mutex1可能用于此,但未说明),且信号量命名不规范(如sitfull应为empty,sitremain应为full),扣1分。

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

得分:1分

理由:顾客进程中,使用if判断座位数不符合同步原则(应用P操作),且P/V操作顺序混乱。正确逻辑应先P(empty)检查座位,再P(mutex1)取号,然后V(mutex1)释放取号机,之后V(full)增加等待顾客,最后P(service)等待叫号。学生代码中未正确定义和使用等待叫号的同步信号量,且P/V操作错误(如误用V(mutex2)和P(mutex2)),逻辑错误严重,扣2分。

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

得分:1分

理由:营业员进程中使用while(TRUE)循环正确,但同步逻辑错误。正确逻辑应先P(full)检查是否有顾客,再叫号,然后V(service)通知顾客,最后服务。学生代码中错误使用V(mutex2)和P(mutex2)进行互斥,未正确定义和使用full及service信号量,且未实现座位区的互斥管理,逻辑错误严重,扣2分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发