2019-2020-2 试卷 A 参考答案及评分标准
一、选择题:每小题答案正确得 1 分
1-5: CCDDB 6-10: ACBAC 11-15:ABCBA
16-20: CBBBA 21-25:CDBAC
二、综合题:
1、(14 分):
(1)(2 分)小和尚从水井中取水并放入水缸可以看作一个进程,老和尚从水缸
中取水可以看作另外一个进程。设水井和水缸都为临界资源,引入互斥信号量
well 和 vat;三个水桶无论是从水井中取水还是将水倒入水缸都是一次一个,设
置一个同步信号量 pail,抢不到水桶的进程只好等待。水缸满的时候,不可以再
放水,设置 empty 信号量来控制;水缸空的时候,不可以取水,设置 full 信号
量来控制。
(2)信号量定义及初始化正确 2 分,小和尚算法 5 分,大和尚算法 5 分
semaphore well=1 //用于互斥地访问水井
semaphore vatl=1 //用于互斥地访问水缸
semaphore empty=10 //用于表示水缸中剩余空间能容纳的水的桶
数
semaphore full=0 //表示水缸中的水的桶数
semaphore pail=1 //表示有多少个水桶可以用,初值为 3
//小和尚
While (true)
{
wait(pail);
wait(well);
从水井中打一桶水;
signal(well);
wait(empty);
waitl(vat);
将水倒入水缸;
signal(vat);
signal(full);
signal(pail);
}
//老和尚
while (true)
{
wait(full);
wait(pail);
wait(vat);
从水缸打一桶水;
signal(vat);
signal(empty);
喝水;
signal(pail);
}
2. (10 分)(1)( 5 分):进入内存时间正确 4 分,结束时间正确 2 分
具有两道作业的批处理系统,内存只存放两道作业,它们采用抢占式优先
级调度算法竞争 CPU,而将作业调入内存采用的是短作业优先调度。8:00,作
评论0