重新定义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,上等待,依次下去,直到进入临界区。这时竞争进程流程见下页右侧图。
使分式(x-a)/(1/x-a),a不等于0有意义的x应满足的条件是 数学 2020-05-16 …
delphi7自己定义的FUNCTION应该放在哪?unitUnit1;interfaceuses 其他 2020-06-09 …
为什么导数没有定义的点是极点处?没定义时,即x为零,也就是说这一点的切线为y?应该是极值吧,即斜率 数学 2020-06-10 …
栗同学用同一刻度尺测量了四次物理课本的长度时,先后测得四组数据为:25.79cm,25.81cm, 其他 2020-07-03 …
忘恩负义的报应作文 其他 2020-07-04 …
(2014•上海模拟)定义一个对应法则f:P/(m,n)→P(m,n),(m≥0,n≥0).现有点 其他 2020-08-02 …
定义一个对应法则f:P(m,n)→P′(m,n),(m≥0,n≥0).现有点A(2,6)与点B(6 数学 2020-08-02 …
定义一个对应法则f:P(m,n)→P′(m,n),(m≥0,n≥0).现有点A(1,3)与点B(3 其他 2020-08-02 …
秦末农民起义的响应地区在分布上有什么特点 其他 2020-12-08 …
各个选项解析C++当说明一个具有构造函数的对象数组时,所定义的类应该()A.只能包含一个默认的构造函 其他 2020-12-08 …