进程同步的基本概念
进程同步机制对相关进程在执行次序上进行协调,使并发的进程之间按一定规则共享资源,使程序的执行具有可再现性。
两种形式的制约关系
1.间接制约:进程间无关,但都要使用临界资源
2.直接制约:进程间协作,需要按照某些规则运行
临界资源
一次仅允许一个进程使用的资源称为临界资源。
临界区
每个进程访问临界资源的那段代码(对于进程本身而言)
同步机制应遵守的规则
1.空闲让进:临界资源 为空闲状态时,允许一个进程进入自己的临界区
2.忙则等待:临界资源被访问时,使其他试图进入临界区的进程等待
3.有限等待:保证等待的进程在有限时间内能进入临界区,避免死锁
4.让权等待:进程无法进入临界区时释放处理机
硬件同步机制
1.关中断
2.利用硬件指令Test-and-Set
3.利用对换指令Swap
(非侧重)
信号量机制
整型信号量
一个用于表示资源数目的整型量S,除初始化外还有P,V操作(wait,signal操作)
P操作(申请资源)
wait(S){
<