1、进程的同步与互斥
1.1 进程的同步
- 同步也称为
直接制约关系
。 - 在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。为了协调进程之间的相互制约关系,如等待、传递信息等,引入了进程同步的概念。进程同步是为了解决进程的异步问题。
异步性:进程具有异步性的特征。异步性是指,各并发执行的进程以各自独立的、不可预知的速度向前推进。
1.2 进程的互斥
为了实现对临界资源的互斥访问,同时保证系统整体性能,需要遵循以下原则:
- 空闲让进。临界区空闲时,可以允许一个请求进入临界区的进程立即进入临界区;
- 忙则等待。当已有进程进入临界区时,其他试图进入临界区的进程必须等待;
- 有限等待。对请求访问的进程,应保证能在有限时间内进入临界区(保证不会饥饿);
- 让权等待。当进程不能进入临界区时,应立即释放处理机,防止进程忙等待。
2、临界区进程互斥的实现方法
2.1 软件实现⭐
单标志法
双标志先检查
双标志后检查
Peterson算法
2.2 硬件实现
3、信号量机制
3.1 整形信号量
3.2 记录型信号量
4、信号量机制实现进程的互斥、同步与前驱关系⭐⭐⭐⭐
4.1 信号量机制实现进程的互斥
4.2 信号量机制实现进程的同步
前 V 后 P
4.3 信号量机制实现前驱关系
前驱关系本质上就是多级的同步关系
评论区