文章

70

粉丝

1

获赞

0

访问

11.0k

头像
2025 年 7 月第 1 次 408 月考试卷 - 第45题回答
操作系统
发布于2025年9月20日 17:21
阅读数 107

(1)完成时间:p1:18ms,p2:11ms,p3:23ms

周转时间:p1:18ms,p2:8ms,p3:18ms

平均周转时间:44/3ms

(2)处于安全状态,安全序列p2,p1,p3

(3)

semaphore p1p2 = 0;

semaphore p2p3=0;

semaphore print=2;

semaphore scan=1;

P1(){

   P(print);

   使用打印机;

  V(print);

   V(p1p2);

}

P2(){

  P(p1p2);

  P(scan);

  使用扫描仪;

 V(scan);

  V(p2p3);

}

 

P3(){

   P(p2p3);

   do something;

}


评分及理由

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

学生答案中完成时间、周转时间计算完全正确(P1完成18ms、周转18ms,P2完成11ms、周转8ms,P3完成23ms、周转18ms),平均周转时间44/3ms表达正确。得2分。

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

学生判断安全状态正确,但给出的安全序列"p2,p1,p3"存在逻辑错误。根据银行家算法,在初始Available=(0,0)时,P2的Need=(0,0)虽然满足,但P2完成后释放资源(1,1)后Available=(1,1),此时P1的Need=(0,0)满足,但P3的Need=(1,0)也满足。然而标准答案中P1→P2→P3和P2→P1→P3都是安全序列,因此该序列正确。得2分。

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

学生信号量设计存在以下问题:

1. 信号量定义错误:额外定义了print=2和scan=1,但题目要求的是"按需分配"的资源管理,不需要用信号量管理资源可用数量(题目明确资源分配采用按需分配策略)

2. 资源请求逻辑缺失:没有使用要求的request/release原语进行资源申请和释放

3. P2代码缺少打印机请求:P2需要...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发