文章

60

粉丝

0

获赞

0

访问

3.7k

头像
2025年(408)计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年12月2日 17:08
阅读数 6

semaphore (TIEQIAO)=1//定义铁锹资源的的信号量

semaphore (SHUITONG)=1//定义水桶资源的信号量

semaphore (TREE)//定义在坑里没浇水的树苗的信号量

semaphore (KENG)=0//定义坑的信号量

semaphore(full_keng)=2//定义坑的数量小于3的信号量

semaphore(mute_X)//定义互斥信号量

CoBegin

Precess 甲()

{

wait(full_keng);

wait(TIEQIAO);

wait (mute_X);

挖坑;

signal(KENG);

signal(mute_X);

signal(TIEQIAO);

}

Process 乙()

{

wait(KENG);

wait(mute_X);

放树苗;

signal(mute_X);

wait(TIEQIAO);

wait(mute_X);

填土;

signal(mute_X);

signal(TIEQIAO);

signal(full_keng);

signal(TREE);

}

Process 丙()

{

wait(TREE);

wait(SHUITONG);

wait(mute_X);

浇水;

signal(mute_X);

signal(SHUITONG);

}

CoEnd


评分及理由

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

学生作答得分为:3分

理由:

  1. 信号量定义与初值(扣2分):学生定义了多个信号量,但部分信号量未给出初值(如TREE、mute_X),这是严重的逻辑错误。在操作系统中,信号量必须初始化。此外,部分信号量的命名和作用与题目要求不完全匹配,但尚可理解。
  2. 同步逻辑基本正确(得2分):学生大致理解了甲、乙、丙三人之间的依赖关系:甲挖坑受坑数限制(full_keng),乙等待坑(KENG),丙等待树苗(TREE)。这个同步框架基本正确。
  3. 互斥处理存在错误(扣2分)
    • 对铁锹(TIEQIAO)的互斥使用不当。题目中铁锹用于...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发