一、进程同步、进程互斥
1.1 知识总览
1.2 什么是进程同步
1.3 什么是进程互斥
1.4 知识回顾与重要考点
二、进程互斥的软件实现方法
2.1 知识总览
2.2 单标志法
2.3 双标志先检查法
2.4 双标志后检查法
2.5 Peterson算法
2.6 知识回顾与重要考点
三、进程互斥的硬件实现方法
3.1 知识总览
3.2 中断屏蔽方法
3.3 TestAndSet指令
3.4 Swap指令
3.5 知识回顾与重要考点
四、信号量机制
4.1 知识总览
4.2 信号量机制
4.3 信号量机制–整型信号量
4.4 信号量机制–记录型信号量
4.5 知识回顾与重要考点
五、信号量机制实现进程互斥、同步、前驱关系
5.1 知识总览
5.2 信号量机制实现进程互斥
5.3 信号量机制实现进程同步
5.4 信号量机制实现前驱关系
5.5 知识回顾与重要考点
六、生产者-消费者问题
6.1 问题分析
6.2 如何实现
6.3 知识回顾与重要考点
七、多生产者-多消费者问题
7.1 问题分析
7.2 如何实现
7.3 知识回顾与重要考点
八、吸烟者问题
8.1 问题描述
8.2 如何实现
8.3 知识回顾与重要考点
九、读者-写者问题
9.1 问题描述
9.2 问题分析
9.3 如何实现
出现上述问题的原因在于对count变量的检查和赋值无法一气呵成,因此可以设置另一个互斥信息量来保证各读进程对count的访问是互斥的
潜在问题解决:
9.4 知识回顾与重要考点
十、哲学家进餐问题
10.1 问题描述
10.2 如何实现
10.3 知识回顾与重要考点
十一、管程
11.1 知识总览
11.2 为什么要引入管程
11.3 管程的定义和基本特征
11.4 拓展1:用管程解决生产者消费者问题