文章

6

粉丝

93

获赞

0

访问

238

头像
2025 年 5 月第 1 次 408 月考试卷 - 第46题回答
操作系统
发布于2025年8月28日 17:12
阅读数 41


评分及理由

(1)信号量定义部分得分及理由(满分2分)

学生定义了full(相当于vat_full)、empty(相当于vat_empty)、Tong(相当于pail)、jing(相当于mutex_well)、mutex(相当于mutex_vat)。信号量类型和初始值正确,但full未声明为信号量(只写了full=0),且jing和Tong也未用Semaphore声明。考虑到识别可能误写(如漏写Semaphore),且核心逻辑正确,扣1分。得1分。

(2)小和尚进程算法得分及理由(满分3分)

学生的小和尚进程基本正确:先申请桶(P(Tong)),再申请井(P(jing)),取水后释放井(V(jing)),然后申请空位(P(empty))和互斥访问水缸(P(mutex)),倒水后释放互斥(V(mutex))和增加满容量(V(full)),最后释放桶(V(Tong))。但标准答案中,P(empty)应在P(pail)之后,但学生顺序反了(先P(Tong)后P(empty)),这可能导致死锁(例如水缸满时,小和尚占着桶等待空位,但老和尚需要桶来取水释放空位)。这是一个逻辑错误,扣1分。得2分。

(3)老和尚进程算法得分及理由(满分3分)

学生的老和尚进程基本正确:先申请桶(P(Tong)),再申请水(P(full))和互斥访问水缸(P(mutex)),取水后释放互斥(V(mutex))和增加空位(V(empty)),释放桶(V(Tong)),然后喝水。但标准答案中,P(full)应在P(pail)之前,而学生顺序正确(先P(Tong)后P(full)),但P(full)和P(mutex)顺序不影响(互斥信号量应在同步之后,但这里可接受)。无逻辑错误,得3分。

题目总分:1+2+3=6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发