第三章进程同步问题习题答案
第三章进程管理4(同步和互斥1)
![第三章进程管理4(同步和互斥1)](https://img.taocdn.com/s3/m/05054946b307e87101f6962d.png)
1
进 程 管 理
执行
挂起
激活 活动就绪 挂起 释放 激活 活动阻塞 静止阻塞 释放 静止就绪
挂起
2
进 程 管 理
创建和撤销 阻塞和唤醒 挂起和激活
3
进 程 管 理
3.5 进程的同步与互斥
进程的同步和互斥机制的主要任务:控 制并发执行的诸进程之间能有效地共享 和相互协作,同时使并发执行的程序仍 具有可再现性。 进程互斥 进程同步 利用信号量机制解决具体问题
9
进 程 管 理
一种简便的实现方法是: 一种简便的实现方法是:
lock(x)= begin local v repeat v x until v=1 (临界资源成为可用) 临界资源成为可用) 临界资源成为可用 x 0 end
10
进 程 管 理
不过,这种方法是不能保证并发进程互斥执 不过,这种方法是不能保证并发进程互斥执 行所要求的准则( 行所要求的准则(3)的(只允许一个进程进入 临界区)。为了解决这个问题, )。为了解决这个问题 临界区)。为了解决这个问题,有些机器在硬件 中设置了“测试与设置(test set)指令 指令” 中设置了“测试与设置(test and set)指令”。 此外,有一点需要注意的是: 此外,有一点需要注意的是:在系统试验时锁定 key[S]总是设置在公有资源所对应的数据结构 为key[S]总是设置在公有资源所对应的数据结构 中的。 中的。
23
进 程 管 理
s.value的物理含义
当s.value>0数值时,表示某类可用资源的数量。 而当s.value<0数值时,表示该类资源已分配完。 若有进程请求该类资源,则被阻塞,其绝对值 等于等待该类资源的进程数。 每次的P(s)操作,意味着进程请求分配该类资 源的一个单位资源。相反,执行一次V(s) 操作 意味着进程释放相应资源的一个单位资源。当 值小于等于0时,表明有进程被阻塞,需要唤 醒。
操作系统-第3章复习题答案
![操作系统-第3章复习题答案](https://img.taocdn.com/s3/m/51017dcbed630b1c58eeb5d4.png)
操作系统-第3章复习题答案(总4页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--操作系统第三章总复习题一、单选题1、进程调度又称低级调度,其主要功能是( D )。
A.选择一个作业调入内存B.选择一个主存中的进程调出到外存C.选择一个外存中的进程调入到主存D.将一个就绪的进程投入到运行2、若进程P一旦被唤醒就能够投入运行,系统可能为( D )。
A.分时系统,进程P的优先级最高B.抢占调度方式,就绪队列上的所有进程的优先级皆比P的低C.就绪队列为空队列D.抢占调度方式,P的优先级高于当期运行的进程。
3、一个进程P被唤醒后,( D )。
A.P就占有了CPU。
B.P的PCB被移到就绪队列的队首。
C.P的优先级肯定最高D.P的状态变成就绪4、若当期运行进程( C )后,系统将会执行进程调度原语。
A 执行了一个转移指令B 要求增加主存空间,经系统调用银行家算法进行测算认为是安全的。
C 执行了一条I/O指令要求输入数据。
D 执行程序期间发生了I/O完成中断。
5、当系统中( C )时,系统将不会执行进程调度原语。
A.一个新进程被创建B.当前进程执行了P操作。
C.在非抢占调度中,进程A正在运行而进程B恰好被唤醒。
D.分时系统中时间片用完。
6、在分时系统中,若当期运行的进程连续获得了两个时间片,原因可能是( B )。
A 该进程的优先级最高B 就绪队列为空C 该进程最早进入就绪队列D 该进程是一个短进程7、实时系统中采用的调度算法可以有如下几种:1、非抢占优先权调度算法2、立即抢占优先权调度算法3、时间片轮转调度算法4、基于时钟中断抢占的优先权调度算法按实时要求的严格程度由低到高的顺序( B )。
A 1-3-2-4B 3-1-4-2C 3-1-2-4D 1-3-4-28、三种主要类型的OS 中都必须配置的调度( C )。
A 作业调度B 中级调度C 低级调度D I/O调度9、设系统中n 个进程并发,共同竞争资源X,且每个进程都需要m个X资源,为使该系统不会发生死锁,资源X最少要有( C )个。
第3章死锁习题及答案
![第3章死锁习题及答案](https://img.taocdn.com/s3/m/a310ab6eddccda38376baf47.png)
第三章死锁习题一、填空题1.进程的“同步”和“互斥”反映了进程间①和②的关系。
【答案】①直接制约、②间接制约【解析】进程的同步是指在异步环境下的并发进程因直接制约而互相发送消息,进行相互合作、相互等待,使得各进程按一定的速度执行的过程;而进程的互斥是由并发进程同时共享公有资源而造成的对并发进程执行速度的间接制约。
2.死锁产生的原因是①和②。
【答案】①系统资源不足、②进程推进路径非法【解析】死锁产生的根本原因是系统的资源不足而引发了并发进程之间的资源竞争。
由于资源总是有限的,我们不可能为所有要求资源的进程无限地提供资源。
而另一个原因是操作系统应用的动态分配系统各种资源的策略不当,造成并发进程联合推进的路径进入进程相互封锁的危险区。
所以,采用适当的资源分配算法,来达到消除死锁的目的是操作系统主要研究的课题之一。
3.产生死锁的四个必要条件是①、②、③、④。
【答案】①互斥条件、②非抢占条件、③占有且等待资源条件、④循环等待条件【解析】互斥条件:进程对它所需的资源进行排它性控制,即在一段时间内,某资源为一进程所独占。
非抢占条件:进程所获得的资源在未使用完毕之前,不能被其它进程强行夺走,即只能由获得资源的进程自己释放。
占有且等待资源条件:进程每次申请它所需的一部分资源,在等待新资源的同时,继续占有已分配到的资源,循环等待条件:存在一进程循环链,链中每一个进程已获得的资源同时被下一个进程所请求。
4.在操作系统中,信号量是表示①的物理实体,它是一个与②有关的整型变量,其值仅能由③原语来改变。
【答案】①资源,②队列,③P-V【解析】信号量的概念和P-V原语是荷兰科学家E.W.Dijkstra提出来的。
信号量是一个特殊的整型量,它与一个初始状态为空的队列相联系。
信号量代表了资源的实体,操作系统利用它的状态对并发进程共享资源进行管理。
信号量的值只能由P-V原语来改变。
5.每执行一次P原语,信号量的数值S减1。
如果S>=0,该进程①;若S<0,则②该进程,并把它插入该③对应的④队列中。
第三章 进程 习题
![第三章 进程 习题](https://img.taocdn.com/s3/m/c8827c3487c24028915fc313.png)
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,具有多道功能的操作系统一定是多用户操作系统.
(完整版)第三章进程同步与通信作业习题与答案
![(完整版)第三章进程同步与通信作业习题与答案](https://img.taocdn.com/s3/m/9f8e21ca7fd5360cba1adbee.png)
第三章一.选择题(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__。
操作系统第3章习题带答案
![操作系统第3章习题带答案](https://img.taocdn.com/s3/m/e3a20dfdf9c75fbfc77da26925c52cc58bd69083.png)
操作系统第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、简述进程的阻塞过程。
911、简述操作系统的三级调度。
12、为什么要了解进程间的家族关系?因为⽗进程和⼦进程之间是⾪属关系,⼦进程可以继承使⽤⽗进程的资源;如果⽗进程被撤销,还应撤销其所有的⼦孙进程。
13、什么是进程?。
14、试⽐较进程和线程的区别。
15、简述进程的基本状态,画出其状态转换图。
⼆、计算题1、若程序Pa,Pb和Pc单独执⾏时间分别Ta,Tb和Tc,Ta=1⼩时,Tb=1.5⼩时,Tc=2⼩时,其中处理机⼯作时间分别为Ta=10分钟,Tb=15分钟,Tc=35分钟。
操作系统课后习题答案 3 进程同步与通信
![操作系统课后习题答案 3 进程同步与通信](https://img.taocdn.com/s3/m/05fcd01352ea551811a68705.png)
习题 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 操作的次序无关紧要,不会出现死锁现象。
操作系统原理-第三章进程管理习题(1)
![操作系统原理-第三章进程管理习题(1)](https://img.taocdn.com/s3/m/95a1b48b3b3567ec112d8ac7.png)
第三章进程管理习题一. 单选题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.为使进程由活动就绪变为静止就绪,应利用()原语?** B. ACTIVE C. BLOCK D. WAKEUP12.在下面的叙述中,不正确的是()。
A.一个进程可创建一个或多个线程B.一个线程可创建一个或多个线程C.一个线程可创建一个或多个进程D.一个进程可创建一个或多个进程13. 若系统中只有用户级线程,则处理机调度单位是()。
第3章-部分习题答案
![第3章-部分习题答案](https://img.taocdn.com/s3/m/bbcf79a64b35eefdc8d333a7.png)
第3章部分习题答案3.2. 为什么进程在进入临界区之前,应先执行"进入区"代码,在退出临界区后又执行"退出区"代码?为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码成为"进入区"代码;在退出临界区后,必须执行"退出区"代码,用于恢复未被访问标志.3.3 同步机构应遵循哪些基本准则?为什么?a. 空闲让进.b. 忙则等待.c. 有限等待.d. 让权等待.3.6你认为整型信号量机制和记录型信号量机制,是否完全遵循了同步机构的四条准则?a. 在整型信号量机制中,未遵循"让权等待"的准则.b. 记录型信号量机制完全遵循了同步机构的"空闲让进,忙则等待,有限等待,让权等待"四条准则.3.9在生产者-消费者问题中,如果缺少了signal(full)或signal(empty),对执行结果会有何影响?生产者-消费者问题可描述如下:var mutex,empty,full: semaphore:=1,n,0;buffer: array[0,...,n-1] of item;in,out: integer:=0,0;beginparbeginproducer: beginrepeat..produce an item in nextp;..wait(empty);wait(mutex);buffer(in):=nextp;in:=(in+1) mod n;signal(mutex);/* ************** */signal(full);/* ************** */until false;endconsumer: beginrepeatwait(full);wait(mutex);nextc:=buffer(out);out:=(out+1) mod n;signal(mutex);/* ************** */signal(empty);/* ************** */consume the item in nextc;until false;endparendend可见,生产者可以不断地往缓冲池送消息,如果缓冲池满,就会覆盖原有数据,造成数据混乱.而消费者始终因wait(full)操作将消费进程直接送入进程链表进行等待,无法访问缓冲池,造成无限等待.3.10在生产者-消费者问题中,如果将两个wait操作即wait(full)和wait(mutex)互换位置;或者是将signal(mutex)与signal(full)互换位置结果会如何?var mutex,empty,full: semaphore:=1,n,0;buffer: array[0,...,n-1] of item;in,out: integer:=0,0;beginparbeginproducer: beginrepeat..produce an item in nextp;..wait(empty);wait(mutex);buffer(in):=nextp;in:=(in+1) mod n;/* ***************** */signal(full);signal(mutex);/* ***************** */until false;endconsumer: beginrepeat/* **************** */wait(mutex);wait(full);/* **************** */nextc:=buffer(out);out:=(out+1) mod n;signal(mutex);signal(empty);consume the item in nextc;endparendendwait(full)和wait(mutex)互换位置后,因为mutex在这儿是全局变量,执行完wait(mutex),则mutex 赋值为0,倘若full也为0,则该生产者进程就会转入进程链表进行等待,而生产者进程会因全局变量mutex 为0而进行等待,使full始终为0,这样就形成了死锁.而signal(mutex)与signal(full)互换位置后,从逻辑上来说应该是一样的.3.11 我们为某临界区设置一把锁W,当W=1时,表示关锁;W=0时,表示锁已打开.试写出开锁原语和关锁原语,并利用它们去实现互斥.开锁原语:unlock(W):W=0;关锁原语:lock(W);if(W==1) do no_op;W=1;利用开关锁原语实现互斥:var W: semaphore:=0;beginparbeginprocess :beginrepeatlock(W);critical sectionunlock(W);remainder sectionuntil false;endparend3.12试修改下面生产者-消费者问题解法中的错误:producer:beginrepeat..producer an item in nextp;wait(mutex);wait(full); /* 应为wait(empty),而且还应该在wait(mutex)的前面 */buffer(in):=nextp;/* 缓冲池数组游标应前移: in:=(in+1) mod n; */signal(mutex);/* signal(full); */endconsumer:beginrepeatwait(mutex);wait(empty); /* 应为wait(full),而且还应该在wait(mutex)的前面 */nextc:=buffer(out);out:=out+1; /* 考虑循环,应改为: out:=(out+1) mod n; */signal(mutex);/* signal(empty); */consumer item in nextc;until false;end3.13 试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法.设初始值为1的信号量c[I]表示I号筷子被拿(I=1,2,3,4,...,2n),其中n为自然数.send(I):Beginif I mod 2==1 then{P(c[I]);P(c[I-1 mod 5]);Eat;V(c[I-1 mod 5]);V(c[I]);}else{P(c[I-1 mod 5]);P(c[I]);Eat;V(c[I]);V(c[I-1 mod 5]);}End3.14 在测量控制系统中的数据采集任务,把所采集的数据送一单缓冲区;计算任务从该单缓冲中取出数据进行计算.试写出利用信号量机制实现两者共享单缓冲的同步算法.int mutex=1;int empty=n;int full=0;int in=0;int out=0;main(){cobeginsend();obtain();coend}send(){while(1){..collect data in nextp;..wait(empty);wait(mutex);buffer(in)=nextp;in=(in+1) mod n;signal(mutex);signal(full);}}//sendobtain(){while(1){wait(full);wait(mutex);nextc:=buffer(out);out:=(out+1) mod n;signal(mutex);signal(empty);culculate the data in nextc;}//while}//obtain3.19 什么是AND信号量?试利用AND信号量写出生产者-消费者问题的解法.为解决并行所带来的死锁问题,在wait操作中引入AND条件,其基本思想是将进程在整个运行过程中所需要的所有临界资源,一次性地全部分配给进程,用完后一次性释放.解决生产者-消费者问题可描述如下:var mutex,empty,full: semaphore:=1,n,0;buffer: array[0,...,n-1] of item;in,out: integer:=0,0;beginparbeginproducer: beginrepeat..produce an item in nextp;..wait(empty);wait(s1,s2,s3,...,sn); //s1,s2,...,sn为执行生产者进程除empty外其余的条件wait(mutex);buffer(in):=nextp;in:=(in+1) mod n;signal(mutex);signal(full);signal(s1,s2,s3,...,sn);until false;endconsumer: beginrepeatwait(full);wait(k1,k2,k3,...,kn); //k1,k2,...,kn为执行消费者进程除full外其余的条件wait(mutex);nextc:=buffer(out);out:=(out+1) mod n;signal(mutex);signal(empty);signal(k1,k2,k3,...,kn);consume the item in nextc;until false;endparendend3.21 试比较进程间的低级通信工具与高级通信工具.用户用低级通信工具实现进程通信很不方便,因为其效率低,通信对用户不透明,所有的操作都必须由程序员来实现. 而高级通信工具则可弥补这些缺陷,用户可直接利用操作系统所提供的一组通信命令,高效地传送大量的数据.。
第3章 计算机操作系统答案 进程管理试题答案
![第3章 计算机操作系统答案 进程管理试题答案](https://img.taocdn.com/s3/m/a9b945dd7f1922791688e8a2.png)
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章进程并发控制作业题参考答案
![第3章进程并发控制作业题参考答案](https://img.taocdn.com/s3/m/09b01ff477eeaeaad1f34693daef5ef7ba0d1224.png)
第3章进程并发控制作业题参考答案作业题题1进程间的互斥与同步表示了各进程间的______。
A.竞争与协作B. 相互独立与相互制约C .临界区调度原则 D. 动态性与并发性题2 若执行信号量S操作的进程数为3,信号量S初值为2,当前值为-1,表示有____个等待相关临界资源的进程。
A 0B 1C 2D 3题 3 由于并发进程执行的随机性,一个进程对另一个进程的影响是不可预测的,甚至造成结果的不正确,_________。
A.造成不正确的因素与时间有关B. 造成不正确的因素只与进程占用的处理机有关C.造成不正确的因素与执行速度无关D. 造成不正确的因素只与外界的影响有关题4 下列机构中不能用于进程间数据通信的是____________。
A.消息B.共享存储区C. 信号量D.管道题5 下面有关管程的说法,不正确的是________A.管程是种进程同步机制B. 管程是一种编程语言成分C. 管程是一种系统调用D.管程比信号量更容易保证并行编程的正确性题6 什么是临界资源和临界区?一个进程进人临界区的调度原则是什么?题7 进程之间存在哪几种制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系?(1)图书馆借书。
属于互斥关系。
(2)两队举行篮球赛。
既有互斥关系,又有同步关系。
(3)流水生产线。
属于同步关系。
(4)乐队演奏。
属于同步关系。
(5)购买火车票。
属于互斥关系。
题8 在生产者消费者问题中,如果将两个P操作即生产者程序流程中的P(buffers)和P(mutex)互换位置.结果会如何? 形成死锁。
题9 试用P、V操作描述下列理发师和顾客之间的同步问题。
某个理发师当没有顾客时,去睡觉;当有顾客来理发,若理发师正在睡觉时,这个顾客会叫醒他,理发师给该顾客理发,理发期间若还有顾客到达则等待理发师依次理发,直到没有顾客到来,理发师又去睡觉。
wakeup,wait,mutex:semaphore;wakeup:=0;wait:=0;mutex:=1;cobegin顾客进程:{p(mutex);rc=rc+1;if(rc==1) v(wakeup);else p(wait);v(mutex);理发;}理发师进程:{P(wakeup);While(rc!=0){理发;p(mutex);rc=rc-1;if(rc!=0)v(wait);v(mutex);}}coend自测题一、选择题1.并发性是指若干事件在______发生。
习题解答——第3章 进程同步与通信
![习题解答——第3章 进程同步与通信](https://img.taocdn.com/s3/m/ab6fb856852458fb770b56d6.png)
第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章(进程的同步与通信习题与解答)](https://img.taocdn.com/s3/m/78117223227916888586d707.png)
第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)可以分别出现在两个进程中。
操作系统第三版教材部分习题参考答案
![操作系统第三版教材部分习题参考答案](https://img.taocdn.com/s3/m/cdbadee19b89680203d8252c.png)
第3章进程管理三、实训问题参考答案⑥cx程序运行时,一个父进程和两个子进程并发运行,所以多次执行的结果并不总是一样。
⑦系统中一个父进程和一个子进程并发运行,所以多次执行的结果并不总是一样。
如果注释“/*父进程line1*/”所在行和“/*父进程line2*/”所在行交换位置,程序多次运行的结果会相同,因为wait()函数的功能是:主进程暂停执行,等待子进程结束再继续执行主进程。
习题10. 答案:A: while(TRUE){ 生产消息;P(Sab);P(Sac);向缓冲区送消息;V(Sb);V(Sc); }B: while(TRUE){ P(Sb);从缓冲区取消息;V(Sab) }C: whe(TRUE){ P(Sc);从缓冲区取消息;V(Sac) }13. 答案:设置一个信号量S,代表机房内空位数目,初值为40,用来控制进入机房的上机进程数不超过40;再设置互斥信号量mutex,代表机房门这一临界资源,其初值为1,以实现多个上机进程对其互斥访问。
P(S);P(mutex);从机房门进入V(mutex);上机P(mutex);从机房门离开V(mutex);V(S);18. 答案:(1)mutex是互斥信号量,初值为1,表示开始时无进程在临界区。
SP是同步信号量,初值为n,表示开始时有n个空的缓冲区。
SC是同步信号量,初值为0,表示开始时有0个满的缓冲区。
(2)①处填 P(mutex)②处填 V(SC) ③处填 V(mutex) ④处填 V(SP)19. 死锁是计算机系统中多道程序并发执行时,两个或两个以上的进程由于竞争系统资源,而出现的一种互相等待的现象。
不是所有的进程都停止工作。
死锁的系统中并不是所有的资源都分配完毕。
20. 目前解决死锁的基本方法有以下三种:①预防死锁②避免死锁③检测和解除死锁22. 不会。
假定该系统死锁,那么就隐含其中的每一个进程已占有一个资源并正在等待另一个资源。
由于该系统只有3个进程且有4个资源,因此必有一个进程能获得其中的2个资源。
第三章 进程同步问题习题答案
![第三章 进程同步问题习题答案](https://img.taocdn.com/s3/m/0966ecbbb0717fd5360cdcb6.png)
进程同步练习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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
矿产资源开发利用方案编写内容要求及审查大纲
矿产资源开发利用方案编写内容要求及《矿产资源开发利用方案》审查大纲一、概述
㈠矿区位置、隶属关系和企业性质。
如为改扩建矿山, 应说明矿山现状、
特点及存在的主要问题。
㈡编制依据
(1简述项目前期工作进展情况及与有关方面对项目的意向性协议情况。
(2 列出开发利用方案编制所依据的主要基础性资料的名称。
如经储量管理部门认定的矿区地质勘探报告、选矿试验报告、加工利用试验报告、工程地质初评资料、矿区水文资料和供水资料等。
对改、扩建矿山应有生产实际资料, 如矿山总平面现状图、矿床开拓系统图、采场现状图和主要采选设备清单等。
二、矿产品需求现状和预测
㈠该矿产在国内需求情况和市场供应情况
1、矿产品现状及加工利用趋向。
2、国内近、远期的需求量及主要销向预测。
㈡产品价格分析
1、国内矿产品价格现状。
2、矿产品价格稳定性及变化趋势。
三、矿产资源概况
㈠矿区总体概况
1、矿区总体规划情况。
2、矿区矿产资源概况。
3、该设计与矿区总体开发的关系。
㈡该设计项目的资源概况
1、矿床地质及构造特征。
2、矿床开采技术条件及水文地质条件。