计算机操作系统的原语?
发布网友
发布时间:2022-04-25 12:51
我来回答
共1个回答
热心网友
时间:2024-11-13 19:46
pv(进程通信的两种操作)
P: 荷兰语Passeren,相当于英文中的pass;
V: 荷兰语的Verhoog,相当于英文中的increment(增量).
我们规定在信号量sem
【大于等于零】的时候代表【可供并发进程使用的资源实体数】。
【小于零】的时候,表示正在【等待使用临界区的进程】的个数。
P原语操作的动作是:
(1) sem减1;
(2) 若sem减1后仍大于或等于零,则进程继续执行;
(3) 若sem减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。
V原语操作的动作是:
(1) sem加1;
(2) 若相加结果大于零,则进程继续执行;
(3) 若相加结果小于或等于零,则从该信号的等待队列中唤醒一等待进程,然后再返回原进程继续执行或转进程调度。