热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

进程同步互斥|操作系统

文章目录进程同步互斥一、进程同步二、进程互斥进程互斥的软件实现方法1.单标志法2.双标志先检查法3.双标志后检查法4.Peterson算法进程互斥的硬件实现方法1.中断屏蔽方法2.

文章目录

  • 进程同步互斥
    • 一、进程同步
    • 二、进程互斥
      • 进程互斥的软件实现方法
        • 1.单标志法
        • 2.双标志先检查法
        • 3.双标志后检查法
        • 4.Peterson算法
      • 进程互斥的硬件实现方法
        • 1.中断屏蔽方法
        • 2.TestAndSet指令
        • 3.Swap指令
      • 信号量机制
        • 1.整型信号量
        • 2.记录型信号量
  • 三、用信号量实现进程互斥、同步、前驱关系
    • 1.信号量机制实现进程互斥


进程同步互斥

在这里插入图片描述

一、进程同步


异步同步
各并发执行的进程以各自独立的、不可预知的速度向前推进又称直接制约关系,它是指为完成某种任务而建立的两个或者多个进程,这些进程因为需要在某些位置上协调他们的工作次序而产生的制约关系

二、进程互斥


进程同步进程互斥
直接约束关系间接制约关系

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进程互斥的软件实现方法

在这里插入图片描述

1.单标志法

在这里插入图片描述

2.双标志先检查法

在这里插入图片描述

3.双标志后检查法

在这里插入图片描述

4.Peterson算法

在这里插入图片描述

进程互斥的硬件实现方法

在这里插入图片描述

1.中断屏蔽方法

在这里插入图片描述

2.TestAndSet指令

在这里插入图片描述

3.Swap指令

在这里插入图片描述

信号量机制

在这里插入图片描述
在这里插入图片描述

1.整型信号量

在这里插入图片描述

2.记录型信号量

超重要
在这里插入图片描述
在这里插入图片描述

三、用信号量实现进程互斥、同步、前驱关系

在这里插入图片描述

1.信号量机制实现进程互斥

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


推荐阅读
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • Søren Kierkegaard famously stated that life can only be understood in retrospect but must be lived moving forward. This perspective delves into the intricate relationship between our lived experiences and our reflections on them. ... [详细]
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文详细探讨了Netty中Future及其子类的设计与实现,包括其在并发编程中的作用和具体应用场景。我们将介绍Future的继承体系、关键方法的实现细节,并讨论如何通过监听器和回调机制来处理异步任务的结果。 ... [详细]
  • 本文详细介绍了 MySQL 的查询处理流程,包括从客户端连接到服务器、查询缓存检查、语句解析、查询优化及执行等步骤。同时,深入探讨了 MySQL 中的乐观锁机制及其在并发控制中的应用。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 本文详细探讨了 MySQL 中自增 ID 的工作原理,特别是在并发写入场景下如何确保 ID 不会重复,并介绍了相关的优化策略和常见问题。 ... [详细]
  • 通过与阿里云的合作,牛客网成功解决了跨国视频面试中的网络卡顿问题,为求职者和面试官提供了更加流畅的沟通体验。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有