文章

120

粉丝

0

获赞

0

访问

61.5k

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


评分及理由

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

得分:2分

理由:学生定义了6个信号量,包括mutexA、mutexB、emptyA、fullA、emptyB、fullB,且初值设置正确(mutexA=1, mutexB=1, emptyA=M-x, fullA=x, emptyB=N-y, fullB=y),与标准答案一致。

(2)A进程的同步与互斥操作(满分3.5分)

得分:3.5分

理由:A进程中,首先P(fullA)检查A信箱是否有邮件(同步),然后P(mutexA)获取A信箱互斥锁(互斥),取出邮件后V(mutexA)释放互斥锁,V(emptyA)增加A信箱空闲空间(同步)。之后回答问题,然后P(emptyB)检查B信箱是否有空间(同步),P(mutexB)获取B信箱互斥锁(互斥),放入邮件后V(mutexB)释放互斥锁,V(fullB)增加B信箱邮件计数(同步)。所有同步和互斥操作顺序正确,与标准答案一致。注意:学生答案中在P(emptyB)前的注释“互斥访问B信箱已满”有误(应为同步操作),但注释错误不影响代码逻辑,不扣分。

(3)B进程的同步与互斥操作(满分3.5分)

得分:3.5分

理由:B进程中,首先P(fullB)检查B信箱是否有邮件(同步),然后P(mutexB)获取B信箱互斥锁(互斥),取出邮件后V(mutexB)释放互斥锁,V(emptyB)增加B信箱空闲空间(同步)。之后回答问题,然后P(emptyA)检查A信箱是否有空间(同步),P(mutexA)获取A信箱互斥锁(互斥),放入邮件后V(mutexA)释放互斥锁,V(fullA)增加A信箱邮件计数(同步)。所有同步和互斥操作顺序正确,与标准答案一致。注意:学生答案中在P(emptyA)前的注释“若A已满,则阻塞”正确,但P(emptyA)是同步操作而非互斥,注释不影响逻辑。

题目总分:2+3.5+3.5=9分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发