文章目录

  • 进程互斥与同步四原则
  • 进程互斥的软件实现方法
    • 单标志法(空闲让进)
    • 双标志先检查法(忙则等待)
    • 双标志后检查法(空闲让进、有限等待)
    • 皮特森算法(让权等待)
    • 小结
  • 进程互斥的硬件实现方法
    • 中断屏蔽方法(适用于单处理机、内核进程)
    • TestAndSet 指令(不满足让权等待,适用于多CPU)
    • Swap 指令(不满足让权等待、适用于多CPU)
    • 小结
  • 软硬件方法都不满足“让权等待”
  • 信号量机制
    • 整型信号量(违背让权等待)
    • 记录型信号量(满足让权等待)
    • 小结
    • 如何实现同步与互斥
      • 实现互斥(信号量初值为1)
      • 实现同步(初值为0)
    • 前驱关系
  • 管程
  • 死锁
    • 死锁检测
  • 进程互斥 锁
    • 互斥锁(存在忙等的问题,不满足让权等待)
  • 进程同步 条件变量
    • 条件变量通常和锁配合着使用,用于实现互斥

进程互斥与同步四原则


进程互斥的软件实现方法

单标志法(空闲让进)


双标志先检查法(忙则等待)


在双标志先检查法中,进入区的“检查”、“上锁” 操作无法一气呵成,从而导致了两
个进程有可能同时进入临界区的问题

双标志后检查法(空闲让进、有限等待)



皮特森算法(让权等待)




小结

进程互斥的硬件实现方法

中断屏蔽方法(适用于单处理机、内核进程)

TestAndSet 指令(不满足让权等待,适用于多CPU)

Swap 指令(不满足让权等待、适用于多CPU)

小结

软硬件方法都不满足“让权等待”

信号量机制

整型信号量(违背让权等待)

记录型信号量(满足让权等待)


小结

如何实现同步与互斥

实现互斥(信号量初值为1)

实现同步(初值为0)

前驱关系


管程

  1. 引入管程的目的无非就是要更方便地实现进程互斥和同步。
  2. 这种互斥特性是由编译器负责实现 的,程序员不用关心。

死锁

死锁检测

先看分配出去的资源

P1请求分配两个R2资源,而R2资源已经全部分配出去了,一个给了P3,一个给了P2,所以P1进程应该被阻塞。
P2也是同理
能顺利执行得只有P3进程

进程互斥 锁

互斥锁(存在忙等的问题,不满足让权等待)

自旋忙等的过程中没有发生进程切换,所以忙等的代价是很低的

进程同步 条件变量

条件变量通常和锁配合着使用,用于实现互斥


条件变量和信号量:

信号量它有一个初值,这个值表示用信号量表示的资源他有多少个
条件变量是没有初始值的,他只是一个队列而已
初始时,条件变量为空
一个条件变量代表一种阻塞的原因

信号量的V操作:先让值+1,如果有进程在等待这个信号量,还会唤醒等待的信号量。
这就意味着即便没有任何进程在等待,
我的V操作至少会让值加1


条件变量的signal操作,如果等待队列的条件变量为空,他不会累加值,也无法唤醒任何一个进程,
所以使用条件变量的时候,wait操作会在signal操作之前

操作系统二轮复习(进程的同步与互斥)相关推荐

  1. [肖博数学干货]高考数学二轮复习方法之概率和统计附强化题型解析

    高考数学二轮复习方法之概率和统计的解答题是每年高考必考的内容,概率与统计的计算.线性回归分析与统计案例的计算等内容都是考查实践能力的良好素材.本部分用到的思想方法主要有:分类讨论的思想方法.转化与化归 ...

  2. 肖博高考数学二轮复习方法概率

    热点一  古典概型 热点二  几何概型 热点三  概率的交汇问题 高考数学二轮复习方法 高考对本部分内容主要从以下几方面考查: 1.古典概型是文科的必考内容,一般情况下各种题均可出现,难度较易,主要考 ...

  3. 肖博高中数学高考数学二轮复习方法三角函数的图象与性质策略,附例题解析!

    高考数学二轮复习方法题型总结 热点一   高考数学二轮复习方法三角函数的图象及应用 热点二  高考数学二轮复习方法三角函数的性质及应用 方向1 三角函数的单调性 方向2 三角函数的最值 方向3 三角函 ...

  4. 肖博高考数学二轮复习方法之圆锥曲线 解题策略附带题型解析

    高考数学二轮复习方法椭圆.双曲线.抛物线是解析几何的重点,高考主要考查定义,标准方程,几何性质,直线与圆锥曲线的位置关系,有时和函数.不等式.平面向量相结合考查综合性问题.一般情况下,高考的考查难度中 ...

  5. 中科院考研经历①--一轮复习总结及二轮复习规划

    一志愿上岸中科院沈计所考研经历: 文章专栏(点击跳转) 作为一志愿上岸中科院沈计所考研经历文章专栏的第一篇,特附上成绩单以及拟录取通知. 一轮复习总结及二轮复习规划 2022年4月18日星期一15点3 ...

  6. [肖博高中数学]高考数学二轮复习之函数与导数难点突破方法

    高考数学二轮复习方法 1.导数日益成为解决问题必不可少的工具,利用导数研究函数的单调性与极值(最值)是高考的常见题型,而导数与函数.不等式.方程.数列等的交汇命题,是高考的热点和难点. 2.热点题型有 ...

  7. 肖博数学高考数学二轮复习方法统计与统计案例

    高考数学二轮复习方法 高考对本部分内容主要从以下几方面考查: 1.用样本估计总体是高考必考内容,主要考查一是利用频率分布直方图估计总体,二是利用茎叶图估计总体. 2.变量间的相关关系是高考解答题命题的 ...

  8. 进程的同步、互斥以及PV原语

    在处理进程间的同步与互斥问题时,我们离不开信号量和PV原语,使用这两个工具的目的在于打造一段不可分割不可中断的程序.应当注意的是,信号量和PV原语是解决进程间同步与互斥问题的一种机制,但并不是唯一的机 ...

  9. 用信号量解决进程的同步与互斥

    转自:http://www.cnblogs.com/whatbeg/p/4435286.html 现代操作系统采用多道程序设计机制,多个进程可以并发执行,CPU在进程之间来回切换,共享某些资源,提高了 ...

最新文章

  1. php dvld.active 1,PHP的字符串
  2. popwindow+动画
  3. 华语名嘴乌镇较劲 李咏有价值汪涵有才智
  4. SpringBoot项目如何进行打包部署
  5. iostream iterator类详
  6. iphone NSTimer
  7. 游戏即人生——《DOOM启世录》书评
  8. 汇编语言第2版---笔记(第一章基础知识)
  9. java基础代码-实现键盘输入
  10. 一步解决Bat脚本中包含中文时运行乱码问题
  11. [转] A trip through the Graphics Pipeline
  12. 酷比魔方iplay20_酷比魔方iPlay20Pro配置怎么样?iPlay20Pro处理器性能全面评测
  13. Android基于opencv4.6.0实现人脸识别功能
  14. 【Linux】限制进程的CPU使用率
  15. python倒数怎么求_python实现计算倒数的方法
  16. 广州专科计算机学校录取分数线,广东多少分能上大专,广东大专院校最低分数线...
  17. js 生成二维码并下载
  18. 1500万公开服务易受 CISA 已知已遭利用漏洞攻击
  19. 什么是segmented control
  20. 大数据培训教程Combiner合并

热门文章

  1. android学习笔记之GoogleMap
  2. 微信第三方登录,主要手机没有安装微信处理
  3. html 限制每行字数,毕业论文每行字数的设置
  4. 《道德经》新解(上篇)
  5. 荣耀play5t活力版和荣耀畅玩20哪个好 哪个更值得入手
  6. 在虚拟机Linux上写c语言代码
  7. android 之输入法
  8. Excel工作日计算时,怎样去除周末和节假日
  9. NLP 分类问题的讨论
  10. Microsoft Office 2016 VOL版下载