文章

381

粉丝

1101

获赞

1685

访问

137w

头像
【250518年】408计算机统考真题模拟考试 - 第46题答案笔记
操作系统
发布于2025年5月18日 09:46
阅读数 64

计算机考研408统考历年真题及答案解析

Semaphore mutex_well = 1; //实现对水井这一互斥资源的互斥访问

Semaphore mutex_vat = 1; //实现对水缸这一互斥资源的互斥访问

Semaphore vat_empty = 10; //水缸剩余能容纳的水的桶数

Semaphore vat_full = 0; //水缸已容纳的水的桶数

Semaphore pail = 3; //空闲的水桶的数量

CoBegin{

process 小和尚{

while(TRUE){

P(vat_empty); //(同步)申请向水缸倒水,若水缸已满则等待

P(pail); //申请使用空闲水桶,如没有空闲水桶则等待

P(mutex_well); //(互斥)防止他人使用水井

从井中取水;

V(mutex_well); //(互斥)允许他人使用水井

P(mutex_vat); //(互斥)防止他人使用水缸

将水倒入水缸;

V(mutex_vat); //(互斥)允许他人使用水缸

V(vat_full); //(同步)水缸已用容量加1,若有老和尚等喝水则通知

V(pail); //释放一个空闲水桶,若有和尚在等待使用,则通知

}

}

process 老和尚{

while(TRUE){

P(vat_full); //(同步)申请从水缸取水,若水缸为空,则等待

P(pail); //申请使用空闲水桶,如没有空闲水桶则等待

P(mutex_vat); //(互斥)防止他人使用水缸

从水缸中取水;

V(mutex_vat); //(互斥)允许他人使用水缸

V(vat_empty); //(同步)水缸剩余容量加1,若有小和尚等打水则通知

喝水;

V(pail); //释放一个空闲水桶,若有和尚在等待使用,则通知

}

}


评分及理由

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

学生答案与标准答案完全一致,信号量的定义和使用均正确,逻辑清晰,没有错误。因此得满分8分。

题目总分:8分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发