文章

78

粉丝

0

获赞

0

访问

7.9k

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

(1)P1完成时间18周转时间18
    P2完成时间11周转时间8
    P3完成时间23周转时间18
    平均周转时间44/3
(2)是安全状态,安全序列是P1->P2->P3

(3)

semaphore c=1;所有进程互斥 
semaphore x=0;//限制P1和P2的顺序关系 
semaphore y=0;//限制P2和P3的顺序关系
semaphore z=1;//限制P2和P3的顺序关系
P1{
	P(z);
	P(c);
	request(A,1);//请求打印机
	work1();
	V(x);
	release(A,1);//释放打印机
	V(c) ;
}
P2{
	P(x);
	P(c);
	request(A,1);
	request(B,1);
	work2();
	release(A,1);
	release(B,1);
	V(y);
	V(c);
}
P3(){
	P(c);
	request(A,1);//请求打印机
	work3();
	release(A,1);//释放打印机
	V(z);
	V(c);
}

 


评分及理由

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

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

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

学生正确判断系统为安全状态,并给出了正确的安全序列P1→P2→P3。虽然未写出详细分析过程,但结论正确,得2分。

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

学生定义了信号量但存在以下问题:
1. 信号量c(互斥锁)的引入是多余的,因为题目要求的是同步关系(P1完成后P2才能用扫描仪,P2完成后P3才能执行),而非互斥。资源分配已由系统"按需分配"机制处理,不需要额外互斥锁。
2. 信号量z的定义和用途不明确(在P1中P(z),在P3中V(z)),且与同步需求无关,属于错误逻辑。
3. P2的代码中缺少对信号量y的等待(应等待P2完成的通知),但学生代码中P2使用了P(x)等待P1完成,正确;但P3未等待P2完成(应使用P(...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发