一、进程同步涉及到的基本概念:
两种制约关系:
直接制约 简介制约临界资源:每次仅允许一个进程访问的资源,可分为硬件临界资源和软件临界资源。
临界区:访问临界资源的那段代码。同步机制遵循的规则:
空闲让进、忙则等待、有限等待、让权等待
二、记录型信号量
- 基本概念
type semaphore=record
value:integer;
L:list of process;
end
value:表示资源数目
L:表示等待进程
procedure wait(S)
var S:semaphore;
begin
S.value:=S.value-1;
if S.value<0 then block(S,L)
End
简单理解wait():申请一个资源
procedure signal(S)
var S:semaphore;
begin
S.value:=S.value+1;
if S.value≤0 then wakeup(S,L);
end
简单理解wait():释放一个资源
2.