热门标签 | 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.信号量机制实现进程互斥

在这里插入图片描述

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


推荐阅读
  • 美团优选推荐系统架构师 L7/L8:算法与工程深度融合 ... [详细]
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
  • Nginx不仅是一款轻量级的高性能Web服务器,还具备出色的负载均衡和反向代理功能。它支持复杂的正则匹配规则、动静内容分离以及灵活的URL重写功能,使得配置和管理更加便捷高效。此外,Nginx提供了多种负载均衡算法,如轮询、加权轮询、最少连接数等,以满足不同应用场景的需求。 ... [详细]
  • 深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用
    深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用 ... [详细]
  • 字节跳动深圳研发中心安全业务团队正在火热招募人才! ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 计算机专业大三学生求职技术岗位,如何撰写一份出色的简历?附赠269个精选简历模板
    对于计算机专业的大学三年级学生来说,如何撰写一份出色的技术岗位简历是一个重要的课题。本文将详细介绍简历撰写的要点和技巧,并提供269个精心挑选的简历模板,帮助你在求职过程中脱颖而出。 ... [详细]
  • 面向对象编程的核心概念包括类与对象、封装技术、继承机制、多线程处理及线程同步、异常管理。类是现实世界对象的抽象表示,包含属性(特征)和方法(行为)。对象则是类的具体实例,用于实现抽象数据类型。通过封装技术,可以隐藏对象的内部细节,保护数据的安全性。继承机制允许子类继承父类的属性和方法,提高代码的复用性和可维护性。多线程处理和线程同步技术则用于实现并发操作,提升程序的执行效率。异常管理机制则确保程序在遇到错误时能够优雅地处理,提高系统的健壮性。 ... [详细]
  • MemFireDB 在实时高并发的在线事务处理(OLTP)系统中表现出色。随着移动互联网、电商和社交应用等领域的迅猛发展,传统单机关系型数据库(如MySQL)或分库分表架构已难以满足日益增长的性能需求。MemFireDB 通过其高效的内存计算能力和灵活的分布式架构,能够显著提升系统的响应速度和处理能力,确保在高负载情况下依然保持稳定性和可靠性。此外,MemFireDB 还支持复杂的查询操作和事务管理,适用于需要高性能和低延迟的应用场景。 ... [详细]
  • 近年来,BPM(业务流程管理)系统在国内市场逐渐普及,多家厂商在这一领域崭露头角。本文将对当前主要的BPM厂商进行概述,并分析其各自的优势。目前,市场上较为成熟的BPM产品主要分为两类:一类是综合型厂商,如IBM和SAP,这些企业在整体解决方案方面具有明显优势;另一类则是专注于BPM领域的专业厂商,它们在特定行业或应用场景中表现出色。通过对比分析,本文旨在为企业选择合适的BPM系统提供参考。 ... [详细]
  • 2021年7月22日上午9点至中午12点,我专注于Java的学习,重点补充了之前在视频中遗漏的多线程知识。首先,我了解了进程的概念,即程序在内存中运行时形成的一个独立执行单元。其次,学习了线程作为进程的组成部分,是进程中可并发执行的最小单位,负责处理具体的任务。此外,我还深入研究了Runnable接口的使用方法及其在多线程编程中的重要作用。 ... [详细]
  • Java集合框架特性详解与开发实践笔记
    Java集合框架特性详解与开发实践笔记 ... [详细]
  • 在并发编程中,`as-if-serial`原则确保了即使编译器和处理器对指令进行重排序,单线程的执行结果也不会受到影响。这一原则要求编译器、运行时环境和处理器必须严格遵守,以保证程序的正确性。本文深入探讨了`volatile`关键字的内存模型,详细分析了其在多线程环境中的可见性和有序性特性,以及如何通过`as-if-serial`规则来确保数据的一致性和可靠性。 ... [详细]
  • 在Python编程中,探讨了并发与并行的概念及其区别。并发指的是系统同时处理多个任务的能力,而并行则指在同一时间点上并行执行多个任务。文章详细解析了阻塞与非阻塞操作、同步与异步编程模型,以及IO多路复用技术的应用。通过模拟socket发送HTTP请求的过程,展示了如何创建连接、发送数据和接收响应,并强调了默认情况下socket的阻塞特性。此外,还介绍了如何利用这些技术优化网络通信性能和提高程序效率。 ... [详细]
  • 【并发编程】全面解析 Java 内存模型,一篇文章带你彻底掌握
    本文深入解析了 Java 内存模型(JMM),从基础概念到高级特性进行全面讲解,帮助读者彻底掌握 JMM 的核心原理和应用技巧。通过详细分析内存可见性、原子性和有序性等问题,结合实际代码示例,使开发者能够更好地理解和优化多线程并发程序。 ... [详细]
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社区 版权所有