文章

6

粉丝

0

获赞

0

访问

300

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

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

 

semaphore mutex1 = 1,mutex2 = 1;//分别对水井,水缸互斥使用.
semaphore s = 3;//水桶为3个
semaphore full = 0;//水缸已有几桶水
semaphore empty = 10;//水缸还可以倒几桶水

Children(){//小和尚进程
  while(1){
    P(empty);
    P(s);//拿桶
    P(mutex1);
    去水井里取打水;
    V(mutex1);
    P(mutex2);
    往水缸倒水;
    V(mutex2);
    V(full);
    V(s);
  }
}
Elders(){//老和尚进程
  口渴了;
  P(s);//拿桶
  P(full);
  P(mutex2);
  从水缸里去水;
  V(mutex2);
  V(empty);
  V(s);
  }
}

 


评分及理由

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

1. 信号量定义正确(mutex1、mutex2、s、full、empty),命名清晰,初始值正确。得1分。

2. 小和尚进程逻辑基本正确:

  • P(empty)和P(s)顺序正确,确保水缸有空位且有桶可用。得1分。
  • P(mutex1)和V(mutex1)正确保护水井的互斥访问。得1分。
  • P(mutex2)和V(mutex2)正确保护水缸的互斥访问。得1分。
  • V(full)和V(s)释放资源顺序正确。得1分。

3. 老和尚进程逻辑基本正确:

  • P(s)和P(full)顺序正确,确保水缸有水且有桶可用。得1分。
  • P(mutex2)和V(mutex2)正确保护水缸的互斥访问。得1分。
  • V(empty)和V(s)释放资源顺序正确。得1分。

扣分点:

  • 老和尚进程缺少循环结构(while(1)),无法持续执行。扣1分。
  • 老和尚进程缺少“喝水”动作的描述,逻辑不完整。扣1分。

题目总分:7分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发