冷月手撕408之操做系统(9)-进程同步与互斥

操做系统的进程同步与互斥主要是介绍了,因为多道程序设计带来的并发性,内存中运行多个进程并发运行。因为并发带来的异步性,进程的推动速度为止;可是有些进程的工做推动须要必定的前后顺序,因此须要同步来解决这种问题。而临界资源只能被这些进程互斥的访问。算法

主要的重点冷月作出了标识,知识点以下图(pdf版或xmind源文件请关注公众号:学长冷月,回复操做系统)。并发

file

冷月点睛

进程同步与互斥

同步

因为并发带来的异步性,进程的推动速度为止;可是有些进程的工做推动须要必定的前后顺序,因此须要同步来解决这种问题异步

互斥

临界资源:一次只容许一个进程使用的资源工具

临界区:访问临界资源的那段代码学习

临界资源的访问原则操作系统

空闲让进:临界资源空闲则运行进程使用设计

忙则等待:临界资源被暂用则其余请求该资源的进程等待blog

有限等待: 进程等待的时间必须有限,防止进程饥饿队列

让权等待: 须要等待的进程让出处理器资源,防止忙等进程

实现临界区互斥的基本方法

软件实现方法

单标志法
在进入区使用true变量来控制进程,只能交替进入
双标志先检查法
先检查,后上锁
双标志后检查法
先上锁,后检查
Peterson算法
主动争取-主动谦让-检查对方是否想要进入

硬件实现方法

中断屏蔽法
因为进程调度须要产生中断,直接屏蔽中断后,进程就不会产生调度,也就不会有其余进程来抢夺临界资源
只适合单处理器

硬件指令法
test and set
swap

信号量

一种专门用来处理同步、互斥的工具

整型信号量
只采用一个整数变量来记录临界资源的数量

记录型信号量
s.value 表示临界资源的数量
s.L 表示等待队列

实现同步
找出先后关系
前者后面V ; 后者前排 P
信号量初值0

实现互斥
分析问题,肯定临界区
信号量为1
将临界区夹在PV中间

若是这篇博文有帮助到您,能够帮冷月点一个赞或者加一个关注哦!

欢迎关注个人公众号:学长冷月,得到独家整理的学习资源和平常干货推送。
若是您对个人专题内容感兴趣,也能够关注个人博客:guoyu7.com

相关文章
相关标签/搜索