文章

24

粉丝

50

获赞

1

访问

969

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


评分及理由

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

得分:1分

理由:学生定义了四个信号量:seat(初始值10,表示空座位数)、mutex(初始值1,用于取号机互斥)、hao(初始值0,表示等待服务的顾客数)、servile(初始值1,表示营业员空闲状态)。其中seat和mutex的定义正确,hao的定义基本正确(但标准答案中对应的是full信号量),servile的定义存在问题(营业员空闲状态不应初始化为1,这会导致同步逻辑错误)。扣1分。

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

得分:1分

理由:顾客进程中,P(seat)和P(mutex)的顺序正确,V(hao)的位置基本正确(但标准答案中应在进入座位区后增加full信号量)。但存在以下逻辑错误:1)缺少对座位区的互斥操作(标准答案中有mutex保护座位区);2)P(servile)的位置错误,应在等待叫号后,但学生将其放在等待叫号后,这会导致营业员无法正确唤醒顾客;3)缺少V(empty)或类似操作。扣2分。

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

得分:1分

理由:营业员进程中,P(hao)和V(seat)的顺序基本正确,但存在以下逻辑错误:1)V(seat)的位置错误,应在顾客离开座位区后,但学生将其放在叫号后,这会导致座位释放过早;2)V(servile)的位置错误,应在服务完成后,但学生将其放在服务后,这会导致顾客在服务完成前被唤醒;3)缺少对座位区的互斥操作。扣2分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发