文章

27

粉丝

0

获赞

0

访问

1.3k

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


评分及理由

(1)信号量定义(满分2分)

得分:1分

理由:学生定义了四个信号量:js(奇数个数)、os(偶数个数)、mutex(互斥)、space(缓冲区容量),与标准答案的odd、even、mutex、empty含义基本一致,但信号量名称不同不扣分。然而,在P1中使用了P(N)而不是P(space),这里N是常量而非信号量,属于逻辑错误(应使用P(space)),但根据误写规则(可能识别错误或笔误),且上下文有space定义,故酌情扣1分。

(2)P1进程实现(满分2分)

得分:1分

理由:P1中P(N)应为P(space),但可能为误写(识别错误),且V(mutex)位置正确,条件判断和V(js)/V(os)正确。但缺少V(empty)(即V(space))的释放,标准答案中P1不释放empty,由消费者释放,这里学生代码中P1没有V(space),正确,但P(N)错误扣1分。

(3)P2和P3进程实现(满分3分)

得分:2分

理由:P2中多了一次P(js)(第一次识别结果),但第二次识别结果中已修正,以第二次为准。P2和P3中P(js)/P(os)同步正确,P(mutex)互斥正确,V(mutex)释放正确,V(N)应为V(space),但可能误写,且功能正确(释放缓冲区单元)。但P2中countodd()应在互斥区外?标准答案在互斥区外,但学生代码在互斥区内,不扣分(因为题目未明确要求)。主要错误是V(N)应为V(space),扣1分。

题目总分:1+1+2=4分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发