操作系统 进程间通信 例题 习题
// 生产车间2 void workshop2() { while (true){ produce a B; down(S3); put B onto F2; up(S4); } }
// 装配车间 void assemb_shop() { while (true){ down(S2); fetch an A from F1; up(S1); down(S4); fetch a B from F2; up(S3); assemble A and B; } }系,适用信号量实现这些 Nhomakorabea程的同步。
P1 P5 P2 P3 P4
P6
P8
P7
分析: 1. 上图给出了若干个进程先后执行的顺序要求,例如:P6 进程必须在P2和P3进程执行完才能执行。 2. 对于进程执行的先后顺序,可定义信号量来约束进程的 阻塞等待与唤醒。信号量Sij表示进程Pj需要在进程Pi运 行完成后才能运行。 3. 定义信号量: S12, S13,S14, S26,S36, S38, S47, S57, S78.
例1. 有4个进程A、B、C、D, 进程A通过一个缓冲区不断向
进程B、C、D发送消息,A每次向缓冲区送入一个消息 之后,必须等待进程B、C、D都取走后才可以发送下一 个消息。B、C、D对进程A送入的每个消息各取一次。 适用信号量完成四个进程的并发通信。 缓冲区只能存放一个消息,该消息应该被B,C,D三个进 程取走且不能重复取。因此,设三个信号量Sb, Sc, Sd, 用于保证三个接收进程的同步; 设置一个信号量S,用于表示缓冲区当前是否可用,初 始S=1,用于制约发送消息的进程A。 由于三个接收进程必须都取到消息后,发送者进程才可 发送下一个消息。因此需要对接收进程每次的接收做计 数。因此,设一个计数器R。初始R=0,进程每取走一次 消息,R++; 由于R变量为三个取消息的进程所共同操作,为共享变 量,设mutex为二元信号量,用于保护R变量的互斥访 问。
typedef int Semaphore; Semaphore S1,S2,S3,S4; Semaphore mutex1, mutex2; S1=S3=10; S2=S4=0; mutex1=mutex2=1;
// 生产车间1 void workshop1() { while (true){ produce an A; down(S1); put A onto F1; up(S2); } }
// 进程P6 Void P6() { down(s26); down(s36); }
// 进程P8 Void P4() { down(s38); down(s78); }
例3. 有一个仓库,可以存放A和B两种产品,仓库的容量如走大。但要
求: (1) 每次只能放入一种产品(A或B) (2) –N<A产品数量-B产品数量<M 其中,N和M是正整数。试用信号量描述“存放A”,“存放B”两种 入库过程。 分析: 1. 从条件(1)得知,入库过程为互斥过程,定义信号量mutex来控制; 2. 通过条件(2)得知,仓库中A和B两种产品的入库量应该符合如下 两个条件的“与”关系: -N<A产品数量-B产品数量 存放的A产品不能比B产品少N个,即: B产品数量- A产品数量 > N B产品数量-A产品数量>= N-1 同理: A产品数量-B产品数量<=M-1. 以上约束条件可理解为:A产品数量不能比B产品少N个,且不能比 B产品多M个。 3. 因此设置两个信号量:Sa和Sb,初始值分别为:Sa=M-1, Sb=N-1。
typedef int Semaphore; Semaphore s12, s13,s14, s26,s36,s47,s57,s38,s78; S12= s13=s14=s26=s36=s47=s57=s38=s78=0;
// 进程P1 Void P1() { up(s12); up(s13); up(s14); } // 进程P5 Void P5() { up(s57); }
typedef int Semaphore; Semaphore Sa, Sb; Sa=M-1; Sb=N-1;
void store() { while(true){ produce x; If( x is type of A) then { down(Sa); down(mutex); 存放A; up(Sb); up(mutex); } } } If( x is type of B) then { down(Sb); down(mutex); 存放B; up(Sa); up(mutex); }
// 进程D void receiver3() { while(true) { down(Sd); receive_mess(); down(mutex); R = R+1; up(mutex); if( R==3) up(S); } }
例2. 设有8个进程P1,P2,…,P8,它们有如图所示的优先关
// 进程P2 Void P2() { down(s12); up(s26); }
// 进程P3 Void P3() { down(s13); up(s36); up(s38); } // 进程P7 Void P7() { down(s47); down(s57); up(s78); }
// 进程P4 Void P4() { down(s14); up(s47); }
1.
2.
3.
4.
typedef int Semaphore; Semaphore Sb, Sc, Sd; Semaphore mutex=1; Semphore S =1; Sb=Sc=Sd=0; int R=0;
// 进程A void sender() { while(true) { down(S); send_message(); up(Sb); up(Sc); up(Sd); } }
例4. 某工厂有两个生产车间和一个装配车间,两个生产车间分别生产A、
B两种零件,装配车间的任务是把两种零件组装成产品。两个生产 车间每生产一个零件后都要分别把它们送到装配车间的货架F1、 F2上。F1存放零件A,F2存放零件B。F1和F2均可存放10个。装 配工人每次从货架上取一个A零件和一个B零件组装成产品。请描 述三个车间的过程。 分析: 1. 显然,这是一个生产者-消费者问题; 2. 不同的是,生产者是两个,分别是生产零件A的车间和生产零件B 的车间,消费者是一个,是装配车间。 3. 基于上述问题,可定义4个信号量: S1:表示F1上可放零件A的空位置数,初始值为10; S2:表示F1上已有零件A的数量,初始值为0; S3:表示F2上可放零件B的空位置数,初始值为10; S4:表示F2上已有零件B的数量,初始值为0; 另外,为保证零件A和零件B的存取,分别设置一个二元信号量: mutex1表示对零件A的存取的约束; mutex2表示对零件B的存取的约束;
// 进程B void receiver1() { while(true) { down(Sb); receive_mess(); down(mutex); R = R+1; up(mutex); if( R==3) up(S); } }
// 进程C void receiver2() { while(true) { down(Sc); receive_mess(); down(mutex); R = R+1; up(mutex); if( R==3) up(S); } }
(完整版)第三章进程同步与通信作业习题与答案
第三章一.选择题(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__。
进程间通信例题
// 进程P6 Void P6() { down(s26); down(s36); }
// 进程P8 Void P4() { down(s38); down(s78); }
例3. 有一个仓库,可以存放A和B两种产品,仓库的容量如走大。但要
求: (1) 每次只能放入一种产品(A或B) (2) –N<A产品数量-B产品数量<M 其中,N和M是正整数。试用信号量描述“存放A”,“存放B”两种入 库过程。 分析: 1. 从条件(1)得知,入库过程为互斥过程,定义信号量mutex来控制; 2. 通过条件(2)得知,仓库中A和B两种产品的入库量应该符合如下 两个条件的“与”关系: -N<A产品数量-B产品数量 存放的A产品不能比B产品少N个,即: B产品数量- A产品数量 > N B产品数量-A产品数量>= N-1 同理: A产品数量-B产品数量<=M-1. 以上约束条件可理解为:A产品数量不能比B产品少N个,且不能比 B产品多M个。 3. 因此设置两个信号量:Sa和Sb,初始值分别为:Sa=M-1, Sb=N-1。
typedef int Semaphore; Semaphore Sa, Sb; Sa=M-1; Sb=N-1; void store() { while(true){ produce x; If( x is type of A) then { down(Sa); down(mutex); 存放A; up(Sb); up(mutex); } } } If( x is type of B) then { down(Sb); down(mutex); 存放B; up(Sa); up(mutex); }
例1. 有4个进程A、B、C、D, 进程A通过一个缓冲区不断向进程B、C、
进程同步与通信作业习题与答案
第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。
A.管道B.管程C.通道2.以下_B__不是操作系统的进程通信手段。
A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。
4.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V操作管理时信号量S的可能取值是_C__。
,2,1,0,-1 ,1,0,-1,-2 C. 1,0,-1,-2,-3 ,3,2,1,05.下面有关进程的描述,是正确的__A__。
A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误、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__。
A.进程之间无关,系统是封闭的B.进程之间相互依赖相互制约C.进程之间可能有关,也可能无关D.以上都不对13. 在消息缓冲通信中,消息队列是一种__A__资源。
操作系统习题第四章
第四章互斥、同步与通讯一、单项选择题1.一个正在访问临界资源的进程由于申请等待I/O操作而被中断时,__________. A.可以允许其他进程进入与该进程相关的临界区B.不允许其他进程进入任何临界区C. 可以允许其他就绪进程抢占处理器,继续运行D.不允许任何进程抢占处理器2.两个并发进程之间______ A 一定存在互斥关系B 一定存在同步关系C 一定彼此独立无关D 可能存在同步或互斥关系3.为了使两个进程能同步运行,最少需要_______个信号量。
A 一B 二C 三D 四4.共享变量是指__________访问的变量。
A. 只能被系统进程B. 只能被多个进程互斥C. 只能被用户进程D. 可被多个进程5.临界区是指并发进程中访问共享变量的__________. A.管理信息 B.数据 C.信息存储 D.程序段6.设有三个进程共享一个资源,如果每次只允许一个进程使用该资源,则用PV操作管理时信号量S的可能取值是___________ A.1,0,-1,-2 B.2,0,-1,-2 C.1,0,-1 D.3,2,1,0 7.进程的并发执行是指若干个进程__________. A. 同时执行B. 在执行的时间上是重叠的C. 在执行的时间上是不可重叠的D. 共享系统资源8.在进程通信中,__________常用信件交换信息。
A.低级通信 B.高级通信 C.消息通信 D.管道通信9.实现进程同步时,每一个消息与一个信号量对应,进程_________可把不同的消息发送出去。
A.在同一信号量上调用P操作B.在不同信号量上调用P操作C.在同一信号量上调用V操作D.在不同信号量上调用V操作10._________是只能有P和V操作所改变的整形变量。
A.共享变量B.锁C.整型信号量D.记录型信号量11.在执行V操作时,当信号量的值_________时,应释放一个等待该信号量的进程。
A.大于0 B.小于0 C.大于等于0 D.小于等于0 12.进程和程序的主要区别是__________. A.占用处理器和不占用处理器B.占用主存和不占用主存C.动态和静态D.连续执行和非连续执行13.有三个进程P1,P2,P3共享同一个程序段,而每次最多允许两个进程进入该程序段,则信号量S的初值为___________. A. 0 B. 1 C. 2 D. 3 14.若P、V操作的信号量S初值为2,当前值为-1,则表示有_________等待进程。
计算机操作系统习题及答案(4)
第4章进程同步与通信1)选择题(1)在操作系统中,P、V操作是一种_D__。
A. 机器指令B. 系统调用命令C. 作业控制命令D. 低级进程通信原语(2)若信号量S的初值为2,当前值为-1,则表示有_B__等待进程。
A. 0个B. l个C. 2个D. 3个(3)在直接通信方式中,系统提供两条通信原语进行发送和接收,其中Send原语中参数应是_C_。
A. sender,messageB. sender,mailboxC. receiver,messageD. receiver,mailbox(4)下述那个选项不是管程的组成部分_A__。
A. 管程外过程调用管程内数据结构的说明B. 管程内对数据结构进行操作的一组过程C. 局部于管程的共享数据说明D. 对局部于管程的数据结构设置初值的语句(5)某通信方式通过共享存储区来实现,其属于_D__。
A. 消息通信B. 低级通信C. 管道通信D. 高级通信(6)用P、V操作管理临界区时,信号量的初值应定义为__C__。
A. -1B. 0C. 1D. 任意值(7)临界区是_B__。
A. 一个缓冲区B. 一段程序C. 一段共享数据区D. 一个互斥资源(8)信箱通信是一种_D__通信方式。
A. 直接通信B. 信号量C. 低级通信D. 间接通信(9)对于两个并发进程,设互斥信号量为mutex,若mutex=0则__A_。
A. 表示有一个进程进入临界区B. 表示没有进程进入临界区C. 表示有一个进程进入临界区,另一个进程等待进入D. 表示有两个进程进入临界区(10)对信号量S执行V操作后,下述选项正确的是_C__。
A. 当S小于等于0时唤醒一个阻塞进程B. 当S小于0时唤醒一个阻塞进程C. 当S小于等于0时唤醒一个就绪进程D. 当S小于0时唤醒一个就绪进程(11)在消息缓冲通信中,消息队列属于_A__资源。
A. 临界B. 共享C. 永久D. 可剥夺(12)在消息缓冲通信机制中,使用的临界资源是_D__。
操作系统进程练习题答案
第二章进程管理1.操作系统重要是对计算机系统所有 (1) 进行管理,以以便顾客、提高计算机使用效率旳一种系统软件。
它旳重要功能有:解决机管理、存储管理、文献管理、 (2) 管理和设备管理等。
Windows和Unix是最常用旳两类操作系统。
前者是一种具有图形界面旳窗口式旳 (3) 系统软件,后者是一种基本上采用 (4) 语言编制而成旳旳系统软件。
在 (5) 操作系统控制下,计算机能及时解决由过程控制反馈旳信息并作出响应。
供选答案:(1): A. 应用软件 B. 系统软硬件C. 资源D. 设备(2): A. 数据 B. 作业C. 中断D. I/O(3): A. 分时 B. 多任务C. 多顾客D. 实时(4): A. PASCAL B. 宏C. 汇编D. C(5): A. 网络 B. 分时C. 批解决D. 实时答案:CBBDD2.操作系统是对计算机资源进行旳 (1) 系统软件,是 (2) 旳接口。
在解决机管理中,进程是一种重要旳概念,它由程序块、 (3) 和数据块三部分构成,它有3种基本状态,不也许发生旳状态转换是 (4) 。
虚拟存储器旳作用是容许程序直接访问比内存更大旳地址空间,它一般使用 (5) 作为它旳一种重要构成部分。
供选答案:(1): A. 输入和输出 B. 键盘操作C. 管理和控制D. 汇编和执行(2): A. 软件和硬件 B. 主机和外设C. 高级语言和机器语言D. 顾客和计算机(3): A. 进程控制块 B. 作业控制块C. 文献控制块D. 设备控制块(4): A. 运营态转换为就绪态 B. 就绪态转换为运营态C. 运营态转换为等待态D. 等待态转换为运营态(5): A. 软盘 B. 硬盘C. CDROMD. 寄存器答案:CDADB3.在计算机系统中,容许多种程序同步进入内存并运营,这种措施称为 D。
A. Spodling技术B. 虚拟存储技术C. 缓冲技术D. 多道程序设计技术4.分时系统追求旳目旳是 C。
4.8 进程通信习题
【例】在UNIX系统中,当一个进程向另一个进程发 送信号后,接收信号的进程如何处理信号? 【解答】 当一个进程接收到某一个信号后,处理方式与硬中 断非常类似。即它立即暂停自己正在执行的程序, 转去执行事先规定的对该信号的处理程序FUNC, 完成后再返回原先正在执行的程序。所不同的知 识信号的设置检查都是由软件来实施的,所有又 称为软中断。
间接通信: 这种通信是以信箱为媒体来实现通信的, 只要接收信件的进程设立一个信箱,那么, 若干个进程都可向同一个进程发送信件。 利用信箱通信时,“send”,“receive”原语 中应给出信箱名,即: send(N,M) 把信件M送入信箱N中 receive(N,X) 从信箱N中取出一封信 存入X
【例】UNIX系统V中,系统向用户提供的用 于建立无名管道的系统调用是();用于 建立有名管道的系统调用是() 【答案】PIPE MKNOD
【例】UNIX系统中,()管道只能用于同族 进程之间的通信,而()管道则可以用于 ()所有进程间的通信 【答案】无名 有名,知道该管道名字的
【例】通过专门的通信机制来实现进程间交 换大量信息的通信方式称为进程通信。进 程是用()来交换信息的,最基本的通信 原语包括()和()。 【解答】消息 Send发送消息原语 Receive接受消息原语
解答有名管道利用系统调用pipe建立一个无名临时文件只有调用pipe的进程及其子孙进程才能利用该管道进行通信有名管道利用系统调用mknod建立一个可以在文件系统中长期存在的具有路径名的文件凡是知道该路径名的进程都可以利用该路程名来访问管道文件实现彼此之间的通信
第4章 进程通信习题
【例】在消息缓冲通信中,系统应提供若干 ( ),用以存放信息。 A 队列缓冲区 B 消息缓冲区 C 容量的大缓冲区 D 容量小的缓冲区
计算机操作系统习题及答案4
计算机操作系统习题及答案4第4章进程同步与通信1 )选择题(1)在操作系统中,P、V操作是⼀种_D__。
A. 机器指令B. 系统调⽤命令C. 作业控制命令D. 低级进程通信原语(2)若信号量S的初值为2,当前值为-1,则表⽰有_B__等待进程。
A. 0个B. l个C. 2个D. 3个(3)在直接通信⽅式中,系统提供两条通信原语进⾏发送和接收,其中Send原语中参数应是_C_。
A. sender,messageB. sender,mailboxC. receiver,messageD. receiver,mailbox(4)下述那个选项不是管程的组成部分_A__。
A. 管程外过程调⽤管程内数据结构的说明B. 管程内对数据结构进⾏操作的⼀组过程C. 局部于管程的共享数据说明D. 对局部于管程的数据结构设置初值的语句(5)某通信⽅式通过共享存储区来实现,其属于_D__。
A. 消息通信B. 低级通信C. 管道通信D. ⾼级通信(6)⽤P、V操作管理临界区时,信号量的初值应定义为__C__。
A. -1B. 0C. 1D. 任意值(7)临界区是_B__。
A. ⼀个缓冲区B. ⼀段程序C. ⼀段共享数据区D. ⼀个互斥资源(8)信箱通信是⼀种_D__通信⽅式。
A. 直接通信B. 信号量C. 低级通信D. 间接通信(9)对于两个并发进程,设互斥信号量为mutex,若mutex=0则__A_。
A. 表⽰有⼀个进程进⼊临界区B. 表⽰没有进程进⼊临界区C. 表⽰有⼀个进程进⼊临界区,另⼀个进程等待进⼊D. 表⽰有两个进程进⼊临界区(10)对信号量S执⾏V操作后,下述选项正确的是_C__。
A. 当S⼩于等于0时唤醒⼀个阻塞进程B. 当S⼩于0时唤醒⼀个阻塞进程C. 当S⼩于等于0时唤醒⼀个就绪进程D. 当S⼩于0时唤醒⼀个就绪进程(11)在消息缓冲通信中,消息队列属于_A__资源。
A. 临界B. 共享C. 永久D. 可剥夺(12)在消息缓冲通信机制中,使⽤的临界资源是_D__。
操作系统第3章(进程的同步与通信习题与解答)
第3章进程的同步与通信习题与解答3.2 例题解析例3.2.1 多道程序系统程序的执行失去了封闭性和再现性,因此多道程序的执行不需要这些特性,这种说法是否正确?解这种说法不正确。
可以想象,如果一个程序在多道程序系统中,在相同的输入的情况下,多次执行所得结果是不同的,有谁还敢使用这个程序?因此,多道程序的执行也需要封闭性和再现性,只不过单道程序系统的封闭性和再现性是先天固有的,多道程序系统的程序执行要想获得封闭性和再现性,需通过程序员的精心设计才能得到。
所使用的方法就是同步和互斥的方法。
例3.2.2 多个进程对信号量S进行了5次 P操作,2次V操作后,现在信号量的值是 -3,与信号量S相关的处于阻塞状态的进程有几个?信号量的初值是多少?解(1) 因为S的当前值是-3,因此因为S处于阻塞状态的进程有3个;(2) 因为每进行一次P(S)操作,S的值都减1,每执行1次V操作S的值加1,故信号量的初值为-3+5-2=0;例3.2.3 如下锁的实现方法存在什么缺点?如何改进?LOCK(X) UNLOCK(X){ {do while X=1 ; X=0;X=1} }解存在的缺点是:当锁是关闭时,采用的是循环等待的方法,这样的等待还是要占用处理机的时间,应该采用阻塞等待的方法。
改进的锁实现如下:LOCK(X) UNLOCK(X){ {if X.value=1 if not empty(X.L) { insert( *, X.L); { P=remove(X.L);Block (*) Wakeup(P) } }else X.Value=1 else X.Value=0} }这里X.value是锁的值,X.L是存放由于锁X而阻塞的进程的队列。
insert( *, X.L)将当前进程的进程号插入到X.L,remove(X.L)是从X.L中移出一个进程号。
例3.2.4 使用多个进程计算Y=F1(X)+F2 (X).解(1) 确定并发和顺序操作在这个问题中,F1(X)和F2 (X)的计算是可以并行处理的,因此F1(X)和F2 (X)可以分别出现在两个进程中。
计算机操作系统练习题及答案
单项选择1. 两个进程合作完成一项任务。
在并发执行中,一个进程要等待其合作伙伴发来消息,或建立某个条件后再运行,这种制约性合作关系被称为进程的—A—。
A. 同步B. 执行C. 互斥D. 调度2. 为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数据的方式进行,这种方式通常称为—C—。
A. 进程互斥B. 进程同步C. 进程通信D. 进程制约3.除了因为资源不足,进程竞争资源可能出现死锁外,不适当的一 C 一也可能产生死锁。
A. 进程优先权B. 资源线性分配C. 进程推进顺序D. 分配队列优先权4.除了可以采用资源剥夺法解除死锁外,还可以采用一 C 一方法解除死锁。
A. 修改信号量B. 拒绝分配新的资源C. 撤消进程D. 执行并行操作5 .资源的按序分配策略可以破坏一DH 条件。
A. 互斥B. 请求与保持C. 不剥夺D. 环路等待6 .在一C 一的情况下,系统出现死锁。
A. 计算机系统发生了重大故障B. 有多个阻塞的进程存在C. 若干个进程因竞争资源而无休止地相互等待他方释放已占有的资源D. 资源数远小于进程数或进程同时申请的资源数远超过资源总数7 . 某系统中有3 个进程,都需要同类资源 4 个,试问该系统不会发生死锁的最少资源数是—B—。
A.9B.10C.11D.128 .银行家算法是一种一B 一算法。
A. 解除死锁B. 避免死锁C. 预防死锁D. 检测死锁9. 在下列解决死锁的方法中,属于死锁预防策略的是—B—。
A. 银行家算法B. 资源有序分配C. 死锁检测法D. 资源分配图化简法10. 设有n 个进程共用一个相同的程序段(临界区),如果每次最多允许m 个进程(n)同时进入临界区,则信号量的初值应为一 B — oA.nB.mC.m-nD.-m11. 死锁定理是用于处理死锁的哪一种方法—C—。
A. 预防死锁B. 避免死锁C. 检测死锁D. 解除死锁12. AND 信号量集机制是为了—C—。
