文章

149

粉丝

195

获赞

0

访问

19.0k

头像
2025 年 9 月第 2 次 408 月考试卷 - 第46题回答
操作系统
发布于2025年11月28日 17:46
阅读数 4

1)

semaphore mutex=1;//对缓冲区的互斥访问;

semaphore empty_high=2,empty_low=2;//高、低优先级区域空闲单元;

semaphore full_high=0,full_low=9;//高、低优先级非空闲区域单元;

2)

P1:
  P(empty_high)      # 等待高优先级区域有空位
  P(mutex)           # 申请缓冲区操作权
  # 向高优先级区域(0或1号缓冲区)写入数据
  V(mutex)
  V(full_high)

P2:
  P(empty_low)       # 等待低优先级区域有空位
  P(mutex)
  # 向低优先级区域(2或3号缓冲区)写入数据
  V(mutex)
  V(full_low)

C1:
  P(full_high)       # 等待高优先级区域有数据
  P(mutex)
  # 从高优先级区域(0或1号缓冲区)读取数据
  V(mutex)
  V(empty_high)

C2:
  P(full_low)        # 等待低优先级区域有数据
  P(mutex)
  # 从低优先级区域(2或3号缓冲区)读取数据
  V(mutex)
  V(empty_low)


评分及理由

(1)得分及理由(满分3分)

得分:2分

理由:学生正确定义了互斥信号量mutex=1,以及高、低优先级区域的空缓冲区信号量empty_high=2、empty_low=2。但是,在定义满缓冲区信号量时,full_low的初始值写成了9,这显然是笔误或逻辑错误,正确值应为0。因此扣1分。

(2)得分及理由(满分4分)

得分:3分

理由:学生的伪代码结构基本正确,包含了必要的同步互...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发