在操作系统中,对信号量S的P原语操作定义中,______ 是使进程进入相应等待队列的条件。 A.S<0 B.S=0 C.S>0 D.S<>0

admin2012-03-11  37

问题 在操作系统中,对信号量S的P原语操作定义中,______ 是使进程进入相应等待队列的条件。
A.S<0
B.S=0
C.S>0
D.S<>0

选项 A、 
B、 
C、 
D、 

答案A

解析 信号量是表示资源的物理量,它只能供P操作和v操作使用,利用信号量S的取值表示共享资源的使用情况,或用它来指示进程之间交换的信息。在具体使用中,把信号量S放在进程运行的环境中,赋予其不同的初值,并在其上实施P操作和V操作,以实现进程间的同步和互斥。P、V操作是定义在信号量S上的两个操作原语:
   P(S):(1) S←S-1;
   (2) 若S≥0,则调用P(S)的这个进程继续被执行;
   (3) 若S<0,则调用P(S)的这个进程被阻塞,并将其插入到等待信号量S的阻塞队列中。
   V(S):(1) S←S+1;
   (2) 若S>0,则调用P(S)的这个进程继续被执行;
   (3) 若S≤0,则先从等待信号量S的阻塞队列中唤醒队首进程,然后调用V(S)的这个进程继续执行。
   信号量S>O时的数值表示某类资源的可用数量,执行P操作意味着申请分配一个单位的资源,故执行S减l操作,若减1后S<0,则表示无资源可用,这时S的绝对值表示信号量S对应的阻塞队列中进程个数。执行一次V操作则意味着释放一个单元的资源,故执行S增1操作,若增1后S≤0,则表示信号量S的阻塞队列中仍有被阻塞的进程,故应唤醒该队列上的第一个阻塞进程。
转载请注明原文地址:https://kaotiyun.com/show/roVZ777K
0

最新回复(0)