文章

36

粉丝

0

获赞

2

访问

1.8k

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


评分及理由

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

学生定义了四个信号量:mutex=1(互斥访问取号机)、empty=10(空闲座位数)、full=0(等待顾客数)、service=0(同步服务)。信号量定义基本正确,但缺少对取号机互斥的明确保护(虽然mutex可能被用于取号机,但标准答案中通常需要单独的信号量machine来保护取号机,因为座位区互斥和取号机互斥是独立的)。此处mutex被用于取号机互斥和座位区互斥混合,逻辑不严谨,扣1分。得分:1分。

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

顾客进程中:P(empty)正确(检查空闲座位);P(mutex)用于取号机互斥(但mutex应仅用于座位区,取号机应有独立信号量,此处逻辑错误);"从取号机获取一个号码"后直接V(full)和V(mutex),但未实现进入座位区的操作(标准答案中需要将顾客加入座位区并保护座位区互斥),且V(full)位置错误(应在进入座位区后释放);P(service)等待叫号正确。整体缺少座位区互斥管理,且取号机互斥与座位区互斥混淆,扣2分。得分:1分。

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

营业员进程中:P(full)正确(检查等待顾客);但随后直接V(service)和V(empty),缺少从座位区移除顾客的操作(标准答案中需要保护座位区互斥并释放座位),且V(empty)应在释放座位后执行(但此处顺序错误,应先移除顾客再释放座位);"为客户服务"前缺少叫号操作(标准答案中叫号应在V(service)之前)。同步逻辑混乱,未实现座位区管理,扣2分;缺少叫号步骤,扣1分。得分:0分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发