(完整版)第三章进程同步与通信作业习题与答案
第三章 进程 习题

G,若系统中并发运行的进程和资源之间满足互斥使用,保持和等待,非剥夺性和循环等待,则可判定系统中发生了死锁;
H,在对付死锁的策略中,解除死锁通常都是和检测死锁配套使用;
I,产生死锁的原因可归结为竞争资源和进程推进顺序不当;
J,在死锁的解决方法中,由于避免死锁采用静态分配资源策略,所以对资源的利用率不高.
如果某一进程获得除CPU外的所有所需运行资源,经调度,分配给它CPU,该进程将进入( ).
A,就绪状态B,运行状态
C,等待状态D,活动状态
如果某一进程在运行时,因某种原因暂停,此时将脱离运行状态,而进入( ).
A,自由状态B,停止状态
C,等待状态D,静止状态
进程从运行状态变为等待状态的原因是( ).
A,共享资源B,临界区
C,临界资源D,共享区
答案-1:C
临界区是指( ).
A,并发进程中用于实现进程互斥的程序段
B,并发程序中用于实现进程同步的程序段
C,并发程序中用于实现进程通信的程序段
D,并发程序中与共享变量有关的程序段
答案-6:D
进程是( ).
A,与程序等效的概念B,并发环境中程序的执行过程
C,一个系统软件D,存放在内存中的程序
在进程通信中,使用信箱方式交换信息的是( ).
A,低级通信B,高级通信C,共享存储器通信D,管道通信
答案:B(普通)
关于进程,下列叙述不正确的是( ).
A,进程包含了数据和运行其上的程序
B,同一个程序运行在不同的数据集合上时,构成了不同的进程
C,一个被创建了的进程,在它消亡之前,总是处于3种基本状态之一
(×)2,具有多道功能的操作系统一定是多用户操作系统.
操作系统原理-第三章 进程管理作业 答案

第三章进程管理3.3习题3.3.1 选择最合适的答案1. UNIX操作系统的进程控制块中常驻内存的是()。
A.proc结构B.proc结构和核心栈C.ppda区D.proc结构和user结构2. 当()时,进程从执行状态转变为就绪状态。
A.进程被调度程序选中B.时间片到C.等待某一事件D.等待的事件发生3. 在进程状态转换时,下列()转换是不可能发生的。
A.就绪态→运行态B.运行态→就绪态C.运行态→阻塞态D.阻塞态→运行态4. 下列各项工作步骤中,()不是创建进程所必需的步骤。
A.建立一个PCBB.作业调度程序为进程分配CPUC.为进程分配内存等资源D. 将PCB链入进程就绪队列5. 下列关于进程的叙述中,正确的是()。
A.进程通过进程调度程序而获得CPU。
B.优先级是进行进程调度的重要依据,一旦确定不能改变。
C.在单CPU系统中,任一时刻都有1个进程处于运行状态。
D.进程申请CPU得不到满足时,其状态变为等待状态。
6. 从资源管理的角度看,进程调度属于()。
A.I/O管理B.文件管理C.处理机管理D.存储器管理7. 下列有可能导致一进程从运行变为就绪的事件是()。
A.一次I/O操作结束B.运行进程需作I/O操作C.运行进程结束D.出现了比现运行进程优先权更高的进程8. 一个进程释放一种资源将有可能导致一个或几个进程()。
A.由就绪变运行B.由运行变就绪C.由阻塞变运行D.由阻塞变就绪9. 一次I/O操作的结束,有可能导致()。
A.一个进程由睡眠变就绪B.几个进程由睡眠变就绪C.一个进程由睡眠变运行D.几个进程由睡眠变运行10. 当一个进程从CPU上退下来时,它的状态应变为()。
A.静止就绪B. 活动就绪C. 静止睡眠D. 活动睡眠11. 为使进程由活动就绪变为静止就绪,应利用()原语?A.SUSPENDB. ACTIVEC. BLOCKD. W AKEUP12. 在下面的叙述中,不正确的是()。
(完整版)操作系统第五版费祥林_课后习题答案解析参考

第一章操作系统概论1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。
如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少?答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。
由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故:CPU利用率=l-(80%)4 = 0.59若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87故增加IMB 内存使CPU 的利用率提高了47 % :87 %/59 %=147 %147 %-100 % = 47 %2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。
程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。
程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。
试说明(1 )两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。
答:画出两道程序并发执行图如下:(1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图中有色部分)(2)程序A 无等待现象,但程序B 有等待。
程序B 有等待时间段为180rns 至200ms 间(见图中有色部分)3 设有三道程序,按A 、B 、C优先次序运行,其内部计算和UO操作时间由图给出。
试画出按多道运行的时间关系图(忽略调度执行时间)。
完成三道程序共花多少时间?比单道运行节省了多少时间?若处理器调度程序每次进行程序转换化时lms , 试画出各程序状态转换的时间关系图。
计算机操作系统03进程的同步与通信

用TS实现进程互斥: repeat while TS(lock) do skip; critical section lock:=false; remainder section until false;
第三章 进程的同步与通信
2. 利用Swap指令实现互斥 Swap指令: procedure (var a,b:Boolean) var temp:Boolean; begin temp:=a; a:=b; b:=temp end
计算机操作系统
第三章 进程的同步与通信
教学目的与要求: 1.掌握进程同步、进程通信、资源、信号量等
基本概念 2.了解解决进程同步问题的软件方法和硬件方
法 3.能用信号量和管程解决简单进程同步问题 4.了解OS/2操作系统的进程同步与通信机制
第三章 进程的同步与通信
重点与难点:
1. 同步、通信、资源、信号量等基本概念
第三章 进程的同步与通信
2 临界资源的定义 临界资源是指并发进程之间在某段时间内同
时提出访问请求的互斥型资源。 例:在A进程正在访问打印机的时候,B进程也提
出对打印机的访问请求,则打印机为临界资源。应 互斥使用临界资源。
三.临界区 1 临界区的定义 是指进程中访问临界资源的那段代码
第三章 进程的同步与通信
第三章 进程的同步与通信
算法3:与算法2相似,只是在flag[i]=ture时表示进 程P[i]要求进入临界区,若此时无其它进程有此要求, 则进程P[i]可进入临界区。对于进程Pi repeat flag[i]:=true; while flag[j] do no_op critical section flag[i]:=false; remainder section until false 该算法的缺点:违背了空闲让进和有限等待原则
进程同步与通信作业习题与答案

第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。
A.管道B.管程C.通道2.以下_B__不是操作系统的进程通信手段。
A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。
4.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V操作管理时信号量S的可能取值是_C__。
,2,1,0,-1 ,1,0,-1,-2 C. 1,0,-1,-2,-3 ,3,2,1,05.下面有关进程的描述,是正确的__A__。
A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误、V操作不是原语操作6.信号灯可以用来实现进程之间的_B__。
A.调度B.同步与互斥C.同步D.互斥7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B__。
A.没有进程进入临界区B.有1个进程进入了临界区C. 有2个进程进入了临界区D. 有1个进程进入了临界区并且另一个进程正等待进入8. 信箱通信是一种_B__方式A.直接通信B.间接通信C.低级通信D.信号量9.以下关于临界区的说法,是正确的_C__。
A.对于临界区,最重要的是判断哪个进程先进入B.若进程A已进入临界区,而进程B的优先级高于进程A,则进程B可以打断进程A而自己进入临界区C. 信号量的初值非负,在其上只能做PV操作D.两个互斥进程在临界区内,对共享变量的操作是相同的10. 并发是指_C__。
A.可平行执行的进程B.可先后执行的进程C.可同时执行的进程D.不可中断的进程11. 临界区是_C__。
A.一个缓冲区B.一段数据区C.一段程序D.栈12.进程在处理机上执行,它们的关系是_C__。
A.进程之间无关,系统是封闭的B.进程之间相互依赖相互制约C.进程之间可能有关,也可能无关D.以上都不对13. 在消息缓冲通信中,消息队列是一种__A__资源。
计算机操作系统练习题及答案 第三章

计算机操作系统练习题及答案第三章单项选择1. 两个进程合作完成一项任务。
在并发执行中,一个进程要等待其合作伙伴发来消息,或建立某个条件后再运行,这种制约性合作关系被称为进程的—A—。
A.同步B.执行C.互斥D.调度2. 为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数据的方式进行,这种方式通常称为—C—。
A. 进程互斥B. 进程同步C. 进程通信D. 进程制约3. 除了因为资源不足,进程竞争资源可能出现死锁外,不适当的—C —也可能产生死锁。
A.进程优先权B.资源线性分配C.进程推进顺序D.分配队列优先权4. 除了可以采用资源剥夺法解除死锁外,还可以采用—C—方法解除死锁。
A.修改信号量B.拒绝分配新的资源C.撤消进程D.执行并行操作5. 资源的按序分配策略可以破坏—D—条件。
A. 互斥B. 请求与保持C. 不剥夺D. 环路等待6. 在—C—的情况下,系统出现死锁。
A. 计算机系统发生了重大故障B. 有多个阻塞的进程存在C. 若干个进程因竞争资源而无休止地相互等待他方释放已占有的资源D. 资源数远小于进程数或进程同时申请的资源数远超过资源总数7.某系统中有3个进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是—B—。
A.9B.10C.11D.128. 银行家算法是一种—B—算法。
A. 解除死锁B.避免死锁C. 预防死锁D. 检测死锁9. 在下列解决死锁的方法中,属于死锁预防策略的是—B—。
A. 银行家算法B. 资源有序分配C. 死锁检测法D. 资源分配图化简法10. 设有n个进程共用一个相同的程序段(临界区),如果每次最多允许m个进程(m≤n)同时进入临界区,则信号量的初值应为—B —。
A. nB. mC. m-nD. -m11.死锁定理是用于处理死锁的哪一种方法—C—。
A.预防死锁B.避免死锁C.检测死锁D.解除死锁12. AND信号量集机制是为了—C—。
第3章进程同步与通信练习题答案

第3章进程同步与通信练习题(一)单项选择题1. 临界区是指()。
A. 并发进程中用于实现进程互斥的程序段 B .并发进程中用于实现进程同步的程序段C并发进程中用户实现进程通信的程序段D•并发进程中与共享变量有关的程序段2.相关临界区是指()。
A. —个独占资源 B •并发进程中与共享变量有关的程序段C •一个共享资源D •并发进程中涉及相同变量的那些程序段3•管理若干进程共享某一资源的相关临界区应满足三个要求,其中()不考虑。
A —个进程可以抢占己分配给另一进程的资源B •任何进程不应该无限地逗留在它的临界区中C •一次最多让一个进程在临界区执行D •不能强迫一个进程无限地等待进入它的临界区4、()是只能由P和V操作所改变的整型变量。
A共享变量B •锁C整型信号量D •记录型信号量5 •对于整型信号量,在执行一次P操作时,信号量的值应()。
A.不变B •加1 C减1 D •减指定数值6. 在执行V操作时,当信号量的值()时,应释放一个等待该信号量的进程。
A>0 B.<0 C.>=0 D.<=07. PV 操作必须在屏蔽中断下执行,这种不可变中断的过程称为()。
A初始化程序B •原语C •子程序D控制模块8 •进程间的互斥与同步分别表示了各进程间的()。
A •竞争与协作B •相互独立与相互制约C •不同状态D •动态性与并发性9并发进程在访问共享资源时的基本关系为()。
A.相互独立与有交往的B •互斥与同步C并行执行与资源共享D信息传递与信息缓冲10 •在进程通信中,()常用信件交换信息。
A •低级通信B •高级通信C •消息通信D •管道通信11 •在间接通信时,用Send(N,M)原语发送信件,其中N表示()。
A.发送信件的进程名 B •接收信件的进程名C信箱名D •信件内容12 •下列对线程的描述中,()是错误的。
A不同的线程可执行相同的程序 B •线程是资源分配单位 C •线程是调度和执行单位D •同一进程中的线程可共享该进程的主存空间13 •实现进程互斥时,用()对应,对同一个信号量调用PV操作实现互斥。
操作系统课后习题答案 3 进程同步与通信

习题 3 进程同步与通信一、选择题题号1 2 3 4 5 6 7 8 9 10答案A D D C B C A B A A题号11 12答案D C二、综合题1、答:临界资源也称独占资源、互斥资源,它是指某段时间内只充许一个进程使用的资源。
比如打印机等硬件资源,以及只能互斥使用的变量、表格、队列等软件资源。
各个进程中访问临界资源的、必须互斥执行的程序代码段称为临界区,各进程中访问同一临界资源的程序代码段必须互斥执行。
为防止两个进程同时进入临界区,可采用软件解决方法或同步机构来协调它们。
但是,不论是软件算法还是同步机构都应遵循下述准则:①空闲让进。
②忙则等待。
③有限等待。
④让权等待。
2、答:忙等待意味着一个进程正在等待满足一个没有闲置处理器的严格循环的条件。
因为只有一个CPU 为多个进程服务,因此这种等待浪费了CPU 的时钟。
其他类型的等待:与忙等待需要占用处理器不同,另外一种等待则允许放弃处理器。
如进程阻塞自己并且等待在合适的时间被唤醒。
忙等可以采用更为有效的办法来避免。
例如:执行请求(类似于中断)机制以及PV 信号量机制,均可避免“忙等待”现象的发生。
3、答:在生产者—消费者问题中,Producer 进程中P(empty)和P(mutex)互换先后次序。
先执行P(mutex),假设成功,生产者进程获得对缓冲区的访问权,但如果此时缓冲池已满,没有空缓冲区可供其使用,后续的P(empty)原语没有通过,Producer 阻塞在信号量empty 上,而此时mutex 已被改为0,没有恢复成初值1。
切换到消费者进程后,Consumer 进程执行P(full)成功,但其执行P(mutex)时由于Producer 正在访问缓冲区,所以不成功,阻塞在信号量mutex 上。
生产者进程和消费者进程两者均无法继续执行,相互等待对方释放资源,会产生死锁。
在生产者和消费者进程中,V 操作的次序无关紧要,不会出现死锁现象。
(完整版)操作系统第3章习题带答案

第三章一、问答题1、用户级线程与内核级线程的区别是什么?2、PCB 中包含哪些信息?进程状态属于哪类信息?3、什么是操作系统的内核?4、简述时间片轮转调度算法的基本思想。
5、某系统采用时间片轮转调度算法的处理机调度算法,某个时刻根据用户要求创建了一个进程P,进程P 在其存在过程中依次经历了:进程调度选中了进程P 占用处理机运行,进程P 运行中提出资源申请,要求增加内存使用量,没有得到;进程等待一段时间后得到内存;进程调度再次选中了进程P 占用处理机运行;进程P 的时间片到;一段时间后,进程P 再次占用处理机;有紧急进程Q 进入,系统停止进程P 的运行,将处理机分配进程Q;进程Q 运行完,进程调度再次选中了进程P 占用处理机运行;进程P 运行完。
请分析进程P 在其整个生命过程中的状态变化。
进程调度选中了进程P 占用处理机运行(就绪→运行),进程P 运行中提出资源申请,要求增加内存使用量,没有得到(运行→阻塞);进程等待一段时间后得到内存(阻塞→就绪);进程调度再次选中了进程P 占用处理机运行(就绪→运行);进程P 的时间片到(运行→就绪);一段时间后,进程P 再次占用处理机(就绪→运行);有紧急进程Q 进入,系统停止进程P 的运行,将处理机分配进程Q(运行→就绪);进程Q 运行完,进程调度再次选中了进程P 占用处理机运行(就绪→运行);进程P 运行完。
请分析进程P 在其整个生命过程中的状态变化。
6、试比较进程与程序的异同。
7、引起创建进程的事件通常有哪些?简述进程的创建过程。
8、简述进程的阻塞过程。
910、进程控制块的作用是什么?它主要包括哪几部分内容?11、简述操作系统的三级调度。
12、为什么要了解进程间的家族关系?因为父进程和子进程之间是隶属关系,子进程可以继承使用父进程的资源;如果父进程被撤销,还应撤销其所有的子孙进程。
13、什么是进程?。
14、试比较进程和线程的区别。
15、简述进程的基本状态,画出其状态转换图。
第3章课后习题+进程同步与通信

售票大厅可容纳200
人购票,说明最多允 许200人共享售票大 厅,用信号量empty 表示,初值为200;
售票员一次只能为一 个购票者服务,说明 必须互斥地进行购票 ,用信号量mutex表 示,初值为1。
5. 进程之间的关系如图3-16所示,试用P、V操作描 述它们之间的同步。
A
S2 C
S1 B
S4 F D
答:同步关系;因为一个工序必须在前一个工序完成后才能开始, 他们必须相互协作才能使进程圆满完成。
(4)商品的入库出库。
答:同步关系;因为商品出库可以为入库提供空间。
(5)工人做工与农民种粮。
答:没有制约关系。
4. 设有一个售票大厅,可容纳200人购票。如果厅 内不足200人则允许进入,超过则在厅外等候; 售票员某时只能给一个购票者服务,购票者买完 票后就离开。试问:
(1)购票者之间是同步关系还是互斥关系?
答:互斥关系。只能有一个人获得售票员的服务。
(2)用P、V操作描述购票者的工作过程。
semaphore empty=200; semaphore mutex=1;
void buyer() { P(empty);
P(mutex); 买票; V(mutex); V(empty); }
wait(mutexB); if (countB==0) wait(mutex);
countB++; signal(mutexB);
过桥;
wait(mutexB); countB--;
if (countB==0) signal(mutex); signal(mutexB); }
S3
S5
E
S6 G
semaphore A,B,C,D,E,F,G=0,0,0,0,0,0,0; P1( ){S1;V(A);V(B);} P2( ){P(A);S2;V(C);} P3( ){P(B);S3;V(D);V(E);} P4( ){P(D);S4;V(F);} P5( ){P(E);S5;V(G);} P6( ){P(C);P(F);P(G);S6;}
计算机操作系统(第3版)课后习题答案(完整版)

4
1 1.试说明引起进程创建的主要事件。 答:引起进程创建的主要事件有:用户登录、作业调度、提供服务、应用请求。 1 2.试说明引起进程被撤销的主要事件。 答:引起进程被撤销的主要事件有:正常结束、异常结束(越界错误、保护错、非法指令、 特权指令错、运行超时、等待超时、算术运算错、I/O 故障)、外界干预(操作员或操作 系 统干预、父进程请求、父进程终止)。 1 3.在创建一个进程时所要完成的主要工作是什么? 答: (1)OS 发现请求创建新进程事件后,调用进程创建原语Creat(); (2)申请空白PCB; (3)为新进程分配资源; (4)初始化进程控制块; (5)将新进程插入就绪队列. 1 4.在撤销一个进程时所要完成的主要工作是什么? 答: (1)根据被终止进程标识符,从PCB 集中检索出进程PCB,读出该进程状态。 (2)若被终止进程处于执行状态,立即终止该进程的执行,置调度标志真,指示该进程被 终止后重新调度。 (3)若该进程还有子进程,应将所有子孙进程终止,以防它们成为不可控进程。 (4)将被终止进程拥有的全部资源,归还给父进程,或归还给系统。 (5)将被终止进程PCB 从所在队列或列表中移出,等待其它程序搜集信息。 1 5.试说明引起进程阻塞或被唤醒的主要事件是什么? 答:a. 请求系统服务;b. 启动某种操作;c. 新数据尚未到达;d. 无新工作可做. 1 6.进程在运行时存在哪两种形式的制约?并举例说明之。 答: (1)间接相互制约关系。举例:有两进程A 和B,如果A 提出打印请求,系统已把唯一的 一台打印机分配给了进程B,则进程A 只能阻塞;一旦B 释放打印机,A 才由阻塞改为就 绪。 (2)直接相互制约关系。举例:有输入进程A 通过单缓冲向进程B 提供数据。当缓冲空时, 计算进程因不能获得所需数据而阻塞,当进程A 把数据输入缓冲区后,便唤醒进程B;反 之,当缓冲区已满时,进程A 因没有缓冲区放数据而阻塞,进程B 将缓冲区数据取走后便 唤醒A。 1 7.为什么进程在进入临界区之前应先执行 “进入区”代码?而在退出前又要执行 “退出 区”代码? 答:为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问 的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问, 并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码为" 进入区"代码;在退出临界区后,必须执行" 退出区"代码,用于恢复未被访问标志,使其它 进程能再访问此临界资源。 18. 同步机构应遵循哪些基本准则?为什么? 答:同步机构应遵循的基本准则是:空闲让进、忙则等待、有限等待、让权等待 原因:为实现进程互斥进入自己的临界区。 19. 试从物理概念上说明记录型信号量wait 和signal。
第3章 计算机操作系统答案 进程管理试题答案

C
B
B
A
C
C
B
A
D
B
题号
91
92
93
94
95
96
97
98
99
答案
B
C
D
C
D
B
A
A
C
二、填空题参考答案
题号
答案
1
前后次序相继、静态
2
顺序执行、并发执行
3
顺序性、可再Leabharlann 性4资源共享性5
提高资源利用率
6
资源的有限性
7
独立的、异步的
8
程序并发执行、系统所拥有的资源被共享、用户随即地使用系统的资源
9
并发执行、动态执行
49
信号量、中断
50
S<=0
51
进程间的同步
52
合作进程
53
消息、事件
54
信号量
55
私有信号量
56
公用信号量
57
P,V原语
58
直接制约
59
生产者-消费者
60
硬件、软件
61
消费者、生产者
62
任意次序、死锁
63
直接制约
64
开始执行、等待状态
65
邮箱头
66
消息
67
服务进程
68
互斥执行
69
平等
70
控制信息的传送、大批量数据传送
35
资源、PCB结构
36
就绪、执行
37
阻塞、唤醒
38
中断处理机、保存现场
39
系统进程、事件发生进程
3进程同步与通信习题

解:设三个信号量, S:表示盘子是否为空,初值为1 So:表示盘中是否有桔子,初值为0 Sa:表示盘中是否有苹果,初值为0;
int s=1; int sa=0; int so=0;
main() {
Cobegin
father( );
son( );
daughter( );
Coend
}
2020/6/6
PA( ) { While (1) { 从磁盘读一个记录;
P(empty1); 将记录存入缓冲区1; V(full1);}} PB( ) { While (1) { P(full1); 从缓冲区1中取出记录; v(empty1); P(empty2); 将记录存入缓冲区2; 2020/6/6 V(full2);}}
进程同步习题
1、有3个进程PA,PB和PC合作解决文件打印问题 : – PA将文件记录从磁盘读入主存的缓冲区1,每执 行一次读一个记录; – PB将缓冲区1的内容复制到缓冲区2,每执行一 次复制一个记录; – PC将缓冲区2的内容打印出来,每执行一次打印 一个记录。缓冲区的大小等于一个记录大小。 请用P,V操作来保证文件的正确打印。。
Busman( )
{ While (1) { 关车门; V(S1); 售票 P(S2); 开车门; 上下乘 客;}}
3、桌上有一空盘,允许存放一只水果。爸爸可向 盘中放苹果,也可向盘中放桔子,儿子专等吃盘中 的桔子,女儿专等吃盘中的苹果。规定当盘空时一 次只能放一只水果供吃者取用,请用P,V原语实 现爸爸,儿子女儿三个进程的同步。
PC( ) {While (1) {P(full2); 从缓冲区2取一个记录;
V(empty2); 打印记录;}}
习题解答——第3章 进程同步与通信

第3章进程同步与通信6.有三个并发执行的进程A、B和C,A负责输入信息到缓冲区,B负责加工输入到缓冲区中的数据,C负责将加工后的数据打印输出。
在下列情况下:(1)单缓冲区。
(2)由N个缓冲区组成的缓冲池。
分别写出三个进程的并发关系。
答:(1)semaphore S1=1,S2=S3=0A: B: C:while(1) { while(1) { while(1) {P(S1); P(S2); P(S3);输入信息到缓冲区; 加工缓冲区中数据; 输出缓冲区中数据;V(S2); V(S3); V(S1);} } }(2)semaphore S1=N;semaphore S2=0,S3=0;semaphore mutex=1;int i.,j,k;ITEM buffer[N];ITEM data_i,data_o;A: B: C:while(1) { while(1) { while(1) {P(S1); P(S2); P(S3);P(mutex) ;P(mutex) ;P(mutex);输入数据data_i; data_o= buffer[k];buffer[i]=data_i; 处理中buffer[j]的数据k=(k+1)%N;i=(i+1)%N; j=(j+1)%N; 输出data_o;V(mutex); V(mutex); V(mutex) ;V(S2); V(S3); V(S1);} } }7.三个并发执行的进程A、B和C,A与B共享缓冲区M,B与C共享缓冲区N,如图所示:假如缓冲区的大小只能存放一个单位的数据,试写出A、B、C三个进程的同步关系。
答:semaphore S1=M;S3=N;semaphore S2=0,S4=0;semaphore mutex=1;int i.,j,k,l;ITEM buffer1[M];ITEM buffer2[N];ITEM data_i,data_o;A: B: C:while (1) { while (1) { while (1) {P(S1); P(S2); P(S4);P(mutex); P(mutex) ;P(mutex);输入数据data_i; data_o=buffer1[j]; data_o= buffer[l];buffer1[i]=data-i; j=(j+1)%M; l=(l+1)%N;i=(i+1)%M; V(mutex); 输出data_o;V(mutex); V(S1); V(mutex);V(S2); P(S3) V(S3);} P(mutex); }buffer2[k]=data_o;k=(k+1)%N;V(mutex);V(S4)}9.设有两个优先级相同的进程P1,P2如下,令信号量S1、S2的初值为0,已知z=2,试问P1、P2并发运行结束后x=?y=?z=?进程P1 进程P2y: =1;x:=1;y:=y+2 ;x:=x+1;V(S1);P(S1);z:=y+1;x:=x+y;P(S2);V(S2);y:=z+y;z:=x+z;解答:由题意可知执行顺序存在如下5种情况:z:=y+1----→ x:=x+y----→ y:=z+y----→ z:=x+z ……z:=y+1----→ x:=x+y----→ z:=x+z----→ y:=z+y ……x:=x+y----→ z:=y+1 ----→ z:=x+z----→ y:=z+y ……x:=x+y----→ z:=y+1 ----→ y:=z+y----→ z:=x+z ……x:=x+y----→ z:=x+z ----→ z:=y+1----→ y:=z+y ……和的结果为:x=5,y=7,z=9;和结果为:X=5,y=12,z=9;的结果为:x=5,y=7,z=4;*10.有一个隧道,由于很窄,只能容纳一个方向的车辆通过。
操作系统第3章(进程的同步与通信习题与解答)

第3章进程的同步与通信习题与解答3.2 例题解析例3.2.1 多道程序系统程序的执行失去了封闭性和再现性,因此多道程序的执行不需要这些特性,这种说法是否正确?解这种说法不正确。
可以想象,如果一个程序在多道程序系统中,在相同的输入的情况下,多次执行所得结果是不同的,有谁还敢使用这个程序?因此,多道程序的执行也需要封闭性和再现性,只不过单道程序系统的封闭性和再现性是先天固有的,多道程序系统的程序执行要想获得封闭性和再现性,需通过程序员的精心设计才能得到。
所使用的方法就是同步和互斥的方法。
例3.2.2 多个进程对信号量S进行了5次 P操作,2次V操作后,现在信号量的值是 -3,与信号量S相关的处于阻塞状态的进程有几个?信号量的初值是多少?解(1) 因为S的当前值是-3,因此因为S处于阻塞状态的进程有3个;(2) 因为每进行一次P(S)操作,S的值都减1,每执行1次V操作S的值加1,故信号量的初值为-3+5-2=0;例3.2.3 如下锁的实现方法存在什么缺点?如何改进?LOCK(X) UNLOCK(X){ {do while X=1 ; X=0;X=1} }解存在的缺点是:当锁是关闭时,采用的是循环等待的方法,这样的等待还是要占用处理机的时间,应该采用阻塞等待的方法。
改进的锁实现如下:LOCK(X) UNLOCK(X){ {if X.value=1 if not empty(X.L) { insert( *, X.L); { P=remove(X.L);Block (*) Wakeup(P) } }else X.Value=1 else X.Value=0} }这里X.value是锁的值,X.L是存放由于锁X而阻塞的进程的队列。
insert( *, X.L)将当前进程的进程号插入到X.L,remove(X.L)是从X.L中移出一个进程号。
例3.2.4 使用多个进程计算Y=F1(X)+F2 (X).解(1) 确定并发和顺序操作在这个问题中,F1(X)和F2 (X)的计算是可以并行处理的,因此F1(X)和F2 (X)可以分别出现在两个进程中。
最新3进程同步与通信习题

解:设三个信号量, S:表示盘子是否为空,初值为1 So:表示盘中是否有桔子,初值为0 Sa:表示盘中是否有苹果,初值为0;
int s=1; int sa=0; int so=0; main() { Cobegin
father( ); son( ); daughter( ); Coend }
father( ) { While (1) { P(S); 将水果放入盘中; If (放入的是桔子) v(So); Else v(Sa); }}
son( ) { While (1) { P(So); 从盘中取出桔子; v(S); 吃桔子; } }
daughter( ) { While (1) { P(Sa); 从盘中取出苹果; v(S); 吃苹果; } }
此课件下载可自行编辑修改,仅供参考! 感谢您的支持,我们努力做得更好!谢谢
解:设信号量S1:是否允许司机启动汽车,初值为0 信号量S2:是否允许售票员开门,初值为0
int s1=0; int s2=0; main( ) { Cobegin
Driver(); Busman(); Coend }
Driver( ) { While (1) {
P(s1); 启动汽车 正常行车; 到站停车; V(S2); }}
3进程同步与通信习题
PA( ) { While (1) { 从磁盘读一个记录;
P(empty1); 将记录存入缓冲区1; V(full1);}} PB( ) { While (1) { P(full1); 从缓冲区1中取出记录; v(empty1); P(empty2); 将记录存入缓冲区2; V(full2);}}
Busman( )
{ While (1) { 关车门; V(S1); 售票 P(S2); 开车门; 上下乘 客;}}
第三章 进程同步问题习题答案

进程同步练习1.有一阅览室,共有100个座位。
读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名。
读者离开时要消掉登记内容。
试用P、V操作描述读者进程的同步结构。
varmutex : semaphere;信号量,用于互斥full : semaphere; 信号量,用于同步table : array 0..n-1 of item; 登记表procedure reader;读者进程beginP(full);P(mutex);Register_name(table);V(mutex);Reading;P(mutex);Delet_name(table);V(mutex);V(full)end;beginseminitsal(mutex.v,1; full.v,100);初始化cobeginreader;reader;...coendend.2.设公共汽车上有一位司机和一位售票员,它们的活动如下:售票员:动车辆售票正常行车开车门到站停车关车门请分析司机与售票员之间的同步关系,如何用PV操作实现。
答:为了安全起见,显然要求:关车门后才能启动车辆;到站停车后才能开车门。
所以司机和售票员在到站、开门、关门、启动车辆这几个活动之间存在着同步关系。
用两个信号量S1、S2分别表示可以开车和可以开门,S1的初值为1,S2的初值为0。
用PV操作实现司机进程和售票员进程同步的算法描述如下:售票员:(S1)售票动车辆P(S2)正常行车开车门到站停车关车门V(S2)V(S1)另外,程序中PV操作出现的顺序与信号量的初值设置有关,以本题为例,算法如下描述时,S1、S2的初值均应为0。
售票员:常行车售票站停车P(S2)V(S2)开车门P(S1)关车门启动车辆V(S1)。
操作系统进程通信练习及答案

进程同步与通信练习题(一)单项选择题1.临界区是指(D)。
A.并发进程中用于实现进程互斥的程序段 B.并发进程中用于实现进程同步的程序段 C.并发进程中用户实现进程通信的程序段 D.并发进程中与共享变量有关的程序段2.相关临界区是指(D )。
A.一个独占资源 B.并发进程中与共享变量有关的程序段 c.一个共享资源 D.并发进程中涉及相同变量的那些程序段3.管理若干进程共享某一资源的相关临界区应满足三个要求,其中(A)不考虑。
A一个进程可以抢占己分配给另一进程的资源 B.任何进程不应该无限地逗留在它的临界区中 c.一次最多让一个进程在临界区执行 D.不能强迫一个进程无限地等待进入它的临界区4、(C)是只能由P和v操作所改变的整型变量。
A共享变量 B.锁 c整型信号量 D.记录型信号量5.对于整型信号量,在执行一次P操作时,信号量的值应(C)。
A.不变 B.加1 C减1 D.减指定数值6.在执行v操作时,当信号量的值(D )时,应释放一个等待该信号量的进程。
A>0 B.<0 c.>=0 D.<=0 这道题目问的是:使用v操作之前的情况。
即,若S信号量的值大于0则释放一个等待该信号量的进程,所以S的值小于等于0的时候才需要通过V操作实现释放一个等待该信号量的进程7.Pv操作必须在屏蔽中断下执行,这种不可变中断的过程称为(B)。
A初始化程序 B.原语c.子程序 D控制模块8.进程间的互斥与同步分别表示了各进程间的(A)。
A.竞争(互斥时竞争资源)与协作(同步时共同完成一个任务) B.相互独立与相互制约 c.不同状态 D.动态性与并发性9并发进程在访问共享资源时的基本关系为(B)。
A.相互独立与有交往的 B.互斥与同步 c 并行执行与资源共享 D信息传递与信息缓冲10.在进程通信中,(B)常用信件(信件在信箱中,信箱属于高级通信)交换信息。
A.低级通信 B.高级通信 c.消息通信 D.管道通信11.在间接通信时,用send(N,M)原语发送信件,其中N表示(C)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。
A.管道B.管程C.通道D.DMA2.以下_B__不是操作系统的进程通信手段。
A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。
A.3B.2C.1D.04.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V 操作管理时信号量S的可能取值是_C__。
A.3,2,1,0,-1B.2,1,0,-1,-2C. 1,0,-1,-2,-3D.4,3,2,1,05.下面有关进程的描述,是正确的__A__。
A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误D.P、V操作不是原语操作6.信号灯可以用来实现进程之间的_B__。
A.调度B.同步与互斥C.同步D.互斥7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B_ _。
A.没有进程进入临界区B.有1个进程进入了临界区C. 有2个进程进入了临界区D. 有1个进程进入了临界区并且另一个进程正等待进入8. 信箱通信是一种_B__方式A.直接通信B.间接通信C.低级通信D.信号量9.以下关于临界区的说法,是正确的_C__。
A.对于临界区,最重要的是判断哪个进程先进入B.若进程A已进入临界区,而进程B的优先级高于进程A,则进程B可以打断进程A而自己进入临界区C. 信号量的初值非负,在其上只能做PV操作D.两个互斥进程在临界区内,对共享变量的操作是相同的10. 并发是指_C__。
A.可平行执行的进程B.可先后执行的进程C.可同时执行的进程D.不可中断的进程11. 临界区是_C__。
A.一个缓冲区B.一段数据区C.一段程序D.栈12.进程在处理机上执行,它们的关系是_C__。
A.进程之间无关,系统是封闭的B.进程之间相互依赖相互制约C.进程之间可能有关,也可能无关D.以上都不对13. 在消息缓冲通信中,消息队列是一种__A__资源。
A.临界B.共享C.永久D.可剥夺14. 以下关于P、V操作的描述正确的是__D_。
A.机器指令B. 系统调用C.高级通信原语D.低级通信原语15.当对信号量进行V源语操作之后,_C__。
A.当S<0,进程继续执行B.当S>0,要唤醒一个就绪进程C. 当S<= 0,要唤醒一个阻塞进程D.当S<=0,要唤醒一个就绪16.对临界区的正确论述是__D_。
A.临界区是指进程中用于实现进程互斥的那段代码B. 临界区是指进程中用于实现进程同步的那段代码C. 临界区是指进程中用于实现进程通信的那段代码D. 临界区是指进程中访问临界资源的那段代码17. __A__不是进程之间的通信方式。
A.过程调用B.消息传递C.共享存储器D.信箱通信18. 同步是指进程之间逻辑上的__A__关系。
A.制约B.调用C.连接D.排斥19.正在运行的进程在信号量S上作P操作之后,当S<0,进程将进入信号量的__ A__。
A.阻塞队列B.提交队列C.后备队列D.就绪队列20.某个信号量S初值为3,当前值为-2,则等待在该信号量上的进程数为_B__个。
A.1B.2C.3D.521.管理若干进程共享某一资源的相关临界区应满足三个要求,其中__A__不考虑。
A一个进程可以抢占己分配给另一进程的资源B.任何进程不应该无限地逗留在它的临界区中C.一次最多让一个进程在临界区执行D.不能强迫一个进程无限地等待进入它的临界区22、_C__是只能由P和v操作所改变的整型变量。
A共享变量 B.锁 C.整型信号量 D.记录型信号量23.对于整型信号量,在执行一次P操作时,信号量的值应_C__。
A.不变 B.加1 C减1 D.减指定数值24.在执行v操作时,当信号量的值__D_时,应释放一个等待该信号量的进程。
A>0 B.<0 c.>=0 D.<=025.Pv操作必须在屏蔽中断下执行,这种不可变中断的过程称为_B__。
A初始化程序 B.原语 c.子程序 D控制模块26.进程间的互斥与同步分别表示了各进程间的__A__。
A.竞争与协作 B.相互独立与相互制约 c.不同状态 D.动态性与并发性27.并发进程在访问共享资源时的基本关系为_B__。
A.相互独立与有交往的 B.互斥与同步 C并行执行与资源共享 D信息传递与信息缓冲28.在进程通信中,_B__常用信件交换信息。
A.低级通信 B.高级通信 C.消息通信 D.管道通信29.在间接通信时,用send(N,M)原语发送信件,其中N表示_C__。
A.发送信件的进程名 B.接收信件的进程名 C.信箱名D.信件内容30.实现进程互斥时,用_C__对应,对同一个信号量调用Pv操作实现互斥。
A.一个信号量与一个临界区 B.一个信号量与—个相关临界区C.一个信号量与一组相关临界区 D.一个信号量与一个消息31.实现进程同步时,每一个消息与一个信号量对应,进程__D_可把不同的消息发送出去。
A.在同一信号量上调用P操作 B在不同信号量上调用P操作C.在同一信号量上调用v操作 D.在不同信号量上调用v操作32.临界区是指__D_。
A.并发进程中用于实现进程互斥的程序段B.并发进程中用于实现进程同步的程序段C.并发进程中用户实现进程通信的程序段D.并发进程中与共享变量有关的程序段33.相关临界区是指__D_。
A.一个独占资源 B.并发进程中与共享变量有关的程序段C.一个共享资源 D.并发进程中涉及相同变量的那些程序段34.P、V操作是__A__。
A.两条低级进程通信原语 B.两组不同的机器指令C.两条系统调用命令 D.两条高级进程通信原语35.对进程的管理和控制使用_B__。
A.指令 B.原语 C.信号量 D.信箱通信36.用P、V操作管理临界区时,信号量的初值应定义为_C__。
A.一1 B.0 C.1 D.任意值37.用V操作唤醒一个等待进程时,被唤醒进程的状态变为_B__。
A.等待 B.就绪 C.运行 D.完成38.进程间的同步是指进程间在逻辑上的相互_B__关系。
A.联接 B.制约 C. 继续 D.调用39.__D_是一种只能进行P操作和V操作的特殊变量。
A.调度 B.进程 C.同步 D.信号量40.用P、V操作可以解决__A__互斥问题。
A.一切 B.某些 C.正确 D.错误41.对于两个并发进程,设互斥信号量为mutex,若mutex=0,则_B__。
A.表示没有进程进入临界区B.表示有一个进程进入临界区C.表示有一个进程进入临界区,另一个进程等待进入D.表示有两个进程进入临界区42.两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程的__A__。
A.同步 B.互斥 C.调度 D.执行43.为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数据的方式进行,这种方式称为__D_。
A.进程互斥 B.进程同步 C.进程制约 D.进程通信44.两个进程合作完成一项任务。
在并发执行中,一个进程要等待其合作伙伴发来消息,或建立某个条件后再运行,这种制约性合作关系被称为进__A__。
A.同步B.执行C.互斥D.调度45.为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数据的方式进行,这种方式通常称为_C__。
A. 进程互斥B. 进程同步C. 进程通信D. 进程制约46.不是信号量能实现的功能是__D_。
A.进程同步B.进程互斥C.执行的前趋关系D.进程的并发执行47. 若P、V操作的信号量S初值为2,当前值为-1,则表示有_B__等待进程。
A.0个B.1个C.2个D.3个48.在进程通信中,常_C__通过变量、数组形式来实现。
A.高级通信B.消息通信C.低级通信D.管道通信49.管道通信是以_B__ 进行写入和读出。
A.消息为单位B.自然字符流C.文件D.报文50.进程间的基本关系为_B__。
A.相互独立与相互制约B.同步与互斥C.行执行与资源共享D.信息传递与信息缓冲二.填空题(50空)1. 进程的_顺序性_____是指进程在顺序处理器上的执行是按顺序进行的。
2.当一个进程独占处理器顺序执行时,具有__封闭性____和__可再现件____两个特性。
3.进程的封闭性是指进程的执行结果只取决于__进程本身____,不受外界影响。
4. 进程的可再现性是指当进程再次重复执行时,必定获得___相同___的结果。
5.一个进程的工作在没有全部完成之前,另一个进程就可以开始工作,则称这些进程为__可同时执行的___.6.临界区是指并发进程中与__共享变量____有关的程序段。
7.__相关临界区____是指并发进程中涉及到相同变量的那些程序段。
8.只要涉及相同变量的若干进程的相关临界区__互斥执行____,就不会造成与时间有关的错误。
9.进程的___互斥___是指当有若干进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用。
10.Pv操作是在一个信号量上进行的__不可被中断____的过程,这种过程也称为__原语___。
11.利用P、v操作管理相关临界区时,必须成对出现,在进入临界区之前要调用__ P操作____,在完成临界区操作后要调用__ v操作____。
12.进程的___同步___是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息。
13. __同步机制____能把它进程需要的消息发送出去,也能测试自己需要的消息是否到达。
14.P、v操作不仅是实现___进程互斥___的有效工具,而且也是一种简单而方便的___同步___工具。
15.用P、v操作实现进程同步时,调用___P操作___ 测试消息是否到达,调用__ v操作____发送消息。
24.用P、v操作实现生产者消费者之间的同步时,在访问共享缓冲区的__前__ __和__后____分别调动P操作和v操作。
16.进程的互斥实际上是进程__同步____的一种持殊情况。
17.进程的互斥是进程间___竞争___共享资源的使用权,其结果没有__固定的必然关系____,而进程的同步则在共享资源的并发进程之间有一种__必然的___ _依赖关系。
18.Pv操作也可看作为进程间的一种通信方式,由于只交换了少量的信息,故称为__低级通信方式 ____19.通过专门的通信机制实现进程间交换大量信息的通信方式称为__进程通信_ ___。
20.采用高级通信方式时,进程间用__信件____来交换信息。
21.最基本的通信原语有两条,它们是__ send ____原语和___ receive___原语。