进程的两种制约关系
间接制约:进程间由于共享某种系统资源,而形成的相互制约。
比如系统中只有一个打印机资源,A、B两个进程都想用该资源,此时A、B两个进程就形成间接制约关系。
直接制约:进程间由于合作而形成的相互制约。
比如A进程的进行需要B进程的结果,此时A、B两个进程就形成直接制约关系。
临界资源一次仅允许一个进程使用的共享资源 如:打印机、磁带机、表格
临界区
在每个进程中访问临界资源的那段程序
进程必须互斥进入临界区
访问临界区的循环进程描述
进入区——>检查临界资源是否能访问
临界区
退出区——>将临界区标志为未访问
剩余区
同步机制遵循的原则
①空闲让进——>只要系统资源没人使用,系统就要派一个资源去使用它
②忙则等待——>临界资源只能有一个进程使用,其他想使用该资源的必须处于等待状态
③有限等待——>任何进程的等待都是有限度的,需要给进程分配一个等待时间。
④让权等待——>当一个进程(正在占有CPU的)不能进入临界区,就要放弃CPU
使用信号量机制协调多个进程之间的同步关系
信号量
信号量是一种数据结构
信号量的值与相应资源的使用情况有关