操作系统-进程同步习题
进程同步习题全
进程管理
【分析】把进程R看作是生产者,把进程W1和W2看作是消费 者。现在有一个生产者(进程R)能生产不同的产品(读入 奇数或偶数),把生产的产品存放在缓冲器B中,供不同 的消费者(进程W1和进程W2)取用。可以看出,当进程R 读入的是整数,则要把有奇数的消息发送给进程W1;当进 程R读入的是偶数,则要把有偶数的消息发送给W2,在进 程W1或进程W2从缓冲器中取出数后,应把缓冲器中又可有 一个数的消息告诉进程R,于是,可以定义如下3个信号量: S表示是否可以把数存入缓冲器,由于缓冲器中每次只能放 一个数,所以其初值取为”1“ SO:表示缓冲器中是否有奇数,初值为”0“,表示无奇数 SE:表示缓冲器是否偶数,初值为0,表示无偶数
进程管理
<GET类进程> repeat 判断buff2是否有数据,没有则等待 是否可操作buff2 GET 设置buff1可操作标志 设置buff1有空间标志
进程管理
4 信号量 设置6个信号量 full1:buff1是否有数据,初值为0 empty1:buff1有空间,初值为m mutex1:buff1是否可操作,初值为1 full2:buff2是否有数据,初值为0 empty2:buff2有空间,初值为n mutex2:buff2是否可操作,初值为1
进程
进程管理
【例】设A,B为两个并发进程,它们共享一个临界 区,其执行临界区的算法框图如下。试判断该算 法是否有错?请说明理由。如果有错,请改正。 S1,S2的初值为0,CSA,CSB为临界区。
4.2 进程同步习题
【解答】该算法错误 若A进程不要求访问临界资源,则不会执行 V(S1),意味着B进程的申请永远得不到操作 临界资源的机会; 同理,若B不要求访问临界资源,则不会执行 V(S2),意味着进程A下次也得不到操作临界 资源的机会。 所以,问题在于本应该互斥控制而使用的却 是同步控制。实现改正:
信号量mutex=1 A进程 repeat P(mutex); CSA; V(mutex);
CSA P(S1)
A进程 V(S1)
P(S2)
B进程 CSB
V(S2)
【分析】系统启动时,S1,S2为0,则B执行 P(S1)被阻塞,而A进程可直接访问临界资 源。故A,B两个并发进程不可能同时操作 临界资源,该算法是可以保证互斥的。 按题目要求,两个进程对临界资源的操作是 没有先后顺序的,但是,在上面的实现中, 只有A进程先操作完资源后,B资源才能操 作。
process W2 begin L4: P(s2); z:=B; V(mutex); 打印z; goto L4 end;
【例】设A,B为两个并发进程,它们共享一 个临界区,其执行临界区的算法框图如下。 试判断该算法是否有错?请说明理由。如 果有错,请改正。S1,S2的初值为0, CSA,CSB为临界区。
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;
操作系统习题
操作系统作业
【注意】对于作业中的选择题,都要求抄写题目(题中若有插图可不画),并在题目上填写答案。作业1——进程同步(1)
1.设有n个进程使用同一个共享变量,如果最多允许m(m < n)个进程同时进入相关临界区,则信号量的变化范围是。
A. n,n-1,...,n-m
B. m,m-1,...1,0,-1,...m-n
C. m,m-1,...1,0,-1,...m-n-1
D. m,m-1,...1,0,-1,...m-n+1
2.对于有两个并发进程的系统,设互斥信号量为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≥0
4.如果信号量的当前值为-3,则表示系统中在该信号量上有个等待进程。
5.下列选项中,操作系统提供给应用程序的接口是。(2010全国试题)A.系统调用B.中断C.库函数D.原语
6.下列选项中,导致创建新进程的操作是。(2010全国试题)
I.用户登录成功II.设备分配III.启动程序执行
A.仅I和II B.仅II和III C.仅I和III D.I、II和III
7.设与某资源关联的信号量初值为3,当前值为1。若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别是。(2010全国试题)
(完整版)第三章进程同步与通信作业习题与答案
第三章
一.选择题(50题)
1.以下_B__操作系统中的技术是用来解决进程同步的。
A.管道
B.管程
C.通道
D.DMA
2.以下_B__不是操作系统的进程通信手段。
A.管道
B.原语
C.套接字
D.文件映射
3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。
A.3
B.2
C.1
D.0
4.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V 操作管理时信号量S的可能取值是_C__。
A.3,2,1,0,-1
B.2,1,0,-1,-2
C. 1,0,-1,-2,-3
D.4,3,2,1,0
5.下面有关进程的描述,是正确的__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而自己进入临界区
操作系统练习同步问题有答案
操作系统练习题:
1 在南开大学和大学之间有一条弯曲的小路,其中从S到T一段路每次只允许一辆自行车通过,但中间有一个小的“安全岛”M(同时允许两辆自行车停留),可供两辆自行车已从两端进小路情况下错车使用,如图所示。试设计一个算法使来往的自行车均可顺利通过。
解答:
首先中间的安全岛M仅允许两辆自行车通过,应作为临界资源设置信号量。但仔细分析发现,在任何时刻进入小路的自行车最多不会超过两辆(南开和天大方向各一辆),因此不需为安全岛M设置信号量。在路口S处,南开出发的若干辆自行车应进行路口资源的争夺,以决定谁先进入小路SK段,为此设置信号量S,用以控制路口资源的争夺;同理,设置信号量T,控制天大方向自行车对路口T的争夺。又小路SK段仅允许一辆车通过,设置信号量SK初值为1,同理设置小路LT段信号量LT初值为1。
程序如下:
S := l; T:=1; SK :=1; LT:=1;
Parbegin
进程P:(南开方向自行车)
begin
P(S) ; {与其它同方向的自行车争夺路口S}
P(SK); {同对面自行车争夺路段SK}
通过SK;
进入M;**
V (SK);{一旦进入M,便可释放路段SK}
P (LT) ; {同对面的自行车争夺路段LT}
通过LT;
V (LT);{将路段LT释放}
V(S); {将路口S释放给同方向的正在路口S处等待的自行车}
end,
进程Q:(天大方向自行车)
begin
P(T);
P(LT);
通过LT;
进入M;
V(LT);
P(SK);
通过SK;
V(SK);
V(T);
End;
Parend。
说明**:
第二章进程同步典型习题
2. 一条小河上有一座独木桥(如图),规定每次只允许一个人过 一条小河上有一座独木桥(如图),规定每次只允许一个人过 ),规定 现河东和河西都有相等的人数在等待过桥, 桥。现河东和河西都有相等的人数在等待过桥,为了使两边的 人都有同样的过桥机会,规定某边的一个人过桥后要让另一边 人都有同样的过桥机会,规定某边的一个人过桥后要让另一边 的一个人过桥,即两边的人交替过桥。如果把每个过桥者看做 的一个人过桥,即两边的人交替过桥。 一个进程,为保证安全,可用PV操作来管理 操作来管理。 一个进程,为保证安全,可用 操作来管理。
问题分析:
四人之间的关系: 四人之间的关系: 爸爸,妈妈要互斥使用盘子, 爸爸,妈妈要互斥使用盘子,所以两者之间是互斥关 系; 爸爸放的苹果,女儿吃,所以两者是同步关系; 爸爸放的苹果,女儿吃,所以两者是同步关系; 妈妈放的桔子,儿子吃,所以两者也是同步关系。 妈妈放的桔子,儿子吃,所以两者也是同步关系。 提示:设置一个信号量表示可否向盘中放水果, 提示:设置一个信号量表示可否向盘中放水果,一个信 号量表示可否取桔子,一个信号量表示可否取苹果。 号量表示可否取桔子,一个信号量表示可否取苹果。
father() { while(true) { p(s); 将苹果放入 盘中; v(sa); } }
daughter() { while(true) { p(sa) 取苹果 v(s); 吃苹果; } }
进程同步与通信作业习题与答案
第三章
一.选择题(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,0
5.下面有关进程的描述,是正确的__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.两个互斥进程在临界区内,对共享变量的操作是相同的
计算机操作系统进程同步算法习题选
2. 有桥如下图所示,车流方向如箭头所示。假设桥上不允 许两车交会,但允许同方向多辆车依次通过(即桥上可 有多个相同方向行驶的车辆),试用wait和signal操作实 现桥上的交通管理。
3.某银行人民币储蓄业务由若干个柜员负责。每个顾客进 入银行后先取一个号,并且等着叫号,当一个柜员空闲下来时, 就叫下一个号,持该号的顾客被服务。试用wait、signal操作正 确编写柜台人员进程和顾客进程的同步算法。
Aj: while (1) { for(i=1;i<=n2;i++) wait(Sin[i]); wait(mutex); 将数据放入缓冲区 signal(mutex); for(i=1;i<=n2;i++) signal(Sout[2]); }
Bi: while (1) { wait(Sout[i]); wait(mutex); 从缓冲区取数 signal(mutex); signal(Sin[i]); };
分析:每个缓冲区只要写一次但要读n2次, 因此,可以看成n2组缓冲区,每个发送者 要同时写n2个缓冲区,而每个接收者只要 读它自己的缓冲区。
Sin[n2]=m;表示每个读进程开始有m个空缓冲区。 Sout[n2]=0;表示每个读进程开始有0个可接收的消 息。
解:
先将问题简化: 设缓冲区的大小为1 有一个发送进程A1 有二个接收进程B1、B2 设有信号量Sin[1] 、Sin[2] 初值为1 设有信号量Sout[1] 、Sout[2] 初值为0
第三章进程同步与通信作业习题与答案
第三章进程同步与通信作业习题与答案
第三章进程同步与通信作业习题
与答案
第三章
.选择题(50题)
1. 以下_B_操作系统中的技术是用来解决进程同步的。
A. 管道
B. 管程
C. 通道
D.DMA
2. 以下_B_不是操作系统的进程通信手段。
A. 管道
B.原语
C.套接字
D.文件映射
3. 如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B_。
A. 3
B.2
C.1
D.0
4. 设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用
P、
V操作管理时信号量S的可能取值是_G__。
A. 3,2,1,0 ,-1
B.2,1,0 ,-1,-2 G. 1,0 ,-1,-2,-3 D.4,3 ,2,1,0
5. 下面有关进程的描述,是正确的 A o
A. 进程执行的相对速度不能由进程自己来控制
B. 进程利用信号量的P、V操作可以交换大量的信息
G.并发进程在访问共享资源时,不可能出现与时间有关的错误
D.P、V操作不是原语操作
6?信号灯可以用来实现进程之间的_B_。
A.调度
B.同步与互斥G.同步D.互斥
7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B__
A. 没有进程进入临界区
B. 有1个进程进入了临界区
G.有2个进程进入了临界区
D.有1个进程进入了临界区并且另一个进程正等待进入
8?信箱通信是一种_B_方式
A.直接通信
B.间接通信G.低级通信D.信号量
9. 以下关于临界区的说法,是正确的_G__o
A. 对于临界区,最重要的是判断哪个进程先进入
第二章进程同步典型习题
请回答下列问题: 请回答下列问题: 段的车辆看做是一个进程, (1)把每一辆需经过 段的车辆看做是一个进程,则这 )把每一辆需经过AB段的车辆看做是一个进程 些进程在AB段执行时 它们之间的关系应是同步还是互斥? 段执行时, 些进程在 段执行时,它们之间的关系应是同步还是互斥? 操作管理AB段时 (2)用PV操作管理 段时,应怎样定义信号量?给出信 ) 操作管理 段时,应怎样定义信号量? 号量的初值以及信号量可能取值的含义. 号量的初值以及信号量可能取值的含义. (3)若每个进程的程序如下,请在空白处填上适当的 )若每个进程的程序如下,请在空白处填上适当的PV 操作,以保证行车的安全. 操作,以保证行车的安全. begin 到达A点 到达 点; ________; ; 段行驶; 在AB段行驶; 段行驶 驶出B点 驶出 点; ________; ; end; ;
}
}
6 有一个仓库,可以存放 和B两种产品,但要求: 有一个仓库,可以存放A和 两种产品 但要求: 两种产品, (1) 每次只能存入一种产品(A或B) ) 每次只能存入一种产品( 或 ) 产品数量- 产品数量 产品数量< . (2) -N<A产品数量-B产品数量<M. ) < 产品数量 其中, 和 是正整数 试用P, 操作描述产品 是正整数. 其中,N和M是正整数.试用 ,V操作描述产品 A与B的入库过程. 的入库过程. 与 的入库过程 提示:设两个信号量Sa, 提示:设两个信号量Sa,Sb Sa Sa表示允许 产品比B 表示允许A Sa表示允许A产品比B产品多入库的数量 Sb表示允许 产品比A 表示允许B Sb表示允许B产品比A产品多入库的数量
计算机操作系统习题及答案
①空闲让进,如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。
②忙则等待,任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。
③有限等待,进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。
semaphore chopstick[5]={1,1,1,1,1};
semaphore room=4;
void philosopher(int i)
{
while(true)
{
think();
wait(room); //请求进入房间进餐
wait(chopstick[i]); //请求左手边的筷子
wait(chopstick[(i+1)%5]); //请求右手边的筷子
(7)每个信箱可以包含信箱头和信箱体两部分。
(8)为了实现消息缓冲通信,在PCB中应增加的数据项有消息队列中消息资源的信号量、对消息队列互斥操作的信号量和指向消息队列的指针。
3
(1)什么是临界资源?什么是临界区?对临界资源的访问有哪些原则?
答:一次仅允许一个进程使用的共享资源被称为临界资源。
每个进程中访问临界资源的那段程序称为临界区。
第4章 进程同步与通信
1
(1)在操作系统中,P、V操作是一种_D__。
进程同步典型例题(操作系统)
进程同步练习题
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.一条河上架设了由若干个桥墩组成的一座桥。若一个桥墩只能站一个人,过河的人只能沿着桥向前走而不能向后退。过河时,只要对岸无人过,就可以过。但不允许河对岸的两个人同时过,以防止出现死锁。请给出两个方向的人顺利过河的同步算法。
2022-12操作系统复习题及答案
2022-12操作系统复习题及答案
(一)进程同步
进程同步1
进程P1和进程P2并发执行时满足一定的时序关系,P1的代码段S1
执行完后,才能执行P2的代码段S2.为描述这种同步关系,:试设计相
应的信号量,:给出信号量的初始值,:给出进程P1和P2的结构
进程同步2
问题描述:(理发店问题)一个理发店有一间配有n个椅子的等待室和
一个有理发椅的理发室。如果没有顾客,理发师就睡觉;如果顾客来了二
所有的椅子都有人,顾客就离去;如果理发师在忙而有空的椅子,顾客就
会坐在其中一个椅子;如果理发师在睡觉,顾客会摇醒他。
①给出同步关系
②设计描述同步关系的信号量;
③给出满足同步关系的进程结构(请完成满足同步关系的进程结构)。
进程同步2
设公共汽车上,司机和售票员的活动分别为:司机的活动为启动车辆,正常行车,
到站停车;售票员的活动为关车门,售票,开车门。
给出在汽车不断地到站、停车、行驶过程中,司机和售票员的活动的
同步关系。用信号量和wait,ignal操作实现他们间的协调操作。
进程同步3:某高校计算机系开设网络课并安排上机实习,假设机房共有2m台机
器,有2n名学生选该课,规定:
(1)每两个学生组成一组,各占一台机器,协同完成上机实习;
(2)只有凑够两个学生,并且此时机房有空闲机器,门卫才允许该组学生进入机房;(3)上机实习由一名教师检查,检查完毕,一组学生才可以离开机房。
试用信号量机制实现它们的同步关系。
进程同步4:多个进程对信号量S进行了5次wait操作,2次ignal 操作后,现
在信号量的值是-3,与信号量S相关的处于阻塞状态的进程有几个?信号量的初值是多少?
操作系统-进程同步习题答案
操作系统-进程同步习题答案
第⼆章进程同步
⼀、选择最合适的答案
1. ⽤P、V操作管理临界区时,信号量的初值⼀般应定义为( C )。
A.–1
B.0
C.1
D.任意值
2. 有m个进程共享同⼀临界资源,若使⽤信号量机制实现对⼀临界资源的互斥访问,则信号量的变化范围是( A )。
A.1⾄–(m-1)
B.1⾄m-1
C.1⾄–m
D.1⾄m
3. 在下⾯的叙述中,正确的是( C )。
A.临界资源是⾮共享资源
B.临界资源是任意共享资源
C.临界资源是互斥共享资源
D.临界资源是同时共享资源
4. 对进程间互斥地使⽤临界资源,进程可以(D)
A.互斥地进⼊临界区
B.互斥地进⼊各⾃的临界区
C.互斥地进⼊同⼀临界区
D.互斥地进⼊各⾃的同类资源的临界区
5. 设两个进程共⽤⼀个临界资源的互斥信号量mutex,当mutex=1时表⽰( B )。
A.⼀个进程进⼊了临界区,另⼀个进程等待
B.没有⼀个进程进⼊临界区
C.两个进程都进⼊了临界区
D.两个进程都在等待
6. 设两个进程共⽤⼀个临界资源的互斥信号量mutex,当mutex=-1时表⽰( A )。
A.⼀个进程进⼊了临界区,另⼀个进程等待
B.没有⼀个进程进⼊临界区
C.两个进程都进⼊了临界区
D.两个进程都在等待
7.当⼀进程因在记录型信号量S上执⾏P(S)操作⽽被阻塞后,S的值为( B )。
A.>0
B.<0
C.≥0
D.≤0
8.当⼀进程因在记录型信号量S上执⾏V(S)操作⽽导致唤醒另⼀进程后,S的值为( D )。
A.>0
B.<0
C.≥0
D.≤0
9.如果信号量的当前值为-4,则表⽰系统中在该信号量上有( A )个进程等待。
[操作系统]经典进程同步问题题库
1、测量控制系统中的数据采集任务把所采集的数据送一单缓冲区;计算任务则从该缓冲区中取出数据并进行计算。试写出利用信号量机制实现两者共享单缓冲区的同步算法。
Var Sempty,Sfull:semaphore:=1,0
Begin
Parbegin
Collection:begin
repeat
采集一个数据;
wait(Sempty);
数据放入缓冲区;
signal(Sfull);
untill false;
end;
Compute:begin
repeat
wait(Sfull);
从缓冲区取出数据;
signal(Sempty);
计算;
`until false;
end;
Parend
End
2、有一阅览室,共有100个座位。读者进入时必须先在一种登记表上登记,该表为每一座位列一个表目,包括座号和读者姓名。读者离开时要注销掉登记内容。试用wait和signal原语描述读者进程的同步问题。
var mutex,readcount:semaphore:=1,100; Begin
Parbegin
Process Reader:begin
repeat
wait(readcount);
wait(mutex);
;
signal(mutex);
wait(mutex)
signal(mutex);
signal(readcount);
until false;
end;
parend;
End;
1)、桌上有一空盘,只允许放一个水果,爸爸专向盘中放苹果,妈妈专向盘中放桔子;女儿专吃盘中的苹果,儿子专吃盘中的桔子;试用wait 和signal原语实现爸爸、妈妈、女儿、儿子之间的同步问题。
操作系统练习 同步问题 有答案
操作系统练习题:
1 在南开大学和天津大学之间有一条弯曲的小路,其中从S到T一段路每次只允许一辆自行车通过,但中间有一个小的“安全岛”M(同时允许两辆自行车停留),可供两辆自行车已从两端进小路情况下错车使用,如图所示。试设计一个算法使来往的自行车均可顺利通过。
解答:
首先中间的安全岛M仅允许两辆自行车通过,应作为临界资源设置信号量。但仔细分析发现,在任何时刻进入小路的自行车最多不会超过两辆(南开和天大方向各一辆),因此不需为安全岛M设置信号量。在路口S处,南开出发的若干辆自行车应进行路口资源的争夺,以决定谁先进入小路SK段,为此设置信号量S,用以控制路口资源的争夺;同理,设置信号量T,控制天大方向自行车对路口T的争夺。又小路SK段仅允许一辆车通过,设置信号量SK初值为1,同理设置小路LT段信号量LT初值为1。
程序如下:
S := l; T:=1; SK :=1; LT:=1;
Parbegin
进程P:(南开方向自行车)
begin
P(S) ; {与其它同方向的自行车争夺路口S}
P(SK); {同对面自行车争夺路段SK}
通过SK;
进入M;**
V (SK);{一旦进入M,便可释放路段SK}
P (LT) ; {同对面的自行车争夺路段LT}
通过LT;
V (LT);{将路段LT释放}
V(S); {将路口S释放给同方向的正在路口S处等待的自行车}
end,
进程Q:(天大方向自行车)
begin
P(T);
P(LT);
通过LT;
进入M;
V(LT);
P(SK);
通过SK;
V(SK);
V(T);
End;
Parend。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统-进程同步习题
第二章进程同步
一、选择最合适的答案
1. 用P、V操作管理临界区时,信号量的初值一般应定义为( )。
A.–1
B.0
C.1
D.任意值
2. 有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,
则信号量的变化范围是( )。
A.1至–(m-1)
B.1至m-1
C.1至–m
D.1至m
3. 在下面的叙述中,正确的是( )。
A.临界资源是非共享资源
B.临界资源是任意共享资源
C.临界资源是互斥共享资源
D.临界资源是同时共享资源
4. 对进程间互斥地使用临界资源,进程可以( )
A.互斥地进入临界区
B.互斥地进入各自的临界区
C.互斥地进入同一临界区
D.互斥地进入各自的同类资源的临界区 5. 设两个进程共用一个临界资源的互斥信号量mutex,当mutex,1时表示( )。
A.一个进程进入了临界区,另一个进程等待
B.没有一个进程进入临界区
C.两个进程都进入了临界区
D.两个进程都在等待
6. 设两个进程共用一个临界资源的互斥信号量mutex,当mutex,-1时表示( )。
A.一个进程进入了临界区,另一个进程等待
B.没有一个进程进入临界区
C.两个进程都进入了临界区
D.两个进程都在等待
7(当一进程因在记录型信号量S上执行P(S)操作而被阻塞后,S的值为( )。
A.>0
B.<0
C.?0
D.?0
8(当一进程因在记录型信号量S上执行V(S)操作而导致唤醒另一进程后,S的值为
( )。
A.>0
B.<0
C.?0
D.?0
9(如果信号量的当前值为-4,则表示系统中在该信号量上有( )个进程等待。
A.4
B.3
C.5
D.0 10(若有4个进程共享同一程序段,而且每次最多允许3个进程进入该程序段,则信号
量的变化范围是( )。
A. 3,2,1,0
B. 3,2,1,0,-1
C. 4,3,2,1,0
D. 2,1,0,-1,-2
11(若信号S的初值为2,当前值为-1,则表示有( )个等待进程,
A.0
B.1
C.2
D.3 12(如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信
号量的初值应设置为( )。
A. 3
B. 1
C. 2
D. 0 13(并发进程之间( )
A.彼此无关
B.必须同步
C.必须互斥
D.可能需要同步或互斥
14(在操作系统中,有一组进程,进程之间具有直接相互制约性。这组并发进程之间( )。
A.必定无关
B.必定相关
C.可能相关
D.相关程度相同
15. ( )操作不是P操作可完成的。
A.为进程分配处理机
B.使信号量的值变小
C.可用于进程的同步
D.使进程进入阻塞状态
二、选择所有正确的答案
1. 有关进程的描述中,( )是正确的。
A.进程执行的相对速度不能由进程自己来控制
B.利用信号量的P. V操作可以交换大量信息
C.同步是指并发进程之间存在的一种制约关系
D.并发进程在访问共享资源时,不可能出现与时间有关的错误
2. 下列资源中,( ) 是临界资源。
A.打印机
B.非共享的资源
C.共享变量
D.共享缓冲区
3. 进程从执行状态转换到阻塞状态的可能原因是( ).
A.时间片完
B.需要等待其它进程的执行结果
C.执行了V操作
D.执行了P操作
4. 进程从阻塞状态转换到就绪状态的可能原因是( ).
A. 时间片完
B. 其它进程执行了唤醒原语
C. 执行了V操作
D. 执行了P操作
5.在单处理机系统中,设系统中有n个进程(n>2),且当前处理机没有执行进程调度程序,下述情况哪些可能发生( )。
A.没有运行的进程,有2个进程处于就绪状态,n个进程处于等待状态。
B.一个进程处于运行状态,n-1个进程处于等待状态。
C. 一个进程处于运行状态,1个进程处于就绪状态,n-2个进程处于等待状态。
D. 一个进程处于运行状态,n-1个进程处于就绪状态,没有进程处于等待状态
三、判断正误,错误的简要说明理由
1(一个临界资源可以对应多个临界区。( )
2(互斥地使用临界资源是通过互斥地进入临界区实现的。( )
3(同步信号量的初值一般为1。( )
4(生产者,消费者问题是一个既有同步又有互斥的问题。( )
5(进程A、B共享变量x,需要互斥执行;进程B、C共享变量y,B、C也需要互斥执行,因此,进程A、C必须互斥执行。()
6. 单道程序系统中程序的执行也需要同步和互斥。()
四、解答题
1(某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回
答下列问题:
(1) 用P、V操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。
(2) 根据所定义的信号量,把应执行的P、V操作填入下述程序中,以保证进程能够正确地并发执行。
COBEGIN PROCESS Pi (i=1,2,…..)
Begin
;
进入售票厅 ;