1、进程同步与互斥练习题选择题 1任何两个并发进程之间存在着(D)的关系。A各自完全独立 B拥有共享变量 C必须互斥 D可能相互制约 2并发进程执行的相对速度是(D)。A由进程的程序结构决定的 B由进程自己来控制的 C在进程被创建时确定的 D与进程调度策略有关的 3并发进程执行时可能会出现“与时间有关的错误”,这种错误是由于并发进程(A)引起的。A使用共享资源 B执行的顺序性 C要求计算时间的长短 D程序的长度 4并发进程中与共享变量有关的程序段称为(B)。A共享子程序 B临界区 C管理区 D公共数据区 5用来实现进程同步与互斥的PV操作实际上是由(D)过程组成的。A一个可被中断的 B一个不可被中
2、断的 C两个可被中断的 D.两个不可被中断的 6进程从运行态变为等待态可能由于(B)。A执行了V操作 B执行了P操作 C时间片用完 D有高优先级进程就绪 7用PV操作管理互斥使用的资源时,信号量的初值应定义为(A)。A任意正整数 B1 C0 D-1 8.用P、V操作管理临界区时,互斥信号量的初值应定义为(B)。A任意值 B1 C0 D-1 9现有n个具有相关临界区的并发进程,如果某进程调用P操作后变为等待状态,则调用P操作时信号量的值必定为(A)。A0 B1 Cn-1 Dn 10用PV操作管理临界区时把信号量的初值定义为1,现已有一个进程在临界区,但有n个进程在等待进人临界区,这时信号量的值为
3、(C)。A-1 B1 C-n Dn 11用V操作唤醒一个等待进程时,被唤醒进程的状态应变成(B)状态。A执行 B就绪 C运行 D收容 12进程间的同步是指进程间在逻辑上的相互(B)关系。A联接 B制约 C继续 D调用 多项选择题多项选择题 1有关并发进程的下列叙述中,(CDE)是正确的。A任何时刻允许多个进程在同一CPU上运行 B进程执行的速度完全由进程自己控制 C并发进程在访问共享资源时可能出现与时间有关的错误 D同步是指并发进程中存在的一种制约关系 E各自独立的并发进程在执行时不会相互影响 2一个正在运行的进程调用P(s)后,若S的值为(AD),则该进程可以继续运行。AS0 BS0 CS0
4、 DS0 ES0 判断题判断题 1有交往的并发进程一定共享某些资源。()2如果不能控制并发进程执行的相对速度,则它们在共享资源时一定会出现与时间有关的错误。()3并发进程的执行结果只取决于进程本身,不受外界影响。()4多道程序设计必然导致进程的并发执行。()1.有有m个进程共享同一临界资源,若使用信号量机制实现对资源个进程共享同一临界资源,若使用信号量机制实现对资源的互斥访问,则信号量值的变化范围是的互斥访问,则信号量值的变化范围是 1-m mutex 1。2.对于两个并发进程,设互斥信号量为对于两个并发进程,设互斥信号量为mutex,若,若mutex=0,则,则_B_A 表示没有进程进入临界
5、区表示没有进程进入临界区 B 表示有一个进程进入临界区表示有一个进程进入临界区C表示有一个进程进入临界区,另一个进程等待进入表示有一个进程进入临界区,另一个进程等待进入D 表示有两个进程进入临界区表示有两个进程进入临界区3.设系统中有设系统中有n(n2)进程,且当前不在执行进程调度程序,试)进程,且当前不在执行进程调度程序,试考虑下述考虑下述4种情况哪种不能发生:种情况哪种不能发生:AA没有运行进程,有没有运行进程,有2个就绪进程,个就绪进程,n-2个进程处于等待状态。个进程处于等待状态。B有有1个运行进程,没有就绪进程,个运行进程,没有就绪进程,n-1个进程处于等待状个进程处于等待状C有有1
6、个运行进程,有个运行进程,有1个就绪进程,个就绪进程,n-2个进程处于等待状态个进程处于等待状态D有有1个运行进程,有个运行进程,有n-1个就绪进程,没有进程处于等待状态个就绪进程,没有进程处于等待状态 设有一个作业由四个进程组成,这四个进程在运行时必须按图所示的顺序,用P、V原语操作表达四个进程的同步关系。T1T3T2T4应用题 设系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算结果。设每个用户程序对应一个进程。问:这三个进程间有什么样的制约关系?试用P、V操作写出这些进程使用打印机的算法。判断下面的同步问题的算法是否正确?若有错,请指出错误原因并予以改正(1)设A、
7、B两进程共用一个缓冲区Q,A向Q写入信息,B则从Q读出信息,算法框图如图所示。注:信号量S的初值为0设A、B为两个并发进程,它们共享一临界资源。其运行临界区的算法框图如图所示。注:信号量S1、S2的初值均为0 某套装服装厂有甲乙两个制作室和一个配套室。两个制作室分别生产上衣和裤子,每制作一件上衣或裤子后制作室工人都要分别把它们送到配套室的衣架F1和裤架F2上,衣架F1上存放上衣,裤架F2上存放裤子,衣架最多能放50件上衣,裤架最多能放50条裤子。配套室工人每次从架上取一件上衣和一条裤子,然后将它们配成套装,并进行包装。为防止操作出错,甲制作室工人及配套室工人对衣架F1的存取动作应互斥进行,乙制
8、作室工人及配套室工人对裤架F2的存取动作应互斥进行。用P、V原语进行正确管理,分别描述甲制作室工人、乙制作室工人以及配套室工人的工作过程。甲制作室乙制作室上衣裤子F1衣架F2裤架配套室工人上衣裤子解:(1)设公用信号量mutex1和mutex2控制进程对衣架和裤架的互斥操作 设私用信号量empty1和empty2分别表示衣架和裤架的空位数,full1表示衣架上的衣服数,full2表示裤架上的裤子数(2)初始化mutex1=1,mutex2=1,empty1=50,empty2=50,full1=0,full2=0 (3)描述:甲制作室工人工作过程:乙制作室工人工作过程:L1:生产一件上衣 L2
9、:生产一条裤子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拣黑子。规定每个进程一次拣一子,当一个
10、进程在拣时不允许另一个进程去拣,当一个进程拣了一子时,必须让另一个进程去拣。试写出进程P1和P2能够正确并发执行的程序。设私有信号量S1=1;S2=0P1()P2()P(S1);P(S2);拣白子;拣黑子;V(S2);V(S1);有一个仓库,可存放X、Y两种产品,仓库的存储空间足够大,但要求:(1)每次只能存入一种产品X或Y,(2)满足-NX产品数量-Y产品数量M。其中N和M是正整数,试用信号量与P、V操作实现产品X与Y的入库过程。设互斥信号量mutex=1;私有信号量sx=M-1;sy=N-1;storeX()storeY()P(sx);P(sy);P(mutex);P(mutex);将X产品入库;将X产品入库;V(mutex);V(mutex);V(sy);V(sx);