同步

同步亦称直接制约关系,它是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系。进程间的直接制约关系就是源于它们之间的相互合作。一个进程的执行依赖于另一个协作进程的消息或信号,当一个进程没有得到来自于另一个进程的消息或信号时则需等待,直到消息或信号到达才被唤醒。

简单来说,同步就是指在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事

例如,输入进程A通过单缓冲向进程B提供数据。当该缓冲区空时,进程B不能获得所需数据而阻塞,一旦进程A将数据送入缓冲区,进程B被唤醒。反之,当缓冲区满时,进程A被阻塞,仅当进程B取走缓冲数据时,才唤醒进程A。

互斥

互斥亦称间接制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待, 当占用临界资源的进程退出临界区后,另一进程才允许去访问此临界资源。

进程互斥关系是一种特殊的进程同步关系,即逐次使用互斥共享资源,也是对进程使用资源次序上的一种协调。

异步

异步的概念和同步相对。当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。

进程同步,异步,互斥相关推荐

  1. 操作系统:第二章 进程管理3 - 进程同步与互斥

    本文已收录至 Github(MD-Notes),若博客中有图片打不开,可以来我的 Github 仓库:https://github.com/HanquanHq/MD-Notes,涵盖了互联网大厂面试必 ...

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

    文章目录 1 进程同步与互斥 1.1 进程同步 1.2 进程互斥 1.3 进程同步机制遵循的原则 1.3 进程同步.互斥小结 2 进程互斥实现方法 2.1 互斥的软件实现方法 2.1.1 单标志法 2 ...

  3. 计算机操做系统(十二):进程同步和互斥

    计算机操做系统(十二):进程同步和互斥 来源王道考研视频: https://www.bilibili.com/video/BV1YE411D7nH?p=18 基本概念 异步性:各并发执行的进程以各自独 ...

  4. 【操作系统基础】进程管理(三)进程同步与互斥

    一.进程同步.互斥的基本概念 1. 什么是进程同步 进程具有异步性的特征.异步性是指各并发执行的进程以各自独立的.不可预知的速度向前推进.举一个线程通信的例子,管道通信: 读进程和写进程并发运行,由于 ...

  5. [操作系统]进程同步和互斥

    文章目录 引言 基本概念 进程同步 临界资源 进程互斥 信号量 整型信号量 记录型信号量 信号量实现同步和互斥 实现互斥 实现同步 经典进程同步和互斥问题 生产者-消费者问题 总结 引言 简单总结一下 ...

  6. 2.3.1 进程同步 进程互斥

    目录 思维导图 进程同步 进程互斥 思维导图 进程同步 注意: 进程同步是为了解决进程异步的. 不要以为同步是同时发生的意思. 进程互斥

  7. 计算机操作系统专题一:多道环境下进程同步与互斥制约关系的学习

    1. 问题描述 设自行车生产线上有一只箱子,其中有N个位置(N≥3),每个位置可存放一个车架或一个车轮,又设有三名工人,其活动分别为: 2. 问题分析(包括涉及的知识点.制约关系分析.问题的解决思路等 ...

  8. 操作系统之进程管理:11、用信号量机制实现进程同步、互斥、前驱关系

    11.用信号量机制实现进程同步.互斥.前驱关系 思维导图 用信号量机制实现进程同步 用信号量机制实现进程互斥 用信号量机制实现进程的前驱关系 思维导图 用信号量机制实现进程同步 先来看一下什么是进程同 ...

  9. 操作系统c语言实现进程同步与互斥代码

    使用DEV C++打开: 这是进程同步与互斥代码,第一次自己写的,写得不好多多支持 #include<stdio.h> #include<windows.h> #include ...

  10. 操作系统实验四 进程同步与互斥

    一.实验目的: 掌握基本的同步与互斥算法,理解P,V操作. 理解生产者消费者模型,了解其它典型的同步互斥模型,如哲学家就餐.读者-写者模型等. 了解LINUX中进程同步互斥的实现方法,掌握相关函数的使 ...

最新文章

  1. MFC中下拉条(组合框)combo box的使用图文教程
  2. /etc/profile 和 ~/.profile 区别是全部用户,和单一用户
  3. boost::mp11::mp_power_set相关用法的测试程序
  4. 利用“多说”制作留言板、评论系统
  5. svm核函数gamma参数_非线性SVM与核函数
  6. Hbase学习-一步一步慢慢来
  7. 玩转Python大数据分析 《Python for Data Analysis》的读书笔记-第08页
  8. linux学习笔记:vim编辑器的各种用法操作命令
  9. 浅谈几种常见 RAID 的异同
  10. Linux课程设计:Linux系统下多进程的创建与通信
  11. Alfred插件之有道翻译配置过程
  12. thinkphp5 TP5 两表关联查询
  13. SAP VK11 报错“条件不能创建在分销渠道 10 中”
  14. 如何ping网站的IP地址
  15. 如何测试系统的并发量
  16. Excel无法完全显示超过11位数的数字?超简单方法1秒教给你!
  17. C# 盛金公式 求解一元三次方程
  18. 【yolov3】如何使用摄像头进行目标检测——yolov3-pytorch摄像头检测教程
  19. 浏览器获取mac地址_真香浏览器,时隔2个月终于又更新了!!!
  20. EBGP环回口邻居建立不了的原因

热门文章

  1. android p dp5,谷歌释出Android P第5个开发者预览版更新!
  2. v8引擎和v12引擎_为什么V8和V12发动机至今还存在,而V10发动机却早早被淘汰了?...
  3. 生物信息考研C语言,四川大学生物信息学初试经验分享
  4. Spring Cloud Alibaba基础教程:Sentinel Dashboard中修改规则同步到Nacos
  5. 论文浅尝 - CIKM2021 | DT-GCN: 一种双曲空间中的数据类型感知的知识图谱表示学习模型...
  6. 论文浅尝 |「知识表示学习」专题论文推荐
  7. PaddleHub教程合集
  8. SpringBoot 整合Redis报错:NoClassDefFoundError: redis/clients/util/SafeEncoder
  9. Leetcode 82. Remove Duplicates from Sorted List II
  10. VS Code 关于SFTP上传文件到多服务器的配置