2024 全国硕士研究生入学统一考试

计算机学科专业基础2024 真题档案

47道题150满分
公告
目前真题为测试版,可能还会有错误。如果遇到想指出的错误,欢迎发邮件到 beokayy@qq.com 供我们勘误;预计两周后修正大部分错误后,将开放 PDF 做题本的免费下载。目前真题为测试版,可能还会有错误。如果遇到想指出的错误,欢迎发邮件到 beokayy@qq.com 供我们勘误;预计两周后修正大部分错误后,将开放 PDF 做题本的免费下载。
46 / 47
返回整卷
BOK 操作系统
操作系统

2024-46

综合题8

计算机系统中的进程之间往往需要相互协作以完成一个任务。在某网络系统中,缓冲区B用于存放一个数据分组,对B的操作有C1、C2和C3。C1将一个数据分组写入B中,C2从B中读出一个数据分组,C3对B中的数据分组进行修改。要求B为空时才能执行C1,B非空时才能执行C2和C3。
请回答下列问题。

(1)假设进程 P1 和 P2 均需要执行 C1,实现 C1 的代码是否为临界区?为什么?(2分)
(2)假设 B 初始为空,进程 P1 执行 C1 一次,进程 P2 执行 C2 一次。请定义尽可能少的信号量,并用 wait()signal() 操作描述进程 P1 和 P2 之间的同步或互斥关系,说明所用信号量的作用及其初值。(3分)

(3)假设 B 初始不为空,进程 P1 和 P2 各执行 C3 一次。请定义尽可能少的信号量,并用 wait()signal() 操作描述进程 P1 和 P2 之间的同步或互斥关系,说明所用信号量的作用及其初值。(3分)

46