文章

280

粉丝

0

获赞

1

访问

60.8k

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


评分及理由

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

学生答案指出C1代码是临界区,因为涉及对共享缓冲区的写操作,是临界资源,需要互斥。这与标准答案的核心观点一致,即多个进程执行C1时可能同时写入导致数据不一致,因此需要互斥访问。答案表述基本正确,但存在少量表述不完整(如“它临界资源”缺“是”字),这可能是识别误差,不影响核心逻辑判断。因此,本题得满分2分。

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

学生答案定义了一个信号量s=0用于同步,并给出了P1先执行C1后signal(s),P2先wait(s)后执行C2的流程。这满足了“B为空时才能执行C1”和“B非空时才能执行C2”的同步要求,且P1、P2各执行一次,无需额外的互斥信号量。思路正确且简洁。但标准答案额外使用了互斥信号量(mutex)来保护缓冲区操作。根据评分要求第3点“思路正确不扣分”,学生方案虽然信号量使用数量不同,但逻辑正确且满足题目“定义尽可能少的信号量”的要求。因此,本题得满分3分。

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

学生答案定义了一个互斥信号量mutex=1,并在P1和P2执行C3时分别用wait/signal操作包裹。这正确实现了对C3操作的互斥访问,满足了“B非空时才能执行C3”以及多个进程修改缓冲区时需要互斥的要求。信号量定义数量最少,逻辑正确。因此,本题得满分3分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发