文章

359

粉丝

0

获赞

2

访问

33.5k

头像
2024年(408)计算机学科专业基础综合试题 - 第46题回答
操作系统
发布于2025年11月24日 15:08
阅读数 75

(1)是临界区

(2)seamphore mutex=1//表示缓冲区B

seamphore empty=0//表示缓冲区B初始为空

P1 (){

p (mutex)

执行C1

v(mutex)

v(empty)

P2(){

p(empty)

p(mutex)

执行C2

v(mutex)

(3)seamphore mutexB=1表示P1和P2对B缓冲区是互斥访问的

P1(){

p(mutexB)

执行C3

v(mutexB)

P2(){

p(mutexB)

执行C3

v(mutexB)


评分及理由

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

得分:1分

理由:学生正确判断了C1代码是临界区,但没有给出解释原因。根据题目要求,需要说明为什么是临界区,学生只给出了结论没有分析,因此扣1分。

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

得分:2分

理由:学生定义了正确的信号量数量,mutex用于互斥,empty用于同步。但信号量empty的初值应为1而不是0,因为缓冲区初始为空,P1应该能够立即执行C1。这个逻辑错误扣1分。代码结构基本正确,P1和P2的执行顺序合理。

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

得分:3分

理由:学生正确使用了单个互斥信号量mutexB,初值设为1正确。代码结构完整,实现了P1和P2对缓冲区B的互斥访问,符合题目要求。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发