1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第二章 进 程 管 理,第二章 进程管理,2.1 进程的基本概念,2.2 进程控制,2.3 进程同步,2.4 经典进程的同步问题,2.5 管程机制,2.6 进程通信,2.7 线程,第二章习题课,一、填空题,(1)对于一个可执行程序文件,该程序与执行它的进程是_的关系。,(2)在单CPU系统中实现并发技术后_。,A.进程在一个时间段内并行执行,CPU与外设并行工作。,B.进程在一个时刻并行执行,CPU与外设并行工作。,C.进程在一个时间段内并行执行,CPU与外设串行工作。,D.进程在一个时刻并行执行,CPU与
2、外设串行工作。,一对多,A,第二章习题课,一、填空题,(3)从静态角度上看,进程是由_、_、_三部分组成。,(4)正在执行的进程由于用完其时间片而被暂停执行,此时进程应从执行状态变成为_。,(5)引入进程,可带来_和_的好处,但却增加了系统的_和_开销。,(6)临界区是指进程中用于_的那段代码。,PCB,程序段,数据段,就绪状态,资源利用率的提高,系统吞吐量的增加,时间,空间,访问临界资源,第二章习题课,一、填空题,(7)_是一种只能由P和V操作所改变的整型变量,_可用于实现进程的_和_,_是指排他性地访问临界资源。,:A.控制变量B.整型信号量 C.记录型信号量,:A.同步B.通信C.调度
3、D.互斥,(8)设有6个进程共享同一互斥段,若最多允许有3个进程进入互斥段,则所采用的互斥信号量的初值为_。,B,D,A,3,第二章习题课,一、填空题,(9)有3个进程共享同一程序段,而每次最多允许两个进程进入该程序段,若用P、V操作作同步机制,则记录型信号量S的取值范围为_。,(10)为实现消息缓冲通信,在PCB中应增加_、_和_三个数据项。,(11)若记录型信号量S的初值为2,当前值为-1,则表示有_等待进程。,A.0个 B.1个 C.2个 D.3个,2,1,0,-1,消息队列首指针,消息队列互斥信号量,消息队列资源信号量,B,第二章习题课,一、填空题,(12)当_时,进程从执行状态转变为
4、就绪状态。,A.进程被调度程序选中B.有高优先级进程到来,C.等待某一事件 D.等待的事件发生,(13)在进程转换时,下列_转换是不可能发生的。,A.就绪态执行态B.执行态就绪态,C.执行态阻塞态 D.阻塞态执行态,B,D,第二章习题课,一、填空题,(14)下列各项工作步骤中,_不是创建进程所必须的步骤。,A.建立一个PCBC.为进程分配内存等必要资源,B.阻塞进程D.将PCB连接入进程就绪队列,(15)在操作系统中,死锁出现指的是_。,A.计算机发生了重大故障B.资源数远远少于进程数,C.若干进程因竞争资源而无限等待其他进程释放已占有的资源,D.进程同时申请的资源数超过资源总数,B,C,第二
5、章习题课,一、填空题,(16)下列关于进程的描述中,正确的是_。,A.进程获得CPU而运行是通过调度得到的。,B.优先级是进行进程调度的重要依据,一旦确定不能改变。,C.在单CPU系统中,任一时刻都有1个进程处于运行状态。,D.进程申请CPU得不到满足时,其状态变为等待状态。,(17)在直接通信方式中,系统通常提供的两条通信原语如下,请选择适当的参数填入。,Send(_,_);Receive(_,_);,A.SenderB.ReceiverC.text D.messageE.mailbox,A,B,D,A,D,第二章习题课,一、填空题,(18)下列原语中,能进行进程通信的原语是_。,A.挂起/
6、撤销B.创建/撤销C.P、V操作D.锁/开锁,(19)消息缓冲队列通信中的临界资源是_。,A.队列中的某个消息缓冲区B.整个消息缓冲队列,C.信箱D.管道,(20)处于执行状态中的进程若同时发生了下列两种情况:,(a),对某信号量执行P操作后,其结果为负;(b)时间片到了中断发生。则该进程将由执行状态变迁为_状态。,A.阻塞B.就绪C.阻塞或就绪D.不定,C,B,A,第二章习题课,二、应用题,1.设有无穷多个缓冲区和无穷多个信息,A进程把信息逐个的写入每个缓冲区,B进程则逐个地从缓冲区中取出信息。,试问:,(1)两个进程之间的制约关系;,(2)用P、V操作写出两进程的同步算法,并给出信号量的初
7、值;,(3)指出信号量的值的变化范围和其值的含义。,第二章习题课,二、应用题,1.设有无穷多个缓冲区和无穷多个信息,A进程把信息逐个的写入每个缓冲区,B进程则逐个地从缓冲区中取出信息。,试问:,(1)两个进程之间的制约关系;,B进程不能超前A进程,但A进程不受B进程的约束。,(2)用P、V操作写出两进程的同步算法,并给出信号量的初值;,第二章习题课,Var S:semaphore:=0;,begin,parbegin,process A:,begin,i:=0;,L:i:=i+1;,写入第i个缓冲区;,V(S);,goto L;,end,process B:,begin,j:=0;,M:j:=
8、j+1;,P(S);,读出第j个缓冲区信息;,goto M;,end,parend;,end,第二章习题课,二、应用题,1.设有无穷多个缓冲区和无穷多个信息,A进程把信息逐个的写入每个缓冲区,B进程则逐个地从缓冲区中取出信息。,试问:,(3)指出信号量的值的变化范围和其值的含义。,信号量S的值域为-1,中的整数,当S=-1时,表示缓冲区从未写入或B读空,且B要求进一步读出,也即B超前A欲读取信息。,第二章习题课,二、应用题,2.购物问题。某超级市场,可容纳100个人同时购物,入口处备有篮子,每个购物者可持一个篮子入内购物。出口处结账,并归还篮子(出、入口仅容纳一人通过)。请用P、V操作完成购物
9、同步算法。,Var S,mutex1,mutex2:semaphore;,S:=100;mutex1:=1;mutex2:=1,process Pi:,begin,P(S);,P(mutex1);,进入口处,取一只篮子;,V(mutex1);,选购商品;,P(mutex2);,结账,并归还篮子;,V(mutex2);,V(S);,end,第二章习题课,二、应用题,3.独木桥问题。某条河上只有一座独木桥,以便行人过河。现在河的两边都有人要过桥,按照下面的规则过桥。为了保证过桥安全,请用P、V操作分别实现正确的管理。,过桥的规则是:同一方向的可连续过桥,某方向有人过桥时另一方向的人要等待。,pro
10、cess(E-W)i:,begin,P(S1);,rc1:=rc1+1;,if rc1=1 then P(S);,V(S1);,过桥;,P(S1);,rc1:=rc1-1;,if rc1=0 then V(S);,V(S1);,end,Var S,S1,S2:semaphore;,rc1,rc2:integer;,S,S1,S2:=1;,rc1,rc2:=0;,process(W-E)j:,begin,P(S2);,rc2:=rc2+1;,if rc2=1 then P(S);,V(S2);,过桥;,P(S2);,rc2:=rc2-1;,if rc2=0 then V(S);,V(S2);,e
11、nd,第二章习题课,二、应用题,3.独木桥问题。某条河上只有一座独木桥,以便行人过河。现在河的两边都有人要过桥,按照下面的规则过桥。为了保证过桥安全,请用P、V操作分别实现正确的管理。,过桥的规则是:每次只有一个人通过桥。,process(E-W)i:,begin,P(mutex);,过桥;,V(mutex);,end,Var mutex:semaphore;,process(W-E)j:,begin,P(mutex);,过桥;,V(mutex);,end,4 爸爸擀饼,妈妈烙饼,面板上只能容纳两张擀好的饼,只有当面板上有空时,爸爸才能把擀好的饼放在面板上,只有当面板上有饼时,妈妈才能从面板上
12、取饼,试采用信号量机制实现爸爸与妈妈的同步。,第二章习题课,爸爸:,擀饼,wait(empty).,放饼,signal(full),妈妈:,wait(full),取饼,signal(empty),烙饼,解:设置两个信号量 var,empty,、,full:semaphore。,初始:可以放饼的空位置数,empty=2,已经放饼的位置数full=0,如何实现进程同步,1,、字体安装与设置,如果您对PPT模板中的字体风格不满意,可进行批量替换,一次性更改各页面字体。,在,“,开始”,选,项卡,中,,点击“,替,换”按,钮右,侧箭,头,,,选,择“,替,换,字,体,”。(如下,图),在图“替换”下拉列表中选择要更改字体。(如下图),在“替换为”下拉列表中选择替换字体。,点击“替换”按钮,完成。,19,2,、替换模板中的图片,模板中的图片展示页面,您可以根据需要替换这些图片,下面介绍两种替换方法。,方法一:更改图片,选中模版中的图,片,(,有些图片与其他,对象,进行了组合,,选,择,时,一定要选中图,片 本身,而不是组合)。,单击鼠标右键,选择“更改图片”,选择要替换的图片。(如下图),注意:,为防止替换图片发生变形,请使用与原图长宽比例相同的图片。,19,赠送精美图标,






