CMS专题

问答题若用PV操作管理某一组相关临界区,其信号量S的值在[-1,1]之间变化,当S=-1,S=0,S=1时,它们各自的物理含义是什么?

题目
问答题
若用PV操作管理某一组相关临界区,其信号量S的值在[-1,1]之间变化,当S=-1,S=0,S=1时,它们各自的物理含义是什么?
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在操作系统信号量机制中,对某信号量S进行P操作,使进程进入相应等待队列的条件是 ( )。

A.S>0

B.S<0

C.S=0

D.S!=0


正确答案:B
解析:当信号量S0时,表示资源已经分配完毕,此时进程执行P操作申请资源得不到满足,进入等待状态。所以,答案是B。

第2题:

重新定义P操作: P(s): S=S-1; if s<0 then {将本进程插入相应等待队列的队首}; V操作的定义不变。 使用上述定义的信号量操作。现有n个进程竞争进入一个临界区,需要使用(24),并保证进程能够以正常的次序公平地进入临界区。

A.1个信号量,初值为1

B.2个信号量,初值分别为1,0

C.n-1个信号量,初值均为1

D.n/2个信号量,初值均为1


正确答案:C
解析:本题考查的是信号量,P、V操作,队列等多方面的概念及其运用。回顾正常定义的P、V操作:P(s):s=s-1;ifs0then{将本进程插入相应等待队列的队尾};V(s):s=s+1;ifs≤0then{将本进程插入就绪队列,唤醒相应等待队列的队首进程}:显然,这样可以保证在多个进程竞争进入临界区时,能保证按先等待、先唤醒的次序进入临界区。但是,根据新的P操作定义(V操作定义不变),这时唤醒将以后进先出的次序进行。因此为了保证正常次序,每个等待队列上等待的元素不能超过两个,否则必定会产生不公平现象。根据题意,有n个进程竞争进入一个临界区,考虑临界区的互斥性,只能有一个进程进入,其余进程将进入等待队列。考虑公平性,就需要n-1个队列,也就是n-1个信号量,初值均为1。当n个进程到来时,只有1个进程进入临界区,其他进程分别进入n-1个队列等待,每队一个进程。在队列Si上等待的进程被唤醒,就将进入队列Si+1,上等待,依次下去,直到进入临界区。这时竞争进程流程见下页右侧图。

第3题:

● 在操作系统的进程管理中,若系统中有10个进程使用互斥资源R,每次只允许 3个进程进入互斥段(临界区),则信号量S的变化范围是 (26) ;若信号量S的当前值为–2,则表示系统中有 (27) 个正在等待该资源的进程。

(26)A.–7~1 B.–7~3 C.–3~0 D.–3~10

(27)A.0 B.1 C.2 D.3


 

 

26B   27C

 

本题考查操作系统进程管理方面的基础知识。

本题中,已知有10个进程共享一个互斥资源R,如果最多允许3个进程同时进入互斥段,这意味着系统有3个单位的资源,信号量的初值应设为3。当第一个申请该资源的进程对信号量S执行P操作,信号量S1等于2(即3–1),进程可继续执行;当第二个申请该资源的进程对信号量S执行P操作,信号量S1等于1(即3–2),进程可继续执行……当第10个申请该资源的进程对信号量S执行P操作,信号量S1等于–7。所以试题(26)的正确答案为B

在操作系统的进程管理中,由于多个进程竞争同一资源可能会发生死锁,若无外力作用,这些进程都将永远不能再向前推进。为此,最常用的方法是采用信号量(Semaphore)及有关的PV操作。信号量是表示资源的实体,是一个与队列有关的整型变量,其值仅能由PV操作改变。“P操作”用于检测信号量是否为正值,若不是,则阻塞调用进程;“V操作”用于唤醒一个阻塞进程恢复执行。根据用途不同,信号量分为公用信号量和私用信号量。公用信号量用于实现进程间的互斥,初值通常设为1,它所联系的一组并行进程均可对它实施PV操作;私用信号量用于实现进程间的同步,初始值通常设为0n。本题中,由于每次只允许3个进程进入互斥段(临界区),故信号量的初值为3,当前值为–2,则表示系统中有两个正在等待该资源的进程。因为当第一个申请该资源的进程对信号量S执行P操作,信号量S1等于2,进程可继续执行;当第二个申请该资源的进程对信号量S执行P操作,信号量S1等于1,进程可继续执行;当第三个申请该资源的进程对信号量S执行P操作,信号量S1等于0,进程可继续执行;当第四个申请该资源的进程对信号量S执行P操作,信号量S1等于–1,进程处于等待状态;当第五个申请该资源的进程对信号量S执行P操作,信号量S1等于–2,进程处于等待状态。从以上分析可见,当信号量S等于–2时,有两个进程处于等待状态。所以试题(27)的正确答案为C

第4题:

假设系统中有n个进程共享3台扫描仪,并采用PV操怍实现进程同步与互斥。若系统信号量S的当前值为-1,进程P1、P2又分别执行了1次P(S)操作,那么信号量S的值应为( )

A.3
B.-3
C.1
D.-1

答案:B
解析:
当有进程运行时,其他进程访问信号量,信号量就会减1。S=-1-2

第5题:

某系统有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区取产品消费。用PV操作实现进程间的同步模型如图2-3所示。假设信号量S1的初值为1,信号量S2的初值为0,那么,a、b处应当写别填(1),c、d处分别填(2)。

A.V(S2)、P(S1)

B.P(S1)、V(S2)

C.P(S2)、V(S1)

D.V(S1)、P(S2)


正确答案:B

第6题:

在操作系统中,对信号量S的P原语操作的定义中,使进程进入临界区的条件是

A.S>0

B.S=0

C.S<0

D.S≠0


正确答案:A
解析:在操作系统中,对信号量S的P原语操作定义中,有如下三种情形:
①S>0时,s表示可用资源数,允许进程进入临界区。
②S=0时,表示没有可用的资源或表示不允许进程再进入临界区。
③S0时,|S|表示等待资源的进程个数或表示等待进入临界区的进程个数

第7题:

信号量是操作系统中用于互斥和同步机制的一个共享的整数变量。信号量仅可以由初始化、唤醒(Signal)和等待(Wait)三种操作访问。

对于给定的信号量S,等待操作Wait(S)(又称P操作)定义为:

if s>0 then (39) else挂起调用的进程

唤醒操作Signal(S)(又称V操作)定义为:

if 存在等待的进程 then 唤醒这个进程else (40)

给定信号量S,可以定义一个临界区来确保其互斥,即保证在同一时刻这个临界区只能够被一个进程执行。当S被初始化为1时,代码段

(41):

{临界区}

(42):

定义了一个临界区。

这样的临界区实际上是将共享数据和对这些数据的操作一起封装起来,通过其互斥机制一次只允许一个进程进入,这种临界区通常称为(43)。

A.S:=0

B.S:=S+1

C.S:=S-1

D.S:=1

E.Signal(S+1)


正确答案:C

第8题:

PV操作是把信号量S与共享资源对应起来的一种机制,当S0时,表示无资源可用或不允许进程再进入临界区。()


正确答案:错

第9题:

假设系统中有n个进程共享3台扫描仪,并采用PV操作实现进程同步与互斥。若系统信号量S的当前值为-1,进程P1、P2又分别执行了1次P(S)操作,那么信号量S的值应为( )。

A.3
B.-3
C.1
D.-1

答案:B
解析:
本题考查的是操作系统PV操作方面的基本知识。系统采用PV操作实现进程同步与互斥,若有n个进程共享3台扫描仪,那么信号量S初值应为3。若系统当前信号量S的值为-1,此时,P1、P2又分别执行了1次P(S)操作,即当P1进程执行P(S)操作时,信号量S的值等于-2;当P2进程执行P(S)操作时,信号量S的值等于-3。

第10题:

在操作系统的进程管理中,若系统中有10个进程使用互斥资源R,每次只允许3个进程进入互斥段(临界区),则信号量S的变化范围是__(1)__;若信号量S的当前值为-2,则表示系统口有__(2)__一个正在等待该资源的进程。空白(2)处应选择()

  • A、0
  • B、1
  • C、2
  • D、3

正确答案:C

更多相关问题