7 操作系统第二章 进程管理 进程同步与互斥

文章目录

      • 1 进程同步与互斥
          • 1.1 进程同步
          • 1.2 进程互斥
          • 1.3 进程同步机制遵循的原则
          • 1.3 进程同步、互斥小结
      • 2 进程互斥实现方法
          • 2.1 互斥的软件实现方法
            • 2.1.1 单标志法
            • 2.1.2 双标志法先检查
            • 2.1.3 双标志法后检查
            • 2.1.4 Peterson算法
            • 2.1.5 互斥的软件实现方法小结
          • 2.2 互斥的硬件实现方法
            • 2.2.1 中断屏蔽法
            • 2.2.2 TestAndSet指令
            • 2.2.3 Swap指令
            • 2.2.4 互斥硬件实现方法小结

1 进程同步与互斥

1.1 进程同步

主要是为了解决进程异步问题管理多个进程的运行,为了使多个进程能够有条不紊地运行。

进程同步机制主要任务:对多个相关进程在执行次序上进行协调,使并发执行的诸进程之间能按一定规则(或时序)共享系统资源,并能很好地相互合作,从而使程序的执行具有可再现性

1.2 进程互斥

进程互斥:当前一个进程访问某源时,另外一个要访问该临界资源的进程必须要等待。

在这里插入图片描述

  • 临界资源:一段时间内只允许一个进程访问的资源,比如物理设备(摄像头、打印机)和某些变量、数据、内存缓冲区都是临界资源。
  • 对临界资源的访问必须互斥地进行。

对临界资源的访问过程可分为4个部分:
在这里插入图片描述
>临界区:进程访问临界资源的那段代码
进入区、退出区:实现进程互斥的那段代码段

1.3 进程同步机制遵循的原则
  1. 空闲让进:临界区空闲时,可以允许一个请求进入临界区的进程立即进入临界区;
  2. 忙则等待:当已有进程进入临界区时,其他试图进入临界区的进程必须等待;
  3. 有限等待:对请求访问的进程,应确保能在有限时间内进入临界区,不会产生饥饿现象;
  4. 让权等待:当进程不能进入临界区时,应立即释放处理器,防止进程忙等待。
1.3 进程同步、互斥小结

在这里插入图片描述

2 进程互斥实现方法

2.1 互斥的软件实现方法

在这里插入图片描述

2.1.1 单标志法

算法思想:两个进程在访问完临界区后会把使用临界区的权限交给另一个进程。也就是说每个进程进入临界区的权限只能由另一个进程赋予。

  1. 优点:可以实现同一时间内最多只允许一个进程访问临界区。两个进程必须是交替进入临界区
  2. 局限性:违背了空闲让进原则,若某个进程不再进入临界区,另外进程也无法进入临界区,很容易造成资源利用不充分。
2.1.2 双标志法先检查

算法思想:每个进程访问临界区资源之前,先查看临界资源是否正被访问,若被访问,该进程需等待,否则,进程才进入自己的临界区。

先检查对方进程状态,再置自己标志

  1. 优点:不用交替进入,可连续使用
  2. 局限:两个进程可能同时进入临界区,违背忙则等待原则
2.1.3 双标志法后检查

先设置自己标志,再检查对方进程状态

局限:不遵循空闲让进,有限等待,容易导致双方谦让,从而谁也无法进入临界区,产生“饥饿”现象

2.1.4 Peterson算法

算法思想:是单标志法和双标志法后检查的综合

局限:不遵循让权等待,会发生忙等

2.1.5 互斥的软件实现方法小结

在这里插入图片描述

2.2 互斥的硬件实现方法
2.2.1 中断屏蔽法

利用“开/关中断指令”实现(与原语的实现思想相同,即在某进程开始访问临界区到结束为止都不允许中断,即不能发生进程切换,因此不可能发生两个进程同时访问临界区的情况)

在这里插入图片描述

  1. 优点:简单、高效
  2. 局限:不适用多处理机;只适用操作系统内核进程。不适用用户进程
2.2.2 TestAndSet指令

简称TS指令或TSL指令,用硬件实现,执行过程不许间断,只可一气呵成。

  1. 优点:实现简单、适用于多处理环境
  2. 缺点:不满足“让权等待”原则,暂时无法进入临界区的进程会占用CPU并循环执行TSL指令,并会导致"忙等"
2.2.3 Swap指令

也称Exchange指令,简称XCHG指令
用硬件实现,执行过程中不允许间断,只可一气呵成

  1. 优点:实现简单,适用多处理机环境
  2. 缺点:不满足“让权等待”原则,暂时无法进入临界区的进程会占用CPU并循环执行TSL指令,并会导致"忙等"
2.2.4 互斥硬件实现方法小结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/482264.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8 操作系统第二章 进程管理 信号量 PV操作 用信号量机制实现 进程互斥、同 步、前驱关系

文章目录1 信号量机制1.1 整形信号量1.2 记录形信号量1.3 信号量机制小结2 用信号量机制实现进程互斥、同 步、前驱关系2.1 信号量机制实现进程互斥2.2 信号量机制实现进程同步2.3 信号量机制实现前驱关系2.4 信号量机制实现进程互斥、同 步、前驱关系小结1 信号量机制 用户进程…

一文掌握深度学习、神经网络和学习过程的历史

来源:算法与数学之美本质上,深度学习是一个新兴的时髦名称,衍生于一个已经存在了相当长一段时间的主题——神经网络。从20世纪40年代开始,深度学习发展迅速,直到现在。该领域取得了巨大的成功,深度学习广泛…

2022年后人工智能/深度学习八大应用方向

来源:电子工程专辑 人工智能、机器学习、深度学习已经成为当下最热门的前端科技之一。这三者其实是子-子集的关系。随着技术发展和应用的深入,深度学习越来越重要,成为AI的金字塔。本文总结了人工智能领域在2022年及以后数年内最热门的八大应…

多生产者-多消费者问题

文章目录1 问题描述2 问题分析3 代码实现4 分析总结1 问题描述 桌子上有一只盘子,每次只能向其中放入一个水果。爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,儿子专等着吃盘子中的橘子,女儿专等着吃盘子中的苹果。只有盘子空时&am…

​Nat. Commun.速递:深度学习在计算生物学中的应用综述

来源:集智俱乐部作者:郭瑞东 审校:梁金 编辑:邓一雪摘要蛋白质结构预测是计算生物学中一个长达半个世纪的重大挑战,最近,深度学习在这方面取得了前所未有的进展。4月1日,一项发表在 Nature Comm…

吸烟者问题

文章目录1 问题描述2 问题分析3 代码实现:1 问题描述 假设一个系统有三个抽烟者进程和一个供应者进程。每个抽烟者不停地卷烟并抽掉它,但是要卷起并抽掉一支烟,抽烟者需要有三种材料:烟草、纸和胶水。三个抽烟者中,第一…

无人驾驶出租车遭警察拦截后欲“潜逃”,AI 是原罪?

整理:苏宓出品:CSDN(ID:CSDNnews)所谓开车在路上,最讨厌的有几种人,一是插自己队和不让自己插队的,二想必就是晚上开远光灯和不开灯的。在交通交规下且汽车正常行驶过程中&#xff0…

人工智能,装在罐子里

来源:学术头条作者:Rich Heimann“装在罐子里的大脑”(brain in a jar)是一项对脱离身体、生活在一罐食物中的人类大脑进行的思想实验。这个思维实验探索了人类对现实、心灵和意识的概念。本文将探讨一个反对人工智能(…

10 操作系统第二章 进程管理 死锁、死锁的处理策略 银行家算法

文章目录1 死锁1.1 死锁定义1.2 死锁、饥饿、死循环的区别1.3 死锁产生的必要条件1.4 什么时候会发生死锁1.5 死锁的处理策略1.6 死锁的概念小结2 死锁预防2.1 破坏互斥条件2.2 破坏不剥夺条件2.3 破坏请求和保持条件2.4 破坏循环等待条件2.5 预防死锁小结3 死锁避免3.1 安全序…

短期记忆容量必需有限

来源:CreateAMind介绍一篇论文:预测性大脑的短期记忆能力肯定是有限的短期保持信息的能力可能是人类认知的一个标志, 因为它是许多领域所需要的,如感知、行动计划和语言。没有大脑的这一核心功能,人类无法思考、推理或计算,甚至可能无法感知。尽管短期记…

读者-写者问题

文章目录1 问题描述2 问题分析3 代码实现1 问题描述 有读者和写者两组并发进程,共享一个文件,当两个或两个以上的读进程同时访问共享数据时不会产生副作用,但若某个写进程和其他进程(读进程或写进程)同时访问共享数据时…

9 操作系统第二章 进程管理 管程

文章目录1 管程1.1 为什么引入管程1.2 管程的定义和基本特征1.3 管程小结1 管程 1.1 为什么引入管程 产生原因:信号量机制存在的问题:编写程序困难、易出错 能不能设计一种机制,让程序员写程序是不需要再关注复杂的PV操作,使得代…

2021年世界科技进展100项

来源:三思派 作者:李万,钱娅妮1生命、生物、医药健康01新冠疫情1. 首次看清新冠患者体内蛋白质变化中国科学家分析出新冠肺炎死亡患者体内多器官组织样本中蛋白质分子病理全景图,相当于将医生在显微镜下看到的人体感染新冠病毒后细…

图灵奖获得者、信息安全常青树Adi Shamir:从密码学到AI对抗性样本研究|智源大会嘉宾风采...

来源:智源大会导读:RSA 算法是通信、金融产业中被广泛使用的安全基本机制,是信息时代的支柱技术。而在这个跨时代算法背后的设计者之一,正是密码学先驱 Adi Shamir。除了RSA 公钥密码算法以外,零知识证明、差分密码分析…

11 操作系统第三章 内存管理 内存的基本知识 内存管理 内存空间扩充 连续分配管理方式

文章目录1 内存概念1.1 内存作用1.2 逻辑地址VS物理地址1.3 装入的三种方式1.3.1 绝对装入1.3.2 可重定位装入1.3.3 动态重定位装入1.4 链接的三种方式1.4.1 静态链接1.4.2 装入时动态链接1.4.3 运行时动态链接1.5 内存的基础知识小结2 内存管理2.1 内存管理的任务2.2 内存保护…

Nature长文:打破AI黑盒的“持久战”

来源:大数据文摘2020年2月,随着 COVID-19在全球迅速传播且抗原检测难以获得,一些医生转向人工智能(AI)来尝试诊断病例。一些研究人员采用深度神经网络通过查看X射线和胸部计算机断层扫描(CT)扫描来快速区分患有COVID-19肺炎的人和未患肺炎的人…

12 操作系统第三章 内存管理 非连续分配管理方式 基本分页存储管理 基本分段存储管理 段页式存储管理

文章目录1 基本分页存储管理1.1 什么是分页存储1.2 重要的数据结构——页表1.3 基本地址变换机构1.4 具有快表的地址变换机构1.4.1 什么是快表(TLB)1.4.2 引入快表后,地址的变换过程1.4.3 地址变换过程小结1.5 两级页表1.5.1 单级页表存在的问…

13 操作系统第三章 内存管理 虚拟内存 请求分页管理方式 页面置换算法 页面分配策略

文章目录1 虚拟内存1.1 传统存储管理方式的特征、缺点1.2 局部性原理1.3 虚拟内存主要特征1.4 如何实现虚拟内存技术1.5 虚拟内存的基本概念小结2 请求分页管理方式2.1 页表机制2.2 缺页中断机构2.3 地址变换机构2.4 请求分页管理方式小结3 页面置换算法3.1 最佳置换算法 OPT3.…

视觉意识的主动推理模型

来源:CreateAMind论文介绍:在这里,我们旨在通过推进全球神经元工作区的扩展(预测性全球神经元工作区(PGNW))来克服这些限制,该工作区将 GNW 的基本方面与更近期的(贝叶斯)主动推理方法相结合,以理解大脑功能。具体来说,我们提出了一个基于主动推理的视觉…

14 操作系统第四章 文件管理 文件逻辑结构 文件目录结构

文章目录1 初识文件管理1.1文件属性1.2 文件内部的数据应该怎样组织起来?1.3 文件之间应该怎样组织起来?1.4 操作系统应该向上提供哪些功能?1.5 文件应如何存放在外存?1.6 文件系统总览2 文件逻辑结构2.1 文件分类2.2 顺序文件2.3…