《操作系统第二章习题.ppt》由会员分享,可在线阅读,更多相关《操作系统第二章习题.ppt(18页珍藏版)》请在三一办公上搜索。
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与外设串行工作。,一对多,A,第二章习题课,一、填空题(3)从静态角度上看,进程是由_、_、_三部分组成。(4)正在执行的进程
2、由于用完其时间片而被暂停执行,此时进程应从执行状态变成为_。(5)引入进程,可带来_和_的好处,但却增加了系统的_和_开销。(6)临界区是指进程中用于_的那段代码。,PCB,程序段,数据段,就绪状态,资源利用率的提高,系统吞吐量的增加,时间,空间,访问临界资源,第二章习题课,一、填空题(7)_是一种只能由P和V操作所改变的整型变量,_可用于实现进程的_和_,_是指排他性地访问临界资源。:A.控制变量B.整型信号量 C.记录型信号量,:A.同步B.通信C.调度 D.互斥(8)设有6个进程共享同一互斥段,若最多允许有3个进程进入互斥段,则所采用的互斥信号量的初值为_。,B,D,A,3,第二章习题课
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)当_时,进程从执行状态转变为就绪状态。A.进程被调度程序选中B.有高优先级进程到来C.等待某一事件 D.等待的事件发生(13)在进程转换时,下列_转换是不可能发生的。A.就绪态
4、执行态B.执行态就绪态C.执行态阻塞态 D.阻塞态执行态,B,D,第二章习题课,一、填空题(14)下列各项工作步骤中,_不是创建进程所必须的步骤。A.建立一个PCBC.为进程分配内存等必要资源B.阻塞进程D.将PCB连接入进程就绪队列(15)在操作系统中,死锁出现指的是_。A.计算机发生了重大故障B.资源数远远少于进程数C.若干进程因竞争资源而无限等待其他进程释放已占有的资源D.进程同时申请的资源数超过资源总数,B,C,第二章习题课,一、填空题(16)下列关于进程的描述中,正确的是_。A.进程获得CPU而运行是通过调度得到的。B.优先级是进行进程调度的重要依据,一旦确定不能改变。C.在单CPU
5、系统中,任一时刻都有1个进程处于运行状态。D.进程申请CPU得不到满足时,其状态变为等待状态。(17)在直接通信方式中,系统通常提供的两条通信原语如下,请选择适当的参数填入。Send(_,_);Receive(_,_);A.SenderB.ReceiverC.text D.messageE.mailbox,A,B,D,A,D,第二章习题课,一、填空题(18)下列原语中,能进行进程通信的原语是_。A.挂起/撤销B.创建/撤销C.P、V操作D.锁/开锁(19)消息缓冲队列通信中的临界资源是_。A.队列中的某个消息缓冲区B.整个消息缓冲队列C.信箱D.管道(20)处于执行状态中的进程若同时发生了下列
6、两种情况:(a)对某信号量执行P操作后,其结果为负;(b)时间片到了中断发生。则该进程将由执行状态变迁为_状态。A.阻塞B.就绪C.阻塞或就绪D.不定,C,B,A,第二章习题课,二、应用题1.设有无穷多个缓冲区和无穷多个信息,A进程把信息逐个的写入每个缓冲区,B进程则逐个地从缓冲区中取出信息。试问:(1)两个进程之间的制约关系;(2)用P、V操作写出两进程的同步算法,并给出信号量的初值;(3)指出信号量的值的变化范围和其值的含义。,第二章习题课,二、应用题1.设有无穷多个缓冲区和无穷多个信息,A进程把信息逐个的写入每个缓冲区,B进程则逐个地从缓冲区中取出信息。试问:(1)两个进程之间的制约关系
7、;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:=j+1;P(S);读出第j个缓冲区信息;goto M;end parend;end,第二章习题课,二、应用题1.设有无穷多个缓冲区和无穷多个信息,A进程把信息逐个的写入每个缓冲区,B进程则逐个地从缓冲区中取出信息。试问:(3)指出信号量的值的变
8、化范围和其值的含义。信号量S的值域为-1,中的整数,当S=-1时,表示缓冲区从未写入或B读空,且B要求进一步读出,也即B超前A欲读取信息。,第二章习题课,二、应用题2.购物问题。某超级市场,可容纳100个人同时购物,入口处备有篮子,每个购物者可持一个篮子入内购物。出口处结账,并归还篮子(出、入口仅容纳一人通过)。请用P、V操作完成购物同步算法。,Var S,mutex1,mutex2:semaphore;S:=100;mutex1:=1;mutex2:=1 process Pi:begin P(S);P(mutex1);进入口处,取一只篮子;V(mutex1);选购商品;P(mutex2);结
9、账,并归还篮子;V(mutex2);V(S);end,第二章习题课,二、应用题3.独木桥问题。某条河上只有一座独木桥,以便行人过河。现在河的两边都有人要过桥,按照下面的规则过桥。为了保证过桥安全,请用P、V操作分别实现正确的管理。过桥的规则是:同一方向的可连续过桥,某方向有人过桥时另一方向的人要等待。,process(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
10、;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);end,第二章习题课,二、应用题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 爸爸擀饼,妈妈烙饼,面板上只能容纳两张擀好的饼,只有当面板上有空时,爸爸才能把擀好的饼放在面板上,只有当面板上有饼时,妈妈才能从面板上取饼,试采用信号量机制实现爸爸与妈妈的同步。,第二章习题课,爸爸:擀饼 wait(empty).放饼 signal(full),妈妈:wait(full)取饼 signal(empty)烙饼,解:设置两个信号量 var empty、full:semaphore。初始:可以放饼的空位置数empty=2,已经放饼的位置数full=0,如何实现进程同步,