1 基本概念
1.1 进程同步
1.2 进程互斥
1.2.1 进程互斥的概念
1.2.2 临界资源互斥访问的4步骤
1.2.3 临界资源互斥访问的4原则
2 进程互斥的实现
2.1 软件实现
2.1.1 单标志法
2.1.2 双标志先检查法
2.1.3 双标志后检查法
2.1.4 Peterson法
· 不满足让权等待原则的原因:当无法进入临界区时,没有立即从处理机CPU上下来,而是一直在CPU上while循环,看似是没有进入临界区,但一直占用着CPU资源
2.2硬件实现
2.2.1 中断屏蔽方法
2.2.2 TestAndSet
2.2.3 Swap指令
3 信号量机制
3.1 原理
3.1.1 整型信号量
3.1.2 记录型信号量
3.2 应用理论
3.2.1 实现进程互斥
3.2.2 实现进程同步
多级前驱
4 信号量机制应用典型问题
4.1 同步
4.1.1 单类单产品生产者- - 单类单产品消费者
问题描述
问题分析
如何实现
拓展思考
问题总结
4.1.2 多类单产品生产者- - 多类单产品消费者
问题描述
问题分析
如何实现
拓展思考
问题总结
4.1.3 吸烟者(单类多产品生产者- - 多类消费者)
问题描述
问题分析
如何实现
问题总结
4.2 互斥
4.2.1 读写(单个临界资源)
问题描述
问题分析
如何实现
问题总结
4.2.2 哲学家进餐(多个临界资源)
问题描述
问题分析
如何实现
问题总结
5 管程
5.1 概念及组成
5.2 特征
5.3 实例拓展
5.3.1 进程同步互斥
· 当有2个生产者进程并发执行,第一个生产者进程进入管程调用insert过程,当第一个生产者还未执行完,第二个生产者进程也要进入,那么会由编译器将第二个生产者进程阻塞在过程入口,也就是把第二个生产者进程挂在阻塞队列上