系分考试知识:PV操作释疑
信号量
信号量是最早出现的用来解决进程同步与互斥问题的机制,
包括一个称为信号量的变量及对它进行的两个原语操作。
一. 信号量的概念
1.信号量的类型定义
每个信号量至少须记录两个信息:信号量的值和等待该信号量的进程队列。它的类型定义(用类PASCAL语言表述)
semaphore = record
value: integer;
queue: ^PCB;
end;
其中PCB是进程控制块,是操作系统为每个进程建立的数据结构。
s.value>=0时,s.queue为空;
s.value< 0时,s.value的绝对值为s.queue中等待进程的个数;
2.PV原语
对一个信号量变量可以进行两种原语操作:p操作和v操作,定义 procedure p(var s:samephore);
{
s.value=s.value-1;
if (s.value< 0) asleep(s.queue);
}
procedure v(var s:samephore);
{
s.value=s.value+1;
if (s.value
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>