
进程同步与互斥练习.doc
6页进程同步与互斥练习题选择题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.1 C.0 D.-1 8.用 P、V 操作管理临界区时,互斥信号量的初值应定义为( )。
A.任意值 B.1 C.0D.-1 9.现有 n 个具有相关临界区的并发进程,如果某进程调用 P 操作后变为等待状态,则调用 P 操作时信号量的值必定为( ) A.≤0 B.1 C.n-1 D.n 10.用 PV 操作管理临界区时把信号量的初值定义为 1,现已有一个进程在临界区,但有 n个进程在等待进人临界区,这时信号量的值为( ) A.-1 B.1 C.-n D.n 11.用 V 操作唤醒一个等待进程时,被唤醒进程的状态应变成( )状态A.执行 B.就绪 C.运行 D.收容 12.进程间的同步是指进程间在逻辑上的相互( ) 关系A.联接 B.制约 C.继续 D.调用 多项选择题 1.有关并发进程的下列叙述中, ( )是正确的A.任何时刻允许多个进程在同一 CPU 上运行B.进程执行的速度完全由进程自己控制C.并发进程在访问共享资源时可能出现与时间有关的错误D.同步是指并发进程中存在的一种制约关系E.各自独立的并发进程在执行时不会相互影响 2.一个正在运行的进程调用 P(s)后,若 S 的值为( ) ,则该进程可以继续运行A.S>0 B.S<0 C.S≠0 D.S≥0 E.S≤0 判断题 1.有交往的并发进程一定共享某些资源。
( )2.如果不能控制并发进程执行的相对速度,则它们在共享资源时一定会出现与时间有关的错误 ( )3.并发进程的执行结果只取决于进程本身,不受外界影响 ( )4.多道程序设计必然导致进程的并发执行 ( ) 有 m 个进程共享同一临界资源,若使用信号量机制实现对资源的互斥访问,则信号量值的变化范围是________________ 对于两个并发进程,设互斥信号量为 mutex,若 mutex=0,则________A 表示没有进程进入临界区 B 表示有一个进程进入临界区C 表示有一个进程进入临界区,另一个进程等待进入D 表示有两个进程进入临界区设系统中有 n(n>2)进程,且当前不在执行进程调度程序,试考虑下述 4 种情况哪种不能发生:A 没有运行进程,有 2 个就绪进程, n-2 个进程处于等待状态B 有 1 个运行进程,没有就绪进程,n-1 个进程处于等待状C 有 1 个运行进程,有 1 个就绪进程, n-2 个进程处于等待状态D 有 1 个运行进程,有 n-1 个就绪进程,没有进程处于等待状态设有一个作业由四个进程组成,这四个进程在运行时必须按图所示的顺序,用 P、V 原语操作表达四个进程的同步关系。
应用题设系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算结果设每个用户程序对应一个进程问:这三个进程间有什么样的制约关系?试用 P、V 操作写出这些进程使用打印机的算法 判断下面的同步问题的算法是否正确?若有错,请指出错误原因并予以改正 (1)设 A、B 两进程共用一个缓冲区 Q,A 向 Q 写入信息, B 则从 Q 读出信息,算法框图如图所示 设 A、B 为两个并发进程,它们共享一临界资源其运行临界区的算法框图如图所示某套装服装厂有甲乙两个制作室和一个配套室两个制作室分别生产上衣和裤子,每制作一件上衣或裤子后制作室工人都要分别把它们送到配套室的衣架 F1 和裤架 F2 上,衣架 F1上存放上衣,裤架 F2 上存放裤子,衣架最多能放 50 件上衣,裤架最多能放 50 条裤子配套室工人每次从架上取一件上衣和一条裤子,然后将它们配成套装,并进行包装为防止操作出错, 甲制作室工人及配套室工人对衣架 F1 的存取动作应互斥进行,乙制作室工人及配套室工人对裤架 F2 的存取动作应互斥进行用 P、V 原语进行正确管理,分别描述甲制作室工人、乙制作室工人以及配套室工人的工作过程。
解:(1)设公用信号量 mutex1 和 mutex2 控制进程对衣架和裤架的互斥操作设私用信号量 empty1 和 empty2 分别表示衣架和裤架的空位数,full1 表示衣架上的衣服数,full2 表示裤架上的裤子数 (2)初始化 mutex1=1,mutex2=1,empty1=50,empty2=50,full1=0,full2=0 (3)描述:甲制作室工人工作过程: 乙制作室工人工作过程:L1:生产一件上衣 L2:生产一条裤子P(empty1) P(empty2)P(mutex1) P(mutex2)将上衣放到衣架上 将裤子放到裤架上V(mutex1) V(mutex2)V(full1) V(full2)Goto L1 Goto L2配套工人工作过程:L3:P(full1)P(full2)P(mutex1)P(mutex2)分别取上衣和裤子进行配套V(mutex1)V(mutex2)V(empty1)V(empty2)Goto L3在一个盒子里,混装了数量相等的黑白围棋子。
现在利用自动分拣系统把黑子、白子分开,设分拣系统有两个进程 P1 和 P2,其中进程 P1 拣白子;进程 P2 拣黑子规定每个进程一次拣一子,当一个进程在拣时不允许另一个进程去拣,当一个进程拣了一子时,必须让另一个进程去拣试写出进程 P1 和 P2 能够正确并发执行的程序设私有信号量 S1=1;S2=0P1(){ P2(){P(S1); P(S2);拣白子; 拣黑子; V(S2);} V(S1);}有一个仓库,可存放 X、Y 两种产品,仓库的存储空间足够大,但要求: (1)每次只能存入一种产品 X 或 Y,(2)满足-N0 包含了 S>0 和 S<0,当 S<0时进程将成为等待状态而不能运行 [题解]A ,D 3.[题解]A ,C,E 4.[题解]A ,B,C,D,E三、判断题 1.[题解]是。
2. [分析]如果不控制并发进程执行的相对速度,则它们在共享资源时可能会出现两种情况:一种是并发进程交替使用共享资源,这样就可能会发生与时间有关的错误;另一种是并发执行的速度没有致使它们交替使用共享资源,这时就不会出现与时间有关的错误因而,本题的结论“一定会出现与时间有关的错误”是不对的[题解]否 3.[分析] 所谓防止死锁是指采用了某种方法后系统一定不会发生死锁但是,使用 PV 操作不一定能防止死锁,教材中的五个哲学家问题就是例证所以, PV 操作可以防止死锁的说法是错误的 [题解]否 4. [分析]如果一个进程单独执行时,那么执行结果只取决于进程本身,不受外界影响但多个进程并发执行时,无论是进程本身的原因还是外界的因素都会影响到进程的执行速度如果并发进程有共享变量且其执行速度造成了它们交替访问共享变量,那么进程的执行结果可能不惟一故本题的阐述不确切 [题解]否5.[题解]是 6.[题解] 是 7.[分析]限制共享资源互斥使用后仍可能引起系统死锁,可举例说明例如,教材中五个哲学家问题,采用了 PV 操作来保证共享资源的互斥使用,但还是发生了循环等待,且这种等待永远不能结束,引起了死锁。
所以,资源的互斥使用不能保证系统不会死锁[题解]否 8. [分析] 若任何一个进程在申请新资源前总是先归还已得到的资源,则任何进程都不会发生“占有且等待资源”的情况也就是说,这种资源分配策略能破坏形成死锁的四个必要条件中的第二个条件,故可防止死锁 [题解]是 四、填空题 1.封闭性,可再现性 2.并发进程 3.与时间有关的 4.临界区 5.P, V 6.竞争(或互斥) ,协作(或同步) 7.P, V 8.等待信号量,就绪 9.[分析]因规定该资源只能互斥使用,因而信号量的初值应定义为 1当 n 个进程各调用一次 P 操作时将使信号量的值为最小 [ 题解]1,(1-n)或-(n-1) 10.[分析] 由于初值为 10,因而调用了 18 次 P 操作后的值为( l0-18)=-8再调用 15 次V 操作的话则信号量的值为(- 8+15)=7 「题解」7 11.send(或发送) ,receive(或接收) 12.发送者的信件,信箱 13.互斥使用资源,循环等待资源 14 死锁防止,死锁避免 15.防止 16.静态分配,按序分配,剥夺式分配 17.不安全 18.银行家 19.安全 20.处理器,主存储器 21.循环等待资源 22.静态四、填空题 1.封闭性,可再现性 2.并发进程 3.与时间有关的 4.临界区 5.P, V 6.竞争(或互斥) ,协作(或同步) 7.P, V 8.等待信号量,就绪 9.[分析]因规定该资源只能互斥使用,因而信号量的初值应定义为 1。
当 n 个进程各调用一次 P 操作时将使信号量的值为最小 [ 题解]1,(1-n)或-(n-1) 10.[分析] 由于初值为 10,因而调用了 18 次 P 操作后的值为( l0-18)=-8再调用 15 次V 操作的话则信号量的值为(- 8+15)=7 「题解」7 11.send(或发送) ,receive(或接收) 12.发送者的信件,信箱 13.互斥使用资源,循环等待资源 14 死锁防止,死锁避免 15.防止 16.静态分配,按序分配,剥夺式分配 17.不安全 18.银行家 19.安全 20.处理器,主存储器 21.循环等待资源 22.静态 。
