一、进程同步互斥的基本概念
1、临界资源
我们把一个时间段只允许一个进程使用的资源称为临界资源。例如许多物理设备(摄像头,打印机)都属于临界资源。此外还有许多变量、数据、内存缓冲区等都属于临界资源。
对临界资源的访问,必须互斥地进行,在每个进程,访问临界资源的那段代码称为临界区
为了保证临界资源的正确使用,分为四个部分:
- 进入区 负责检查是否可以进入临界区,若可进入,则应设置正在访问临界资源的标志(可以理解为“上锁”),防止其他进程同时进入临界区
- 临界区 进程中访问临界资源的那段代码,又称临界段
- 退出区 将正在访问临界区资源的标志清除(可以理解为“解锁”)
- 剩余区 代码中的其余部分
2、同步
进程同步:让各并发进程按要求有序地推进
并发性带来了异步性,有时需要通过进程同步解决这种异步问题。进程之间需要相互配合完成工作,遵循一定的先后顺序
3、互斥
亦称间接制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一进程才允许访问此临界资源。
为禁止两个进程同时进入临界区,同步机制应遵循以下准则:
- 空闲让进 当临界区空闲时,可以允许一个请求进入临界区进程立即进