文章

266

粉丝

21

获赞

1

访问

12.6k

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


评分及理由

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

得分:0分

理由:学生回答"不是,P1和P2不可能同时执行C1"是错误的。题目明确要求B为空时才能执行C1,如果P1和P2同时检查到B为空,它们可能同时执行C1,这会导致数据竞争和不一致,因此C1的实现代码确实是临界区。学生未能正确理解临界区的概念和互斥访问的必要性。

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

得分:2分

理由:学生定义了3个信号量(B、C2、mutex),比标准答案多了一个信号量,但整体逻辑基本正确。信号量B初值为1表示缓冲区可写,C2初值为0表示缓冲区不可读,mutex用于互斥访问缓冲区。P1和P2的执行顺序和同步关系基本正确,但信号量数量不是"尽可能少",扣1分。学生代码中V(C2)和V(B)的位置正确,能够实现同步要求。

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

得分:3分

理由:学生正确使用了互斥信号量mutex-1(识别可能有误,应为mutex)来保护临界区,初值设为1。P1和P2在执行C3操作前都通过P操作获取互斥锁,执行完毕后通过V操作释放锁,确保了同一时刻只有一个进程能够修改缓冲区中的数据。这与标准答案的思路完全一致,实现了互斥访问的要求。

题目总分:0+2+3=5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发