文章

63

粉丝

0

获赞

0

访问

1.5k

头像
2025 年 6 月第 1 次 408 月考试卷 - 第45题回答
操作系统
发布于2025年9月12日 14:31
阅读数 22

p1{

p(emptyA)

p(mutex)

生产A放入缓冲区

V(mutex)

V(fullA)}

p2{

p(emptyB)

p(mutex)

生产B放入缓冲区

V(mutex)

V(fullB)}

c1{

p(fullA)

p(mutex)

从缓冲区取出A

v(mutex)

v(emptyA)}

c2{

p(fullB)

p(mutex)

从缓冲区取出B

v(mutex)

v(emptyB)}

(2)3*3+3*3=18时间单位


评分及理由

(1)得分及理由(满分5分)

学生答案中,P1和P2进程的伪代码缺少了生产产品的耗时操作(即生产产品本身需要时间,但代码中未体现生产过程的耗时),这属于逻辑错误。标准答案中明确包含了生产产品的时间消耗(如P1生产需要2个时间单位,P2需要1个时间单位),而学生代码仅直接执行P操作和放入缓冲区,忽略了实际生产时间,这会导致同步模型不完整,可能影响后续时间计算。因此扣1分。其他部分(如信号量操作顺序和互斥锁使用)正确。得4分。

(2)得分及理由(满分2分)

学生答案直接给出总耗时18个时间单位,与标准答案一致,但未提供计算过程。由于题目要求计算总耗时,且标准答案给出了详细的时间线分析,而学生仅给出结果未展示推理,但结果正确。考虑到计算题目的核心是结果准确性,且无逻辑错误,因此不扣分。得2分。

题目总分:4+2=6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发