文章

54

粉丝

21

获赞

0

访问

4.2k

头像
2025 年 7 月第 1 次 408 月考试卷 - 第45题回答
操作系统
发布于2025年10月23日 21:54
阅读数 58

(1)完成时间:P1:18ms,P2:11ms,P3:23ms。周转时间:P1:18ms,P2:8ms,P3:18ms。平均周转时间:44/3ms。

(2)处于安全状态,P2->P1->P3。

(3)

semaphore one=0;//P1是否完成打印机使用

semaphore two=0;//P2是否完成扫描仪的使用

P1{

request(A,x);

使用打印机;

release(A,x);

V(one);

}

P2{

request(B,x);

request(B,y);

使用打印机;

release(B,x);

P(one);

使用扫描仪;

release(B,y);

V(two);

}

P3{

P(two )

request(C,x);

使用打印机;

release(C,x);

}


评分及理由

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

学生答案中完成时间、周转时间计算完全正确,平均周转时间计算也正确(44/3ms ≈ 14.67ms)。答案与标准答案一致,得2分。

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

学生正确判断系统处于安全状态,给出的安全序列P2→P1→P3是标准答案中提到的可行序列之一。虽然学生没有展示完整的银行家算法计算过程,但结论正确且序列有效,得2分。

(3)得分及理由(满分4分)

学生答案存在多处逻辑错误:

  • 信号量定义基本正确,但变量名不够规范(one、two)
  • P1代码中缺少资源请求的具体数量(应为request(A,1))
  • P2代码中资源请求顺序错误:应先等待P1完成(P(one))再请求资源
  • P2代码中资源类型错误:request(B,x)和request(B,y)应为request(A,1)和request(B,1)
  • P2代码中资源释放顺序错误:应在使用扫描仪后释放资源
  • P3代码中资源类型错误:request(C,x)应为request(A,1)
  • 整体逻辑混乱,未能正确实现题目要求的同步关系

由于存在多处逻辑错误,扣3分,得1分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发