进程同步与互斥练习答案
- 格式:ppt
- 大小:88.00 KB
- 文档页数:10
第三章死锁习题一、填空题1.进程的“同步”和“互斥”反映了进程间①和②的关系。
【答案】①直接制约、②间接制约【解析】进程的同步是指在异步环境下的并发进程因直接制约而互相发送消息,进行相互合作、相互等待,使得各进程按一定的速度执行的过程;而进程的互斥是由并发进程同时共享公有资源而造成的对并发进程执行速度的间接制约。
2.死锁产生的原因是①和②。
【答案】①系统资源不足、②进程推进路径非法【解析】死锁产生的根本原因是系统的资源不足而引发了并发进程之间的资源竞争。
由于资源总是有限的,我们不可能为所有要求资源的进程无限地提供资源。
而另一个原因是操作系统应用的动态分配系统各种资源的策略不当,造成并发进程联合推进的路径进入进程相互封锁的危险区。
所以,采用适当的资源分配算法,来达到消除死锁的目的是操作系统主要研究的课题之一。
3.产生死锁的四个必要条件是①、②、③、④。
【答案】①互斥条件、②非抢占条件、③占有且等待资源条件、④循环等待条件【解析】互斥条件:进程对它所需的资源进行排它性控制,即在一段时间内,某资源为一进程所独占。
非抢占条件:进程所获得的资源在未使用完毕之前,不能被其它进程强行夺走,即只能由获得资源的进程自己释放。
占有且等待资源条件:进程每次申请它所需的一部分资源,在等待新资源的同时,继续占有已分配到的资源,循环等待条件:存在一进程循环链,链中每一个进程已获得的资源同时被下一个进程所请求。
4.在操作系统中,信号量是表示①的物理实体,它是一个与②有关的整型变量,其值仅能由③原语来改变。
【答案】①资源,②队列,③P-V【解析】信号量的概念和P-V原语是荷兰科学家E.W.Dijkstra提出来的。
信号量是一个特殊的整型量,它与一个初始状态为空的队列相联系。
信号量代表了资源的实体,操作系统利用它的状态对并发进程共享资源进行管理。
信号量的值只能由P-V原语来改变。
5.每执行一次P原语,信号量的数值S减1。
如果S>=0,该进程①;若S<0,则②该进程,并把它插入该③对应的④队列中。
一、选择题1、我们把在一段时间内,只允许一个进程访问的资源,称为临界资源,因此,我们可以得出下列论述,请选择一条正确的论述。
A 、对临界资源是不能实现资源共享的B 、对临界资源,应采取互斥访问方式,来实现共享C 、为临界资源配上相应的设备控制块后,便能被共享D 、对临界资源应采取同时访问方式,来实现共享2、在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。
所谓临界区是指_______。
A 、一个缓冲区B 、一段数据区C 、同步机制D 、一段程序3、在操作系统中,信号量表示资源实体,信号量表示资源实体,是一个与队列有关的是一个与队列有关的_________变量,其值仅能用P 、V 操作来改变。
A 、实体B 、整形C 、布尔型D 、记录型4、用P 、V 操作可以解决_______互斥问题。
A 、某些B 、一个C 、一切D 、大多数5、对于记录型信号量,在执行一次P 操作时,信号量值应当_____A__A_(3)___;当其值为______B_B_(4)__时,进程应阻塞。
在执行V 操作时,信号量的值应当______C C (2)___;当其值为____D_D_(3)__时,应唤醒阻塞队列中的进程。
A 、C :(1)不变;(2)加1;(3)减1;(4)加指定数值;(5)减指定数值B 、D :(1)大于0;(2)大于等于0;(3)小于等于0;(4)小于0 6、对于两个并发进程,其互斥信号量为mutex ;若mutex=0,则表明_______。
A 、没有进程进入临界区B 、有一个进程进入临界区但没进程处于阻塞状态C 、一个进程进入临界区而另一个进程正处于等待进入临界区状态D 、有两个进程进入临界区7、设有5个进程共享一个互斥段,如果允许有3个进程同时进入互斥段,则所采用的互斥信号量的初值应是__________。
A 、5 B 、3 C 、1 D 、0 8、N 个进程共享某一临界资源,则互斥信号量的取值范围为_________。
例题:选择题1、当一个进程独占处理器执行时,具有两个特性,即()。
A、封闭性和可再现性B、独立性和可再现性C、开放性和可再现性D、顺序性和独立性2、对于两个并发进程,设互斥信号量为A,若A=0,则()。
A、表示有一个进程进入临界区,另一个进程等待进入B、表示有两个进程进入临界区C、表示有一个进程进入临界区D、表示没有进程进入临界区3、进程并发执行时,执行结果与其执行的()有关。
A、绝对速度B、时间C、速度D、相对速度4、造成进程结果不正确的因素与进程占用处理器的时间、执行的速度及外界的影响有关。
而这些因素都与时间有关,所以称为()。
A、时间因素B、与时间有关的错误C、时间错误D、时间问题5、P、V操作是对()进行操作。
A、信号量B、执行速度C、执行时间D、执行结果5、两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程的()。
A、调度B、执行C、同步D、互斥6、信号量被定义为一个整型变量,其初始值是()。
A、0B、无任何限制C、负整数D、非负数填空题:1、并发进程间的关系可以是()的,也可以是有()的。
2、在用P、V操作实现同步时,一定要根据具体的问题来定义()和调用()。
3、每执行一次P原语操作,信号量s的数值减1,如果s>=0,该进程();若s<0,则()该进程,并把它插入该()对应的()队列中,重新进行进程调度。
综合应用题1、假定有三个进程R、W1、W2共享一个缓冲器B,而B中每次只能存放一个数。
当缓冲器中无数时,进程R可将M输入设备上读入的数存放到缓冲器B中;若存放到缓冲器中的是奇数,则允许进程W1将其取出打印;若存放到缓冲器中的是偶数,则允许进程W2将其取出打印。
同时规定:进程R必须等缓冲器中的数被取出打印后才能再存放一个数;进程W1或W2对每次存入缓冲器中的数只能打印一次;W1和W2都不能从空的缓冲器中取数。
第三章一.选择题<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.加1C减1D.减指定数值24.在执行v操作时,当信号量的值__D_时,应释放一个等待该信号量的进程.A>0B.<0c.>=0D.<=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操作在同一信号量上调用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.信箱通信用P、V操作管理临界区时,信号量的初值应定义为_C__.A.一1B.0C.1D.任意值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个在进程通信中,常_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 ___原语.22.进程通信方式有两种:__直接通信____和_间接通信_____.23.直接通信是固定在__一对____进程之间通信,而间接通信以信箱为媒体实现通信. 24.一个信息可以由__信箱说明____和__信箱体____两部分组成.25.进程间通过信件交换信息,可实现___进程同步___.26.并发带来的问题全局变量的共享问题、操作系统很难最佳的管理资源的分配、定位程序的错误很困难、保证进程执行结果的正确性.27.并发原理有并发带来的问题、进程的交互、进程互斥、进程同步.28.管理的结构有条件变量、管理的结构.29.进程通信表现在效率低、通信对用户不透明.30.Monitors:管程.三.名词解释<20题>1.进程通信:进程之间的信息交换.2.临界区:操作系统中把并发进程中访问临界资源那段代码.3.临界资源:操作系统中将一次仅允许一个进程访问的资源.4.进程同步:指多个进程中发生的事件存在着某种时序关系必须协同动作、相互配合,以共同完成一个任务.5.信号量机制:它是一种公认的卓有成效的进程同步机制.6.管程:一个共享资源的数据结构以与一组能为并发进程在其上执行的针对该资源的一组操作,这组操作能同步进程和改变管程中的数据.7.CWAIT<C>:调用进程的执行在条件C上挂起,管程现在可被另一个进程使用.8.CSIGNAL<C>:恢复在cwait上因为某些条件而挂起的进程的执行.9.Message:报文.10.Client/Server Interaction:客户∕服务器交换.11.单向通信:只允许发送进程向接收进程发送消息,反之不行.12.双向通信:允许一个进程向另外一个进程发送消息,也可以反过来由另一个进程向发过消息的进程回送消息.13.点对点方式:用一条链路将两个进程连接,通信的完成只与这两个进程有关.14.多点方式:用一条链路连接多个进程〔>2〕.15.无容量通信链路:通信链路上没有用于暂存数据的缓冲区,因而不能暂存任何消息.16.有容量通信链路:通信链路中设置了缓冲区,因而可以暂存数据,缓冲区的数目越大,通信链路的容量越大.17.链路的容量:通信链路上是否有用于暂存数据的缓冲区.18.阻塞方式:操作方要等待操作结束,才能继续执行.19.非阻塞方式:操作方在提交后立即返回,不需要等待.20.管道:指用于连接一个读进程和一个写进程,以实现它们之间通信的共享文件,又称为pipe 文件.四.简答题<20题>以下进程之间存在相互制约关系吗?是什么制约关系?为什么?⑴几个同学去图书馆借同一本书;⑵篮球比赛中两队同学争抢篮板球;⑶果汁流水线生产中捣碎、消毒、灌装、装箱等、各道工序;⑷商品的入库和出库;⑸工人做工与农民种粮.答:〔1〕答:存在互斥关系,因为同一本书只能借给一个同学.〔2〕答:存在互斥关系,因为篮球只有一个,两队只能有一个队抢到球〔3〕答:存在同步关系,因为最后一道工序的开始依赖于前一道工序的完成.〔4〕答:存在同步关系,因为商品若没有入库就无法出库,若商品没有出库,装满了库房,也就无法再入库.〔5〕答:工人与农民之间没有相互制约关系.说明PV存在为什么要设计成原语?答:用信号量S表示共享资源,其初值为1表示有一个资源.设有两个进程申请该资源,若其中一个进程先执行P操作.P操作中的减1操作有3跳与其指令组成:去S送寄存器R;R-1送S.若P操作不用原语实现,在执行了前述三条指令中的2条,即还未执行R送S时〔此时S值仍为1〕,进程被剥夺CPU,另一个进程执行也要执行P操作,执行后S的值为0,导致信号量的值错误.正确的结果是两个进程执行完P操作后,信号量S的值为-1,进程阻塞.设有一个售票大厅,可容纳200人购票.如果厅内不足200人,则允许进入,超过则在厅外等候;售票员某时只能给一个购票者服务,购票者买完票后就离开.试问:⑴购票者之间是同步关系还是互斥关系?⑵用PV操作描述购票者的工作过程.答:购票者之间是互斥关系.<2> semaphore empty=200;semaphore mutex=1;void buyer<>{P<empty>;P<mutex>;购票;V<mutex>;V<empty>;}分析生产者消费者问题中多个P操作颠倒引起的后果.答:semaphore mutex=1;semaphore empty=n;semaphore full=0;int i,j;ITEM buffer[n];ITEM data_p,data_c;void producer<>void consumer<>{while<true>{while<true>{produce an item in data_p;{P<full>;P<mutex>;P<mutex>;P<empty>;data_c=buffer[j];buffer[i]=data_p;j=<j+1>%n;i=<i+1>%n;V<mutex>;V<mutex>;V<empty>;V<full>;}consume the item in data_c}}}请简述进程的互斥与同步之间的异同.答:进程的同步与互斥是指进程在推进时的相互制约关系.为了保证进程的正确运进程之间的制约关系体现为:进程的同步和互斥.进程同步:它主要源于进程合作,是进程间共同完成一项任务时直接发生相互作用的关系.为进程之间的直接制约关系.在多道环境下,这种进程间在执行次序上的协调是必不可少的.行以与相互合作的进程之间交换信息,需要进程之间的通信.进程互斥:主要源于资源共享,是进程之间的间接制约关系.6.什么是进程的顺序性和并发性?答:进程的顺序性是指进程在顺序的处理器上严格地按顺序执行.若系统中存在一组可同时执行的过程,则该组程序具有并发性.可同时执行的进程是指这些进程执行时在时间上是重叠的,即一个进程的工作没有全部完成之前,另一个进程就可以开始工作.7.为什么并发进程执行时可能会产生与时间有关的错误?如何避免?答:有交往的并发进程可能会同时使用共享资源,如果对这种情况不加控制,由于进程占用处理器的时间、执行的速度和外界的影响等,就会引起与时间有关的错误.只要使若干并发进程的相关临界区互斥执行,就可避免造成这类错误.8.简述临界区的相关临界区的概念.答:临界区是指并发进程中与共享变量有关的程序段.相关临界区是指并发进程中涉与到相同变量的那些程序段.9.管理相关临界区有些什么要求?答:管理相关临界区有三点要求:<1>一次最多让一个进程在临界区执行;<2>任何一个进入临界区执行的进程必须在有限的时间内退出临界区;<3>不能强迫一个进程无限地等待进入它的临界区.10.用Pv操作实现进程间同步与互斥应注意些什么?答:<1>对每一个共享资源<含变量>都要设立信号量,互斥时对一个共享资源设一个信号量,同步时对一个共享资源可能要设两个或多个信号量,视由几个进程来使用该共享变量而定.<2>互斥时信号量的初值可大于或等于1,同步时,至少有一个信号量的初值大于等于1.<3>Pv操作一定要成对调用,互斥时在临界区前后对同一信号量作Pv操作,同步时则对不同的信号量作Pv操作,Pv操作的位置一定要正确.<4>对互斥和同步混合问题.PV操作可能会嵌套,—般同步的Pv操作在外,互斥的Pv操作在内.11.何谓进程通信?最基本的通信原语有哪些?答:通过专门的通信机制实现进程间交换大量信息的通信方式称为进程通信.最基本的通信原语有send原语和receive原语,前者负责发送信件,后者负责接收信件.12.直接通信与间接通信有何区别?答:直接通信是固定在一对进程间进行的,而间接通信时以信箱为媒体实现通信.因此在send 和receive原语中,第一个参数互不相同.直接通信时分别为接收者进程名和发送者进程名,而间接通情时均为信箱名.13.线程与进程的根本区别是什么?答:在采用线程技术的操作系统中,线程与进程的根本区别在于:进程是资源的分配单位,而线程是调度和执行单位.并发带来的问题有哪些?答:①全局变量的共享问题②操作系统很难最佳的管理资源的分配③定位程序的错误很困难④保证进程执行结果的正确性.进程交互的3中情况?答:①进程之间不知道对方的存在.②进程间接知道对方.③进程直接知道对方存在.临界区有哪些进入原则?答:①空闲让进.②忙则等待.③让权等待.④有限等待.对共享资源的读写操作的限制条件是什么?答:⑴允许任意多的读进程同时读.⑵一次只允许一个写进程进行写操作.⑶如果有一个写进程正在进行写操作,禁止任何读进程进行读操作.在生产者―消费者问题中需要注意以下几个问题?答:⑴把共享缓冲区池中的N个缓冲区视为临界资源,进程在使用时,首先要检查是否有其他进程在临界区,如果确认没有时再进入.⑵信号量full表示有数据的缓冲区的数量,初值为0.⑶多个P操作的次序不能颠倒.管程的特征有哪些?答:⑴管程内部的局部变量只能通过管程中的过程进行访问,其他任何外部过程都不能对其进行访问.⑵进程只能通过调用管程的某一个过程才能进入管程,这样可以保证所有进入管程的进程有统一的入口.⑶任何时刻,只能有一个进程在管程中执行,其他调用管程的任何进程都被挂起,以等待管程变为可用,即对管程实施互斥访问.进程通信主要表现在那些方面?答:⑴效率低.。
第2章进程管理“练习与思考”解答1.基本概念和术语进程、进程互斥、进程同步、临界资源、临界区、死锁进程是程序在并发环境中的执行过程。
进程互斥:各个进程彼此不知道对方的存在,逻辑上没有关系,由于竞争同一资源(如打印机、文件等)而发生相互制约。
进程同步:各个进程不知对方的名字,但通过对某些对象(如I/O缓冲区)的共同存取来协同完成一项任务。
临界资源:一次仅允许一个进程使用的资源。
临界区:在每个进程中访问临界资源的那段程序。
死锁是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。
2.基本原理和技术(1)在操作系统中为什么要引入进程概念?它与程序的区别和联系是什么?在操作系统中,由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。
这些都是在程序的动态过程中发生的。
用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。
为此,人们引入“进程”这一概念来描述程序动态执行过程的性质。
进程与程序的主要区别是:·进程是动态的;程序是静态的。
·进程有独立性,能并发执行;程序不能并发执行。
·二者无一一对应关系。
·进程异步运行,会相互制约;程序不具备此特征。
但进程与程序又有密切的联系:进程不能脱离具体程序而虚设,程序规定了相应进程所要完成的动作。
(2)进程的基本状态有哪几种?通常在操作系统中,进程至少要有三种基本状态。
这三种基本状态是:运行态、就绪态和阻塞态(或等待态)。
(3)用如图3-23所示的进程状态转换图能够说明有关处理机管理的大量内容。
试回答:①什么事件引起每次显著的状态变迁?②下述状态变迁因果关系能否发生?为什么?(A)2→1 (B)3→2 (C)4→1图3-23 进程状态转换图①就绪→运行:CPU空闲,就绪态进程被调度程序选中。
1.如果信号量S的初值是5,现在信号量的值是-5,那么系统中的相关进程至少执行了几个P(S)操作?与信号量S相关的处于阻塞状态的进程有几个?为使信号量S的值大于0,应进行怎样的操作?答案:1)5-(-5)=10,因此系统中的相关进程至少执行了10个P(S)操作。
因为每执行一次P(S)操作就会将信号量S减去1。
2)与信号量S相关的处于阻塞状态的进程有|-5|=5个。
3)为使信号量S的值大于0,应当有至少6个执行了P(S)但还没来得及执行V(S)的进程去执行V(S)操作。
2.一售票厅只能容纳300人,当少于300人时,可以进入;否则,需在外等候。
若将每一个购票者作为一个进程,请用P、V操作编程,并写出信号量的初值。
答案:设置信号量NUM表示售票厅当前还可以进入的人数,初值为300.购票者进程:do{P(NUM);进入售票厅;V(NUM);} While(1);3.桌上有一空盘,只允许存放一个水果。
爸爸可向盘中放苹果,也可向盘中放桔子。
儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。
规定当盘中空时一次只能放一只水果供吃者取用,请用P、V原语实现爸爸、儿子、女儿三个并发进程的同步。
答案:设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为1;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。
同步描述如下:int S=1; int Sa=0; int So=0;main( ){father();son();daughter();}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);吃苹果;}}4.下面是两个并发执行的进程。
它们能正确执行吗?若不能,试改正之。
操作系统进程通信练习及答案-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN进程同步与通信练习题(一)单项选择题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.<=0操作必须在屏蔽中断下执行,这种不可变中断的过程称为( )。
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.下列对线程的描述中,( )是错误的。
第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)可以分别出现在两个进程中。
学习中心:学习中心专业:计算机科学与技术年级:秋季学号:学生:题目:进程同步与互斥生产者-消费者问题1.谈谈你对本课程学习过程中的心得体会与建议?在学习操作系统之前,我只是很肤浅地认为操作系统只是单纯地讲一些关于计算机方面的操作应用,并不了解其中的具体操作过程和实用性。
通过这一学期的学习,我才知道操作系统(Operating System,简称OS)是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。
经过一个学期的学习,我也知道了计算机操作系统是铺设在计算机硬件上的多层系统软件,不仅增强了系统的功能,而且还隐藏了对硬件操作的细节,由它实现了对计算机硬件操作的多层次的抽象。
2.《操作系统》课程设计,从以下5个题目中任选其一作答。
《操作系统》课程设计注意:从以下5个题目中任选其一作答。
总则:不限制编程语言,可以选用C/C++等(具体工具平台及语言可以自己根据自己的习惯选用,不必完全按照上述技术要求)作业提交:大作业上交时文件名写法为:[姓名奥鹏卡号学习中心](如:戴卫东101410013979浙江台州奥鹏学习中心[1]VIP)以附件word文档形式上交离线作业(附件的大小限制在10M以内),选择已完成的作业(注意命名),点提交即可。
如下图所示。
注意事项:独立完成作业,不准抄袭其他人或者请人代做,如有雷同作业,成绩以零分计!题目四:进程同步与互斥生产者与消费者问题要求:(1)撰写一份word文档,里面包括(设计思路、流程(原理)图、源代码)章节。
(2)设计思路:简单描述生产者与消费者问题。
可设计生产者进程主要计算进程,消费者进程输出打印进程,二者彼此独立,运行速度不确定,可能会产生还未生产就需要消费这种情况,此时引用一个或若干个缓冲区,存放生产者生产的信息,解决速度不确定带来的问题。