文章

135

粉丝

93

获赞

1

访问

60.6k

头像
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分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发