文章

21

粉丝

0

获赞

0

访问

1.7k

头像
2025年计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年9月20日 19:13
阅读数 215

 

semaphore t=1;//铁锹

semaphore h=0;//洞

semaphore tree =0;//种好的树

turn 1

{

while(h>=3);

wait(t);

挖洞

signal(h);

signal(t);

}

turn 2

{

wait(h);

放树苗

wait(t);

填土

signal(t);

signal(tree);

}

turn 3

{

wait (tree);

浇水

}

 

 

 


评分及理由

(1)信号量定义及初值(满分2分)

得分:1分

理由:学生定义了三个信号量:t(铁锹互斥,初值1正确)、h(树坑计数,但初值应为0而非0,且缺少对最大树坑数量的控制信号量)、tree(种好的树计数,初值0正确)。但缺少关键信号量sk(控制最大可挖树坑数为3),且h的初值应为0(正确),但语义不清晰。扣1分。

(2)甲进程同步逻辑(满分2分)

得分:0分

理由:甲使用while(h>=3)忙等待而非信号量机制,违反题目要求(应使用wait/signal操作);且未实现对树坑数量小于3的条件判断(应通过信号量sk实现)。逻辑错误严重,扣2分。

(3)乙进程同步逻辑(满分2分)

得分:1分

理由:乙通过wait(h)等待树坑,通过signal(tree)通知丙浇水,基本正确。但未释放sk信号量(乙填土后应增加可挖坑数),且填土后未释放铁锹(实际已释放,但信号量操作顺序有瑕疵)。扣1分。

(4)丙进程同步逻辑(满分1分)

得分:1分

理由:丙通过wait(tree)等待种好的树,然后浇水,逻辑正确,无错误。

题目总分:1+0+1+1=3分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发