评分及理由
(1)得分及理由(满分7分)
该题仅有一个问题,即使用信号量wait()/signal()(P/V操作)描述操作A、B、C、D、E之间的同步关系。学生作答的核心逻辑正确:
- 学生正确识别了同步关系:C需要在A和B完成后执行,E需要在C和D完成后执行。
- 学生使用4个信号量(mutexA、mutexB、mutexC、mutexD)分别对应A→C、B→C、C→E、D→E四条同步边,每个信号量初值设为1(正确,因为信号量初值置1后,P操作会阻塞直到V操作执行,实现同步;虽然标准答案初值为0,但初值1配合P/V顺序也可以正确实现该同步,本质上属于“信号量初值设为1的空闲资源法”,逻辑等价,思路正确不扣分)。
- 在A、B、D执行完成后分别执行V操作,在C开始前对mutexA和mutexB执行P操作,在E开始前对mutexC和mutexD执行P操作,执行顺序与同步关系完全一致。
学生将信号量称为“互斥信号量”不够准确(初值1且用于同步,通常称为同步信号量或资源信号量),但这是描述性错误,不影响核心同步逻辑的正确性。
因此,核心逻辑完全正确,无逻辑错误,应得满分7分。
题目总分:7分
登录后发布评论
暂无评论,来抢沙发