当前位置:文档之家› 并发处理 练习题

并发处理 练习题

并发处理练习题一、单项选择题1.任何两个并发进程之间存在着()的关系。

A.各自完全独立B.拥有共享变量C.必须互斥D.可能相互制约2.并发进程执行的相对速度是()。

A.由进程的程序结构决定的B.由进程自己来控制的C.在进程被创建时确定的D.与进程调度策略有关的3.并发进程执行时可能会出现“与时间有关的错误”,这种错误是由于并发进程()引起的。

A.使用共享资源B.执行的顺序性C.要求计算时间的长短D.程序的长度4.并发进程中与共享变量有关的程序段称为()。

A.共享子程序B.临界区C.管理区D.公共数据区5.用来实现进程同步与互斥的PV操作实际上是由()过程组成的。

A.一个可被中断的B.一个不可被中断的C.两个可被中断的D. 两个不可被中断的6.进程从运行态变为等待态可能由于()。

A.执行了V操作B.执行了P操作C.时间片用完D.有高优先级进程就绪7.用PV操作管理互斥使用的资源时,信号量的初值应定义为()。

A.任意整数B.1C.OD.-18.现有n个具有相关临界区的并发进程,如果某进程调用P操作后变为等待状态,则调用P操作时信号量的值必定为()。

A.≤0B.1C.n-1D.n9.用PV操作管理临界区时把信号量的初值定义为1,现已有一个进程在临界区,但有n 个进程在等待进人临界区,这时信号量的值为()。

A.-1B.1C.-nD.n10.用V操作唤醒一个等待进程时,被唤醒进程的状态应变成()状态。

A.执行B.就绪C.运行D.收容11.有一共享文件可供n个并发进程使用,但限制最多m个进程(n≥m≥1)可同时读文件,用PV操作进行管理时其信号量的初值应该为()。

A.nB.mC.n-mD.112.当一个任务需要若干进程协同完成时,进程之间需要交换一定数量的信息,把这种信息交换称为()。

A.进程唤醒B.进程通信C.进程互斥D.进程同步13.进程间采用信箱通信方式时,send原语把发送者的信件存放到()中。

A.信箱B.消息缓冲区C.接收者的PCBD.指定的工作区14.采用信箱方式进行通信的系统中,信箱是一种()资源。

A.可共享的硬件B.不可共享的硬件C.可共享的软件D.不可共享的软件15.使用PV操作后,()系统死锁。

A.能检测B.能解除C.仍可能出现D.不会出现16.系统出现死锁时一定同时保持了四个必要条件,对资源采用按序分配算法后可破坏其中的()条件。

A.互斥B.占有且等待C.可抢占资源D.循环等待17.资源的静态分配算法在解决死锁问题中是用于()死锁。

A.防止B.避免C.检测D.解除18.在讨论死锁问题时,采用银行家算法分配资源可以()死锁。

A.防止B.避免C.检测D.解除二、多项选择题1.有关并发进程的下列叙述中,()是正确的。

A.任何时刻允许多个进程在同一CPU上运行B.进程执行的速度完全由进程自己控制C.并发进程在访问共享资源时可能出现与时间有关的错误D.同步是指并发进程中存在的一种制约关系E.各自独立的并发进程在执行时不会相互影响2.一个正在运行的进程调用P(s)后,若S的值为(),则该进程可以继续运行。

A.S>0B.S<0C.S≠0D.S≥0E.S≤03.要实现进程A与进程B之间的通信,则必须()。

A.由进程A或进程B组织好信件B.由send原语根据进程A或进程B的要求组织信件C.由发送进程来调用send原语把信件存人信箱D.当信箱未满时才可存人信件,否则将使发送信件进程成为“等信件”状态E.由接收信件的进程设置信箱4.死锁的发生与()有关。

A.若干个进程需求的资源数大于系统拥有的资源数B.系统采用的资源分配策略C.并发进程的执行速度D.不恰当的PV操作E.资源的互斥使用三、判断题(根据题意回答是或否)1.有交往的并发进程一定共享某些资源。

()2.如果不能控制并发进程执行的相对速度,则它们在共享资源时一定会出现与时间有关的错误。

()3.IV操作不仅可用来实现进程的同步与互斥,而且可以防止系统死锁。

()4.并发进程的执行结果只取决于进程本身,不受外界影响。

()5.多道程序设计必然导致进程的并发执行。

()6.银行家算法是在保证至少有一个进程能得到所需的全部资源的前提下进行资源分配的。

()7.只要能保证共享资源的互斥使用,就不会引起系统的死锁。

()8.任何一个进程在申请新资源前总是先归还已得到的资源,则系统不会死锁。

()四、填空题1.一个进程独占处理器顺序执行时具有_______和_______两个特性。

2.把一组可同时执行的进程称为_______进程。

3.有交往的并发进程在竞争共享资源时会出现_______错误。

4.把并发进程中涉及到对共享变量进行访问的程序段称为_______。

5.用PV操作管理相关临界区时,任何一个进程要进人自己的临界区前应调用_______、操作,退出临界区时应调用_______操作。

6.系统中存在多个进程时,这些进程对共享资源的使用存在着不同的相互制约关系,制约关系可归结为两种,一种是_______关系,另一种是_______关系。

7.用PV操作实现进程同步时,进程应调用_______操作来检测自己等待的消息是否到达,调用_______操作则可唤醒一个等待消息的进程。

8.如果在一个取负值的信号量上调用P操作,则将使该进程变为_______状态,而调用V操作将使一个等待资源的进程成为_______状态。

9.有一资源可供n个进程共享,但限制它们只能互斥使用,若采用PV操作来管理则信号量的初值应定义为_______,可能出现的信号量的最小值为_______。

10.若信号量S的初值定义为10,则在S上调用了18次P操作和15次V操作后S的值应该为_______。

11.若进程间利用信箱进行通信,则操作系统应该设计两个基本通信原语是_______原语和_______原语。

12.实现进程通信的send原语的功能是把_______送到指定的_______中。

13.系统出现死锁一定同时保持了_______、占有且等待资源、非抢夺式资源和_______四个必要条件。

14.解决系统死锁问题时经常采用_______、_______、和死锁检测三种方法。

15.采用适当的资源分配策略来破坏出现死锁的必要条件,从而达到不使死锁发生的目的,这种方法称为死锁的_______。

16.防止死锁发生的资源分配策略有_______、_______、_______。

17.如果操作系统不能保证所有的进程在有限时间内得到所需要的全部资源,则说系统处于_______状态,这种状态可能引起死锁。

18._______资源分配策略能避免系统出现死锁。

19.银行家算法是在能确保系统处于_______状态时才把资源分配给申请者。

20.适合于采用剥夺式分配的资源目前只有_______和_______两种。

21.采用按序分配资源的策略能破坏形成死锁的四个必要条件中的_______条件。

22._______资源分配策略能破坏“占有并等待资源”的条件。

五、问答题程结构如下:beginamount:integer;amount:=0;cobeginProcess SA VEm1:integer;beginm1:=amount;m1:=m1+100;amount:=m1end;m2:=m2-100;amount:=m2 end;coend;end;请回答下列问题:(1)你估计该系统工作时会出现怎样的错误?为什么?(2)若哥哥先存了两次钱,但在第三次存钱时弟弟却正在取钱,则该账号上可能出现的余额为多少?正确的余额应该为多少?(3)为保证系统的安全,若用PV操作来管理,应怎样定义信号量及其初值?解释信号量的作用。

(4)在程序的适当位置加上P操作和V操作,使其能正确工作。

3.在公共汽车上,司机和售票员的工作流程如下:为保证乘客的安全,司机和售票员应密切配合协调工作。

假定初始状态为:车辆正在起点站停着车、开着门,等待第一批乘客。

当发车时间到,售票员关好车门后司机可以启动车辆。

若用PV操作来实现司机与售票员之间的协调工作,请回答下列问题:(1)司机与售票员之间的关系是同步还是互斥?解释之。

(2)用PV操作来管理时应定义几个信号量?初值为多少?(3)请在司机与售票员的工作流程中填上适当的P操作和V操作,使他们能安全、协调地工作。

4.假定有一个可以存放n封信的公用信箱,请用PV操作来实现进程通信。

5.假定某系统有同类资源m个,可被n个进程共享,请问每个进程最多可以申请多少个资源能保证系统一定不会发生死锁?6.某系统有A、B、C、D四类资源可供五个进程P1、P2、P3、P4、P5共享。

系统对这四类资源的拥有量为:A类3个、B类14个、C类12个、D类12个。

进程对资源的需求和分配情况如下:按银行家算法回答下列问题:(1)现在系统中的各类资源还剩余多少?(2)现在系统是否处于安全状态?为什么?(3)如果现在进程P2提出需要A类资源0个、B类资源4个、C类资源2个和D类资源0个,系统能否去满足它的请求?7.若对资源采取按序分配策略,则系统一定不会死锁,试证明之。

8.进程的并发执行可以提高计算机系统的工作效率,但必须对它们进行管理。

请总结对并发进程应进行哪些管理。

并发处理习题答案一、单项选择题1.D 2.D 3.A 4.B 5.D 6.B 7.B 8.A 9.C10.B 11.B 12.B 13.A 14.C 15.C 16.D 17.A 18. B二、多项选择题1.[分析]任何一台CPU在每一时刻只能解释执行一条指令,因而,不可能在同一时刻为多个进程服务。

进程可同时执行的含义是一个进程的工作没有全部完成之前另一进程就可开始工作。

所以,实际上多个进程是轮流占用CPU运行的。

到底哪个进程能占用处理器不仅与进程自身有关,且受外界因素的影响;当多个进程竞争CPU时,必须由进程调度来决定当前哪个进程可以占用CPU;故每个进程都是走走停停的,进程执行的速度不能完全由进程自己来控制。

并发进程相互之间可能是无关的,即它们是各自独立的,这些进程中每一个进程的执行既不依赖于其它进程也不会影响其它进程的执行。

但是,有些并发进程需使用共享资源,为保证进程执行的正确性,对共享资源的使用必须加以限制。

同步就是并发进程中的一种制约关系,一个进程能否使用共享资源取决于其它进程的消息,只有指定的消息到达才可使用共享资源。

如果无约束地使用共享资源,则可能出现多个进程交替地访问共享资源,于是就可能会出现与时间有关的错误。

故本题的答案为C、D、E。

[题解]C、D、E。

2.[分析]根据P操作的定义,当调用P操作时, P操作把信号量S减去1,若结果小于0则调用者将等待信号量,否则可继续运行。

因而,若调用P(S)后S的值为>=0则进程可以继续运行,故应选择A和D。

相关主题