操作系统 第二章【进程管理】【MOOC答案】
目录
第1题
第2题
第3题
第4题
第1题
1 ( 20分 )1. 根据下面程序段包含的语句,画出它的前趋图。
int a,b,c,d,e;
int u,v,w,x,y,z;
S1: u = a+b;
S2: v = (c-d)*e;
S3: w = u+a;
S4: x = u-v;
S5: y = w*x;
S6: z = y/e;
第2题
2( 20分 )简述进程的定义与特征.
进程是程序在一个数据集合上的运行过程,是系统进行资源分配和处理机调度的独立单位。
进程的特征是:动态性,并发性,独立性,异步性。
结构特征:由程序段、数据集合和PCB三部分组成。
第3题
3 ( 20分 )1. 有没有这样的状态转换,为什么?
(1) 等待—>运行;
(2) 就绪—>等待
得分指导:
(1)没有。(4分)因为进程处于“等待”状态,表示该进程由于发生某事件导致其等待,只有当其锁等待的事件发生,欠缺的运行条件被满足,该进程才能转换成“就绪”状态,不能直接转化成“运行状态”。(6分)
(1)没有。(4分)因为进程处于“就绪”状态,表示该进程除了CPU之外的其他运行条件都已经具备,只有当其“运行”后才能转换为“等待”状态。(6分)
第4题
4 ( 40分 )1. 设有6个进程,其执行的先后流图如下图1所示。用wait、signal操作实现其同步。(提示,每次节点程序执行时,首先分析是否有前驱,如果有用wait操作;然后执行程序本身;最后看是否有后继,如果有用signal操作)。
图1
得分指导:
main(){
semaphore a,b,c,d,e,f,g;
a.value=b.value=c.value=d.value=e.value=f.value=0;
cobegin
P1(); P2(); P3(); P4(); P5(); P6();
coend
}
P1(){S1;signal(a);signal(b);sigan(c);}
P2(){wait(a);S2;signal(d);}
P3(){wait(b);S3;signal(e);}
P4(){wait(c);S4;signal(f);}
P5(){wait(d);wait(e);S5;signal(g);}
P6(){wait(f);wait(g);S6;}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

图1