操作系统-进程同步习题

合集下载

进程同步习题全

进程同步习题全
源自文库
进程管理
【分析】把进程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 进程同步习题

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操作系统复习题及答案

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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

;

进入售票厅 ;

相关文档
最新文档