操作系统-进程同步-信号量练习题
- 格式:docx
- 大小:19.42 KB
- 文档页数:7
操作系统作业【注意】对于作业中的选择题,都要求抄写题目(题中若有插图可不画),并在题目上填写答案。
作业1——进程同步(1)1.设有n个进程使用同一个共享变量,如果最多允许m(m < n)个进程同时进入相关临界区,则信号量的变化范围是。
A. n,n-1,...,n-mB. m,m-1,...1,0,-1,...m-nC. m,m-1,...1,0,-1,...m-n-1D. m,m-1,...1,0,-1,...m-n+12.对于有两个并发进程的系统,设互斥信号量为mutex,若mutex=0,则。
A. 表示没有进程进入与mutex相关的临界区B. 表示有一个进程进入与mutex相关的临界区C. 表示有一个进程进入与mutex相关的临界区,另一个进程等待进入D.表示有两个进程进入与mutex相关的临界区3.S.queue,S.value是信号灯S的两个组成部分,当S.queue为空时,S.value的值是( ) A.S.value≤0 B.S.value=0 C.S.value=1 D.Svalue≥04.如果信号量的当前值为-3,则表示系统中在该信号量上有个等待进程。
5.下列选项中,操作系统提供给应用程序的接口是。
(2010全国试题)A.系统调用B.中断C.库函数D.原语6.下列选项中,导致创建新进程的操作是。
(2010全国试题)I.用户登录成功II.设备分配III.启动程序执行A.仅I和II B.仅II和III C.仅I和III D.I、II和III7.设与某资源关联的信号量初值为3,当前值为1。
若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别是。
(2010全国试题)A.0、1 B.1、0 C.1、2 D.2、0作业2——进程同步(2)1.如何利用信号量机制来实现多个进程对临界资源的互斥访问?2.四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F,但限制是进程A 和进程C不能同时读文件F,进程B和进程D也不能同时读文件F,为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理,请回答下面的问题:(1)应定义的信号量及初值:。
第三章一.选择题(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__。
进程管理(Part 2)一、填空题1.进程的“同步”和“互斥”反映了进程间①和②的关系。
2.死锁产生的原因是①和②。
3.产生死锁的四个必要条件是①、②、③、④。
4.在操作系统中,信号量是表示①的物理实体,它是一个与②有关的整型变量,其值仅能由③原语来改变。
5.每执行一次P原语,信号量的数值S减1。
如果S>=0,该进程①;若S<0,则②该进程,并把它插入该③对应的④队列中。
6.每执行一次V原语,信号量的数值S加1。
如果①,进程继续执行;如果S <=0,则从对应的②队列中移出一个进程R,该进程状态变为③。
7.利用信号量实现进程的①,应为临界区设置一个信号量mutex。
其初值为②,表示该资源尚未使用,临界区应置于③和④原语之间。
8.在多道环境下,由于进程的并发执行,一段程序为多个进程①时,要求在执行的过程中,该段程序的指令和数据不能被②,这样的程序段称为③。
二、单项选择题1.在非剥夺调度方式下,运行进程执行V原语之后,其状态。
(A)不变(B)要变(C)可能要变(D)可能不变2.两个进程争夺同一个资源。
(A)一定死锁(B)不一定死锁(C)不死锁(D)以上说法都不对3.①是一种只能由P操作和V操作进行访问的特殊变量,可以用来实现异步并行进程间的②以排它地访问共享数据,还可以用来实现③,实现进程间在逻辑上的相互制约关系。
(A)调度(B)类程(C)进程(D)互斥(E)信号量(F)控制变量(G)同步(H)共享变量(I)规程(J)分配4.可以被多个进程在任一时刻共享的代码必须是。
(A)不能自身修改的纯码(B)顺序代码(C)无转移指令的代码(D)汇编语言编制的代码5.当对信号量进行V原操作之后,。
(A)当S<0,进程继续执行(B)当S>0,要唤醒一个就绪进程(C)当S<=0,要唤醒一个等待进程(D)当S<=0,要唤醒一个就绪进程6.在下列叙述中,错误的一条是。
(A)进程被撤消时,只需释放该进程的PCB就可以了,因为PCB是进程存在的唯一标志(B)进程的互斥和同步都能用P/V原语实现(C)用户程序中执行系统调用命令时,处理机的状态字将发生改变(D)设备独立性是指用户在编程时,所使用的设备与实际设备无关7.正在运行的进程在信号量S上作P操作之后,当S<0,进程将进入信号量的。
第三章进程管理练习题一、选择题1.如果信号量S的值是0,此时进程A执行P(S)操作,那么,进程A会()。
A.继续运行 B.进入阻塞态,让出CPUC.进入就绪态,让出CPU D.继续运行,并唤醒S队列头上的等待进程2. 正在运行的进程在信号量S上操作P操作之后,当S<0,进程将进入信号量的()。
A.等待队列B.提交队列C.后备队列D.就绪队列3.在非剥夺调度方式下,运行进程执行V原语后,其状态()。
A.不变B.要变C.可能要变D.可能不变4. 一个进程被唤醒,意味着()。
A.改进程重新占有了CPUB.进程状态变为就绪C.它的优先权变为最大D.其PCB移至就绪队列的队首5.. 系统感知进程的唯一实体是()。
A.JCBB.FCBC.PCBD.SJT6. 一进程在某一时刻具有()。
A.一种状态B.二种状态C.三种状态D.四种状态7. 进程从运行状态变为等待的原因可能是()。
A.输入/输出事件发生B.时间片到C.输入/输出事件完成D.某个进程被唤醒8. 进程创建原语的任务是()。
A.为进程编制程序B.为进程建立PCB表C.为进程分配CPUD.为进程分配所需的各种资源9. 进程被创建后即进入()排队。
A.阻塞队列B.就绪队列C.缓冲队列D.运行队列10.在操作系统中,进程是一个具有一定独立功能的程序在某个数据集上的一次。
A)等待活动 B)运行活动 C)单独操作 D)关联操作11.下面对进程的描述中,错误的是。
A)进程是动态的概念 B)进程执行需要处理机 C)进程是有生命期的 D)进程是指令的集合12. 进程和程序的本质区别是( ) 。
A)存储在内存和外存 B)顺序和非顺序执行机器指令 C)分时使用和独占使用计算机资源 D)动态和静态特征13.下列的进程状态变化中,( ) 变化是不可能发生的。
A)运行一就绪 B)运行一等待 C)等待一运行 D)等待一就绪14.一个运行的进程用完了分配给它的时间片后,它的状态变为A)就绪 B)等待 C)运行 D)完成15.在进程管理中,当时,进程从阻塞状态变为就绪状态。
一、填空练习1.程序的执行是现代操作系统的基本特征之一,为了更好地描述这一特征而引入了这一概念。
2.进程存在的标志是。
3.进程的静态实体由、和三部分组成。
4.用于进程控制的原语主要有、、和。
5.进程被创建后,最初处于状态,然后经选中后进入状态。
6.进程创建工作主要完成的是创建进程控制块(PCB),并把它挂到队列中。
7.如果系统中有n个进程,则在就绪队列中进程的个数最多。
8.进程的同步和互斥反映了进程间和的关系。
9.死锁产生的四个必要条件是、、和四种。
10.操作系统中信号量的值与的使用情况有关,它的值仅能由来改变。
11.进程至少有三种基本状态:、和。
12.每执行一次P操作,信号量的数值S减1。
若S>0,则该进程;若S<0,则该进程。
13.每执行一次V操作,信号量的数值S加1。
若,则该进程继续执行;否则从对应的队列中移出一个进程并将状态赋予该进程。
14.利用信号量实现进程的,应为临界区设置一个信号量mutex,其初值为1,表示该资源尚未使用,临界区应置于和原语之间。
15. Windows NT是采用结构的操作系统,它的进程的功能发生了变化,它只是资源分配的单位,不是的单位,后者的功能由完成。
16. 通常,线程的定义是____________________________________。
在现代操作系统中,资源的分配单位是__________________,而处理机的调度单位是________________,一个进程可以有___________线程。
17. 计算机系统一般都设计有两种运行状态,和。
18. 目前,在操作系统设计中采用的结构模型主要有四种:、、和。
参考答案:1、并发,进程2、进程控制块PCB3、程序,数据集合,进程控制块PCB4、建立原语、撤消原语,挂起原语,激活原语5、就绪,进程调度程序,执行6、就绪7、n-18、直接制约,间接制约9、互斥使用,保持和等待,非剥夺性,循环等待10、相应资源,P、V操作11、执行态,就绪态,等待态12、继续执行,等待13、S>0,等待,就绪14、互斥,P(mutex),V(mutex)15、微内核,调度运行,线程16、是进程中执行运算的最小单位,进程,线程,多个17、用户态,核心态18、层次模块模型,整体内核模型,进程模型,对象模型二、选择练习1. 操作系统中,可以并行工作的基本单位是[1],[1]也是系统核心调度及资源分配的基本单位,它是由[2]组成的,它与程序的主要区别是[3]。
(一)图书馆有100个座位,每位进入图书馆的读者要在登记表上登记,退出时要在登记表上注销。
要几个程序?有多少个进程?(答:一个程序;为每个读者设一个进程)(1)当图书馆中没有座位时,后到的读者在图书馆为等待(阻塞)(2)当图书馆中没有座位时,后到的读者不等待,立即回家。
解(1 )设信号量:S=100; MUTEX=1P(S)P(MUTEX)登记V(MUTEX)阅读P(MUTEX)注销V(MUTEX)V(S)解(2)设整型变量COUNT=100; 信号量:MUTEX=1;P(MUTEX);IF (COUNT==0){ V(MUTEX);RETURN;}COUNT=COUNT-1;登记V(MUTEX);阅读P(MUTEX);COUNT=COUNT+1;V(MUTEX);RETURN;(二)有一座东西方向的独木桥;用P,V操作实现:(1)每次只允许一个人过桥;(2)当独木桥上有行人时,同方向的行人可以同时过桥,相反方向的人必须等待。
(3)当独木桥上有自东向西的行人时,同方向的行人可以同时过桥,从西向东的方向,只允许一个人单独过桥。
(此问题和读者与写者问题相同,东向西的为读者,西向东的为写者)。
(1)解设信号量MUTEX=1P (MUTEX)过桥V (MUTEX)(2)解设信号量:MUTEX=1 (东西方互斥)MD=1 (东向西使用计数变量互斥)设整型变量:CD=0 (东向西的已上桥人数) CX=0 (西向东的已上桥人数)从东向西:P (MD)IF (CD=0){P (MUTEX) }CD=CD+1V (MD)过桥P (MD)CD=CD-1IF (CD=0){V (MUTEX) }V (MD)从西向东:P (MX){P (MUTEX) }CX=CX+1V (MX)过桥P (MX)CX=CX-1IF (CX=0){V (MUTEX) }V (MX)(3) 解:从东向西的,和(2)相同;从西向东的和(1)相同。
进程同步练习题1.在公共汽车上,司机和售票员的工作流程如图所示。
为保证乘客的安全,司机和售票员应密切配合协调工作。
请用信号量来实现司机与售票员之间的同步。
司机售票员图司机和售票员工作流程图2.桌子上有一只盘子,盘子中只能放一只水果。
爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃盘子中的苹果。
用PV操作实现他们之间的同步机制。
3.a,b两点之间是一段东西向的单行车道,现要设计一个自动管理系统,管理规则如下:(1)当ab之间有车辆在行驶时同方向的车可以同时驶入ab段,但另一方向的车必须在ab 段外等待;(2)当ab之间无车辆在行驶时,到达a点(或b点)的车辆可以进入ab段,但不能从a 点和b点同时驶入;(3)当某方向在ab段行驶的车辆驶出了ab段且暂无车辆进入ab段时,应让另一方向等待的车辆进入ab段行驶。
请用信号量为工具,对ab段实现正确管理以保证行驶安全。
4.将只读数据的进程称为“读者”进程,而写或修改数据的进程称为“写者”进程。
允许多个“读者”同时读数据,但不允许“写者”与其他“读者”或“写者”同时访问数据。
另外,要保证:一旦有“写者”等待时,新到达的“读者”必须等待,直到该“写者”完成数据访问为止。
试用P、V操作正确实现“读者”与“写者”的同步。
(第二类读者写者问题,信号量解决方法)5.一条河上架设了由若干个桥墩组成的一座桥。
若一个桥墩只能站一个人,过河的人只能沿着桥向前走而不能向后退。
过河时,只要对岸无人过,就可以过。
但不允许河对岸的两个人同时过,以防止出现死锁。
请给出两个方向的人顺利过河的同步算法。
6.有一个仓库,可以存放A和B两种产品,但要求:(1)每次只能存入一种产品(A或B);(2)-N<A产品数量-B产品数量<M。
其中,N和M是正整数。
试用同步算法描述产品A与产品B的入库过程。
1、在公共汽车上,司机和售票员的工作流程如图所示。
为保证乘客的安全,司机和售票员应密切配合协调工作。
1【单选题】用P、V操作管理临界区时,互斥信号量的初值应定义为( A)。
•A,1
•B,0
•C,-1
•D,任意值
2【单选题】在操作系统中,对信号量S的P原语操作定义中,使进程进入相应等待队列等待的条件是( )。
•A,S>0
•B,S = 0
•C,S<0
•D,S<>0
我的答案:C
3【单选题】信号量S的初值为8,在S上执行了10次wait 操作,6次signal操作后,S的值为(D )。
•A,10
•B,8
•C,6
•D,4
P操作每执行一次,信号量减1;V操作每执行一次,信号量加1.所以答案为8-10+6 = 4
4【单选题】用V操作唤醒一个等待进程时,被唤醒进程的状态应变成( B)状态。
•A,执行
•B,就绪
•C,阻塞
•D,挂起
被唤醒的进程由等待状态变为就绪状态。
5【单选题】利用Wait和signal操作可以( )。
•A,实现进程互斥和同步
•B,检测死锁
•C,解除死锁
•D,防止死锁
我的答案:A
6【单选题】两个并发进程,设互斥信号量mutex(初值为1),若信号量=0;则(B )
•A,表示没有进程进入临界区
•B,表示有一个进程进入临界区
•C,表示有一个进程进入临界区,另一个进程等待进入
•D,表示两个进程进入临界区
临界区不允许两个进程同时进入,D选项明显错误。
mutex初值为1,表示允许一个进程进入临界区,当有一个进程进入临界区且没有进程等待进入时,mutex值减1,变为0。
7【单选题】V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值等于零,则从等待队列中唤醒一个进程,现进程变为等待状态,否则现进程继续进行。
•A,对
•B,错
我的答案:B
8【单选题】有3个进程,两台打印机,用wait和sigual操作来实现互斥访问打印机,则信号量S的取值范围是( )
•A,2,1,0,-1
•B,3,2,1,0
•C,2,1,0,-1,-2
•D,1,0,-1,-2
我的答案:如果n个进程共享两个打印机,信号量取值范围:-(n-2)~2;
9【单选题】设与某资源相关的资源信号量K,初值为3,当前值为1,则可用资源个数为( ),等待资源的进程数为( )。
•A,0,1
•B,1,0
•C,1,2
•D,2,0
我的答案:B
信号量表示当前的可用相关资源数。
当信号量K>0时,表示还有K个相关资源可用;而当信号量K<0时,表示有|K|个进程在等待该资源。
10【单选题】信号量机制是一种有效的实现进程同步与互斥的工具。
信号量只能由P V操作来改变。
•A,对
•B,错
我的答案:A
11【单选题】P V操作是( )。
•A,两条低级进程通信原语
•B,两组不同的机器指令
•C,两条系统调用命令
•D,两条高级进程通信原语
我的答案:A
12【单选题】如一个系统中,有5个并发进程共享变量A,则变量A的相关临界区是由( )个临界区组成。
•A,1
•B,3
•C,5
•D,6
临界资源是诸进程之间应采取互斥方式访问的,也就是一次只允许一个进程访问的资源,可以为硬件,软件,变量,数据,表格,队列等,并不单指硬件资源。
临界区就是每个进程中访问临界资源的那段代码。
五个并发进程都涉及了变量A,每一个进程中都有访问变量A 的代码,所以每个进程中都有相关临界区,因此是五个临界区构成。
相关临界区是指并发进程涉及到相同变量的那些程序段。
13【单选题】两个并发进程,设互斥信号量mutex(初值为1),若信号量=-1;则( )
•A,表示没有进程进入临界区
•B,表示有一个进程进入临界区
•C,表示有一个进程进入临界区,另一个进程等待进入
•D,表示有2个进程进入临界区
我的答案:C
当有一个进程进入临界区且另一个进程等待进入临界区时,mutex=-1。
等mutex小于0时,其绝对值等于等待进入临界区的进程数。
和第9题类似;
14【单选题】现有n个具有相关临界区的并发进程,如果某进程调用P操作后变为等待状态,则调用P操作时信号量的值必定为( )。
•A,<=0
•B,1
•C,n-1
•D,n
由进入等待状态可知,在此之前信号量小于等于0
15【单选题】Wait和signal操作是( )。
•A,两条低级进程通信原语
•B,两组不同的机器指令
•C,两条用户命令
•D,两条高级进程通信原语
我的答案:A
16【单选题】wait操作可能导致( )
•A,进程就绪
•B,进程结束
•C,进程阻塞
•D,新进程创建
我的答案:C
17【填空题】wait和signal操作是两个不可被( 中断)的过程。
18【填空题】一次最多( 一)个进程能够进入临界区.
19【填空题】执行一次wait,操作信号的值( 减一),表示申请一个单位的资源。
20【填空题】如果系统中有N个进程,则在就绪队列中进程的个数最多为( N-1)。
一个计算机系统中至少有一个处理机,能常处理机上有一个进程执行,因此就绪队列中进程个数最多为n-1。
如果系统中有n个进程,一个处理机,则处于就绪状态的进程最多有n-1个,最少有0个。
若n-1个处于阻塞状态,1个处于执行状态,则就绪状态为0个。
处于执行状态的最多1个,最少0个。
若都正好处于阻塞状态,则为0个。
处于阻塞状态的最多n个,最少0个。