前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >冷月手撕408之操作系统(9)-进程同步与互斥

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

作者头像
学长冷月
发布2021-02-22 17:19:25
3420
发布2021-02-22 17:19:25
举报
文章被收录于专栏:冷月带你手撕代码

同步互斥,又是一个必须掌握的知识点

操作系统的进程同步与互斥主要是介绍了,由于多道程序设计带来的并发性,内存中运行多个进程并发运行。由于并发带来的异步性,进程的推进速度为止;但是有些进程的工作推进需要一定的先后顺序,所以需要同步来解决这种问题。而临界资源只能被这些进程互斥的访问。

主要的重点冷月做出了标识,知识点如下图(pdf版或xmind源文件请私聊我:操作系统)。

冷月点睛

进程同步与互斥
同步

由于并发带来的异步性,进程的推进速度为止;但是有些进程的工作推进需要一定的先后顺序,所以需要同步来解决这种问题

互斥

临界资源:一次只允许一个进程使用的资源

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

临界资源的访问原则

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

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

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

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

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

软件实现方法

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

硬件实现方法

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

硬件指令法 test and set swap

信号量

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

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

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

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

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

如果这篇文章有帮助到您,可以给冷月一个关注或者点个赞白嫖一波

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 学长冷月 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 冷月点睛
    • 进程同步与互斥
      • 同步
        • 互斥
          • 实现临界区互斥的基本方法
            • 信号量
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档