文章

166

粉丝

0

获赞

0

访问

10.0k

头像
2024年计算机学科专业基础综合试题 - 第46题回答
操作系统
发布于2025年7月12日 22:35
阅读数 4

(1)是临界区,一个读出一个写入会导致数据的不一致性

(2)

semaphore mutex = 1;// 互斥使用b
semaphore full= 0;//实现p1p2同步

p1(){
  wait(mutex); //互斥
  写入B
  signal(mutex);
  signal(full) ; //跟p2同步
}
p2(){
  wait(full);//非空不能读
  wait(mutex);//互斥
  读出B
  signal(mutex);
}

(3)

semaphore mutex = 1; //p1 p2互斥进入修改数据
p1(){
  wait(mutex);//请求互斥锁 与p2互斥进入
  修改B  //修改缓冲区
  signal(mutex); //释放互斥锁
}
p2(){
  wait(mutex);//请求互斥锁 与p1互斥进入
  修改B  //修改缓冲区
  signal(mutex); //释放互斥锁
}

 


评分及理由

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

得分:2分

理由:学生正确指出C1的代码是临界区,并解释了原因(读写出导致数据不一致性),与标准答案一致。

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

得分:3分

理由:学生正确使用了两个信号量(mutex和full),并正确描述了P1和P2的同步与互斥关系。代码逻辑与标准答案一致,信号量的作用及初值也正确。

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

得分:3分

理由:学生正确使用了一个信号量(mutex)来实现P1和P2的互斥访问,代码逻辑与标准答案一致,信号量的作用及初值也正确。

题目总分:2+3+3=8分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发