操作系统-进程同步-信号量练习题

合集下载

操作系统习题

操作系统习题

操作系统作业【注意】对于作业中的选择题,都要求抄写题目(题中若有插图可不画),并在题目上填写答案。

作业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)应定义的信号量及初值:。

进程同步习题全

进程同步习题全
process R1 begin L1:从磁盘上读数据送x1; P(mutex); B:=x1; V(s1); goto L1 end;
process W1 begin L3: P(s1); y:=B; V(mutex); 打印y goto L3 end;
进程管理
process R2 begin L2:从键盘上读数据送x2; P(mutex); B:=x2; V(s2); goto L2 end;
进程管理
【例】进程P1使用缓冲区buffer向进程P2,P3,P4发 送消息,要求每当P1向buffer中发消息时,只有 当P2,P3,P4进程都读取这条消息后才可再向 buffer中发送消息。利用PV原语描述进程的动作 序列
P2 P1 buffer P3
P4
进程管理
【解答】设置信号量初值S1=S2=S3=0,S=3 进程P1 进程P2 进程P3 P4 P(S) P(S1) P(S2) P(S3) P(S) 读消息 读消息 读消息 P(S) V(S) V(S) V(S) 发送消息到 Buffer V(S1) V(S2)
进程管理
生产者i repeat P(empty) P(mutex) putdata V(mutex) V(full)
消费者i repeat P(full) P(mutex) getdata V(mutex) V(empty)
进程管理
【例】多个生产者,多个消费者,N个buffer,多次循环存 取buffer,即多个生产者不断进行putdata操作,多个消费 者不断进行getdata操作 【解答】 只有buffer有空间时才能进行putdata操作 只有buffer有数据时才能进行getdata操作 不允许多个消费者和多个生产者同时操作 信号量 full:表示buffer是否有数据,初值为0 empty:表示buffer是否为空,初值为n mutex:表示buffer是否可操作,初值为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.在进程管理中,当时,进程从阻塞状态变为就绪状态。

计算机操作系统进程同步算法习题选

计算机操作系统进程同步算法习题选

s
t
解:
设置四个信号量Sin=1,Sout=0,Tin=1,Tout=0; get: while(1) { wait(Sin); 将数放入S; signal (Sout); } copy: while(1) { wait (Sout); wait (Tin); 将数从S取出放入T; signal (Tout); signal (Sin); } put: while(1) { wait (Tout); 将数从T取走; signal(Tin); }

A1: while (1) { wait(Sin[1]); wait(Sin[2]); 将数据放入缓冲区 signal(Sout[1]); signal(Sout[2]); }
Bi: while (1) { wait(Sout[i]); 从缓冲区取数 signal(Sin[i]); }
向目标前进一步:
司机进程: while(1) { 启动车辆
正常驾驶 到站停车 }…
售票 员 进程 : while(1) { 关门
售票
}…
开门
分析:
为保证车辆行驶安全,售票员必须关好车门, 然后通知司机启动车辆,在行驶过程中售票员不 能打开车门,待车到站停稳后,司机通知售票员 才能打开车门,如此不断重复。为此,须设置两 个信号量S1,S2用来控制司机和售票员的行为, 初值都为0。
解:
算法如下: 司机进程: while(1) { wait(S1) 启动车辆 正常驾驶 到站停车 signal(S2) }… 售票员进 程: while(1) { 关门 signal(S1)
售票
wait(S2) 开门 }…
【例题2】
1.用wait、signal操作解决下图之同步问题 提示:分别考虑对缓冲区S和T的同步,再 合并考虑 get copy put

课后练习题及答案

课后练习题及答案

一、填空练习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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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个。

相关文档
最新文档