重新定义P操作: P(s): S=S-1; if s<0 then {将本进程插入相应等待队列的队首}; V
重新定义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
解析:本题考查的是信号量,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,上等待,依次下去,直到进入临界区。这时竞争进程流程见下页右侧图。
一个修路队4小时修九分之二千米,平均每小时修路多少千米?照这样的速度,这个修路队一天(按八小时算) 数学 2020-05-14 …
重新定义P操作: P(s): S=S-1; if s<0 then {将本进程插入相应等待队列的队首 计算机类考试 2020-05-26 …
还未回答满分1.00题干下列S不是集合X={1,2,3,4,5,6,7,8}的一个划分的是()请选 数学 2020-06-15 …
一个通讯员从队伍的队头走到队尾,又从队尾走到了队头,问队伍有多长?(通讯员的速度为25m/s,队伍 物理 2020-06-22 …
设栈S和队列Q的初始状态为空…………设栈S和队列Q的初始状态为空,元素a1、a2、a3、a4、a5 其他 2020-06-28 …
设栈S和队列Q的初始状态皆为空,元素a1,a2,a3,a4,a5和a6依次通过一个栈,一个元素出栈 数学 2020-07-09 …
数据结构问题求助11.设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过 其他 2020-07-10 …
一列长为S的队伍以速度V1沿笔直的公路匀速前进,一个传令兵以较快的速度V2从队末向队首传递文件,又 物理 2020-07-13 …
1.修一条路,A队单独做20天完成,S队单独做30天完成.现在他们两队一起做,期间A队休息2天,B 数学 2020-07-20 …
一列队伍长为S,在队伍的最后一名是通讯员,通讯员要通知领队人“在前方3公里处停一列队伍长为S,在队伍 物理 2020-12-10 …