2011年计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年9月30日 14:06
阅读数 520

评分及理由
(1)信号量定义部分得分及理由(满分2分)
得分:1分
理由:学生定义了4个信号量,其中:
- mutex = 1(互斥锁)正确,用于取号机互斥
- chair = 10(空座位)正确,对应座位区资源
- cou = 0(顾客人数)基本正确,用于同步,但命名不够清晰
- serve = 1(服务窗口)存在逻辑错误,服务窗口应该是营业员资源,但这里初值设为1不符合题意
扣1分:serve信号量的定义和初值设置错误。
(2)顾客进程实现得分及理由(满分3分)
得分:1分
理由:学生代码中:
- P(chair)和P(mutex)的顺序基本正确
- 取号操作有互斥保护
- 但同步逻辑存在严重错误:V(cou)应该在等待叫号之前,而不是之后;V(serve)的位置完全错误
- 缺少对等待叫号的同步机制
扣2分:同步逻辑严重错误,信号量操作顺序混乱。
(3)营业员进程实现得分及理由(满分3分)
得分:1分
理由:学生代码中:
- while循环结构正确
- P(cou)基本正确,用于检测是否有顾客
- 但P(serve)的逻辑错误,服务窗口不应该由顾客释放
- V(chair)的位置应该在服务完成后
- 缺少对座位区的互斥保护
扣2分:同步逻辑错误,信号量使用不当,缺少必要的互斥操作。
题目总分:1+1+1=3分
登录后发布评论
暂无评论,来抢沙发