操作系统:4、进程管理之进程同步

这篇具有很好参考价值的文章主要介绍了操作系统:4、进程管理之进程同步。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、为什么需要进程间同步

生产者消费者问题

操作系统:4、进程管理之进程同步
操作系统:4、进程管理之进程同步
上述过程,若并发执行就会出现缓冲区数据出错

哲学家进餐问题

操作系统:4、进程管理之进程同步
操作系统:4、进程管理之进程同步
“哲学家进餐问题中会发生极端情况,所有哲学家都饿死,也就是所有进程都陷入等待状态”

进程间同步解决生产者消费者、哲学家进餐问题

“生产者消费者问题”以及“哲学家进程问题”的根源问题是:彼此相互之间没有通信。
若生产者通知消费者我已经完成一件产品生产哲学家向旁边的哲学家说我要进餐了你们别拿我的筷子,那么就不会发生上述的缓冲区数据错误以及哲学家全部饿死的情况。

因此需要进程间的同步。

进程间同步的根源需求:
1、对竞争资源在多个进程间进行使用次序的协调(比如先让第一个哲学家吃,再让第二个哲学家吃);
2、使得并发执行的多个进程之间可以有效使用资源和相互合作;

2、进程间同步的原则

临界资源:
临界资源指的是一些虽作为共享资源却又无法同时被多个线程共同访问的共享资源。
当有进程在使用临界资源时,其他进程必须依据操作系统的同步机制等待占用进程释放该共享资源才可重新竞争使用共享资源。

进程间同步的四原则:
1、空闲让进:资源无占用,允许使用

临界资源无占用,操作系统应该允许某进程使用临界资源

2、忙则等待:资源有占用,请求进程等待

如果有进程占用了临界资源,此时要防止其他要使用资源的进程继续使用资源,应该让其他进程等待,等占用进程释放,其他进程才可继续使用

3、有限等待:保证有限等待时间能够使用资源

保证等待进程在有限时间内能够使用资源,避免进程僵死

4、让权等待:等待时,进程需要让出CPU

当外面需要等待的进程等待时,等待进程应该让出CPU

进程间同步方法:
1、消息队列
2、共享存储
3、信号量

3、线程同步

多个线程并发使用进程资源时,也会发生生产者消费者问题,所以进程内多线程也需要同步。

线程同步方法:
1、使用互斥量(保证多线程能够互斥的使用临界资源的锁)
2、读写锁(应对多读少写,或者多写少读的情况发明的锁)
3、自旋锁
4、条件变量文章来源地址https://www.toymoban.com/news/detail-425436.html

到了这里,关于操作系统:4、进程管理之进程同步的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 操作系统实验:进程同步控制

    前言 一、开发语言及实验平台或实验环境 二、实验目的 三、实验要求 四、实验原理 五、实验过程 六、代码详解 七、diy一下 总结 计算机操作系统是一门研究计算机系统的基本原理和设计方法的课程,它涉及到计算机系统的结构、功能、性能和管理等方面。操作系统实验是

    2024年02月05日
    浏览(30)
  • 操作系统进程线程(三)—进程状态、同步互斥、锁、死锁

    原子操作的概念 原子操作就是不可中断的一个或者一系列操作。 原子操作如何实现 总线锁定 使用处理器提供的一个LOCK#信号,当一个处理器在总线上输出此信号的时候,其他处理器的请求将被阻塞住,那么该处理器可以独占内存。 缓存锁 总线锁开销比较大,因为把CPU和内

    2024年02月04日
    浏览(29)
  • 【操作系统】第2章进程同步、PV操作、死锁

    (1) 临界资源 :把 一个时间段内只允许一个进程使用的资源 称为临界资源。许多物理设备(摄像头、打印机)和许多变量、数据、内存缓冲区都属于临界资源。 对临界资源的访问必须互斥地进行 。 ① 进入区 :为了进入临界区使用临界资源,在进入区检查可否进入临界区

    2024年02月03日
    浏览(214)
  • 操作系统-进程和线程-同步、互斥、死锁

    目录 一、同步互斥  二、互斥的实现方法 2.1软件实现 2.1.1单标志法 2.1.2双标志先检查 2.1.3双标志后检查 2.1.4Petersons算法 2.2硬件实现 2.2.1 TestAndSet指令 2.2.2 Swap指令   三、信号量机制 3.1整形变量  3.2 记录型变量  3.3用信号量实现进程互斥、同步、前驱关系 3.3.1互斥  3.3.2同步

    2024年02月08日
    浏览(28)
  • 操作系统-进程同步:生产者-消费者问题

    ​ 以生产者-消费者模型为基础,在Windows环境下创建一个控制台进程(或者界面进程),在该进程中创建读者写者线程模拟生产者和消费者。写者线程写入数据,然后将数据放置在一个空缓冲区中供读者线程读取。读者线程从缓冲区中获得数据,然后释放缓冲区。当写者线程

    2023年04月20日
    浏览(30)
  • 银河麒麟操作系统free查看服务器的内存,为什么比实际物理内存少很多?

    银河麒麟操作系统创建成功后,free -m命令查询内存大小,查询结果比实际物理内存小很多。 创建的虚拟机实际内存为8192M。系统内查询可用内存为6807M 使用 dmidecode -t memory 命令查看实际的硬件内存大小, free -m 查询系统内内存大小如下: 可以看到使用dmidecode -t memory查看的内

    2024年02月07日
    浏览(67)
  • 计算机操作系统重点概念整理-第三章 进程同步【期末复习|考研复习】

    计算机操作系统复习系列文章传送门: 第一章 计算机系统概述 第二章 进程管理 第三章 进程同步 第四章 内存管理 第五章 文件管理 第六章 输出输出I/O管理 给大家整理了一下计算机操作系统中的重点概念,以供大家期末复习和考研复习的时候使用。 参考资料是王道的计算

    2024年02月08日
    浏览(33)
  • 【操作系统】02.进程管理

    多道就是将多个程序同时装入内存,使之并发运行。操作系统也是基于多道产生的,提高了资源利用率和系统吞吐量。 进程是程序的一次执行 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位 在引入线程后,线程成为调度的基本单位,进程仍是资源分

    2024年02月08日
    浏览(38)
  • 操作系统——进程管理

    操作系统入门知识合集 目录 0.关注博主有更多知识 4.1进程概念 4.1.1进程基本概念 思考题: 4.1.2进程状态 思考题: 4.1.3进程控制块PCB 4.2进程控制 思考题: 4.3线程 思考题: 4.4临界资源与临界区 4.4.1临界资源与临界区 思考题: 4.4.2锁机制 4.5同步和P-V操作 4.5.1同步和互斥的概

    2024年02月02日
    浏览(32)
  • 【操作系统核心概念】进程管理和进程调度

    本文主要讲的是操作系统的一些核心概念, 主要讲解 进程管理和进程调度 的问题, 当然学习完本篇并不会让你能从零打造一个操作系统, 而只是让读者有了对操作系统核心概念的基本认识. 关注收藏, 开始学习吧🧐 操作系统是一组做计算机资源管理的软件的统称 , 其本质上也

    2024年02月12日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包