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

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

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

2015-45

综合题9

有 A、B 两人通过信箱进行辩论,每个人都从自己的信箱中取得对方的问题。将答案和向对方提出的新问题组成一个邮件放入对方的邮箱中。假设 A 的信箱最多放 M 个邮件,B 的信箱最多放 N 个邮件。初始时 A 的信箱中有 x 个邮件(0 < x < M),B 的信箱中有 y 个(0 < y < N)。辩论者每取出一个邮件,邮件数减 1。A 和 B 两人的操作过程描述如下:

CoBegin

A{
    while (TRUE) {
        从 A 的信箱中取出一个邮件;
        回答问题并提出一个新问题;
        将新邮件放入 B 的信箱;
    }
}
B{
    while (TRUE) {
        从 B 的信箱中取出一个邮件;
        回答问题并提出一个新问题;
        将新邮件放入 A 的信箱;
    }
}

CoEnd

当信箱不为空时,辩论者才能从信箱中取邮件,否则需要等待。当信箱不满时,辩论者才能将新邮件放入信箱,否则需要等待。请添加必要的信号量和 P、V(或 wait、signal)操作,以实现上述过程的同步。要求写出完整过程,并说明信号量的含义和初值。

45