操作系统 - 第六章 进程同步

进程同步

并发的进程之间相互合作,完成一项工作,它们之间有一定的时序关系。相互制约(如:一个进程等待另一个进程的变量结束)

使用私有信号量实现

进程互斥

并发进程之间相互竞争临界资源的排他性关系,利用公共信号量实现互斥

6.1 背景

临界区的访问规则:

互斥(Mutual Exclusion)

前进(Progress)

有限等待(Bounded Waiting)

6.2 临界区问题

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

解决互斥的方法

软件方法

在进入区检查和设置一些标志,如果已有进程在临界区,则在进入区通过循环检查进行等待;在退出区修改标志。

算法1:单标志位

缺点:进程强制轮流进入临界区,容易造成资源利用不充分。

算法2:双标志位(先检查)

设立一个标志数组flag[]:描述进程是否在临界区,初值均为FALSE

先检查,后修改

优点:不用交替进入,可连续使用

缺点:进程i和进程j可能同时进入临界区

算法3:双标志法(先修改)

类似算法2,区别在于先修改后检查

优点:防止两个进程同时进入临界区

缺点:进程i 和进程j可能都进入不了临界区

6.3 Peterson算法



硬件方法

临界资源(互斥资源)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 4,299评论 0 23
  • 林二蛋,我听见你的电台更新了,在地铁上,鬼使神差的点开了网易云,看见标题的那一刹那,眼泪就不争气的掉了下来,最近越...
    艾四夕啊阅读 361评论 4 4
  • 一、JSON转模型 二、JSON字符串转模型 三、模型中嵌套模型 四、模型中有个数组属性,数组里面又要装着其他模型
    Hyman0819阅读 540评论 0 0

友情链接更多精彩内容