导图社区 操作系统进程的并发控制
操作系统第三章操作系统进程的并发控制思维导图,包括并发概述、信号量与PV操作、进程间消息传递、时间同步问题等内容。
C++继承与派生相关知识点思维导图
C++引用string类方面的思维导图
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
进程并发控制
并发概述
并发进程间的关系
相关➡️共享资源
无关
时序错误:进程执行的速度不能由自己来控制
临界区(程序段):并发进程与共享变量有关的程序段
临界资源(共享资源):共享变量所代表的资源
相关临界区:多个并发进程中涉及相同共享变量的那些程序段
信号量与PV操作
信号量定义
1、信号量s是一个整数
2、当s>=0时代表可供并发进程使用的资源实体数;当s<=0时,则|s|表示正在等待使用资源实体的进程数
3、除赋初值外,信号量仅能通过PV操作来访问
信号量按用途分类
公用信号量(互斥信号量)
私有信号量(资源信号量)
PV操作
约定P(s)和V(s)必须是两个不可被中断的过程
P (wait )操作:先让S.value- -,表示请求一资源不够则执行block原语,将当前进程加入该资源等待队列
V( signal)操作:让S.value ++,表示释放一资源若等待队列中有进程,则 wakeup原语唤醒一个
进程间消息传递
消息传递的类型
共享存储器系统
(1)基于共享数据结构的通信方式
(2)基于共享存储区的通信方式
消息传递系统
(1)直接传递方式
(2)间接传递方式
管道通信系统
管程
引入目的
为解决信号量机制偏程麻烦。因同步操作不当而死锁的问题
组成
管程的名称
局部于管理的共享数据话构说明
对该数据话构进行操作的一组过程
对局部于管程的共享数据设置初始值的句
特征
管程把对共享资源的操作封装起来,进程只能调用管星提供的过程才能进入管程访问共享资源
每次仅允许一个进程在管程内执行某个内部过程,从而实现进程互斥
时间同步问题
读者一写者问题
生产者一消费者问题
进程同步的基本概念
步骤
1. 流程分析(并发进程)
2. 互斥分析
3. 同步分析
4. 算法设计(放PV)
同步
由并发性带来的异步问题,进程间需要协调工作先后况序、传递信息(合作)所生的直接制约关系
互斥
临界资源
进入区
检查是否可以进入临界区可进则需上锁
临界区
临界资源被动问的代码段
退出区
解锁
剩余
其余代码部分
资源的互斥共享方式
对临界资源的访问,需要互斥的进行,间接制约同一时间段只允许一个进程访问临界资源
需要遵循的原则
空闲让进
忙则等待
有限等待
让权等待