文章目录

  • 一:进程同步
  • 二:进程互斥

一:进程同步

说到同步不难想到异步,因为异步是操作系统的四个特征之一:是指在多道程序环境下,允许多个程序并发执行,但是由于资源有限,进程的执行不能做到一气呵成,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性


而在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的制约关系,为了协调进程之间的相互制约的关系,引入了 进程同步 的概念。

  • 例如,操作系统在计算“1+2×3”时会产生了加法进程乘法进程这两个进程,如果想要让最后的运算结果正确,那么必须保证乘法进程发生在加法进程之前,但是我们说过操作系统具有异步性,你根本无法保证乘法进程一定先于加法进程完成,而且这种完成还必须是确定的,所以如果不加制约这种异步性,那么对于特定程序的正确性就无从谈起了,所以我们要让其同步,施加一定的机制取约束它们

进程同步:进程同步又叫做直接制约关系,它是指为完成某种任务而建立的两个或多个进程

(王道408考研操作系统)第二章进程管理-第三节1:进程同步与互斥的基本概念相关推荐

  1. (王道408考研操作系统)第二章进程管理-第三节10:经典同步问题之哲学家进餐问题

    本文接: (王道408考研操作系统)第二章进程管理-第三节6:经典同步问题之生产者与消费者问题 ((王道408考研操作系统)第二章进程管理-第三节7:经典同步问题之多生产者与多消费者问题 (王道408 ...

  2. (王道408考研操作系统)第二章进程管理-第三节8:经典同步问题之吸烟者问题

    本文接: (王道408考研操作系统)第二章进程管理-第三节6:经典同步问题之生产者与消费者问题 ((王道408考研操作系统)第二章进程管理-第三节7:经典同步问题之多生产者与多消费者问题 文章目录 一 ...

  3. (王道408考研操作系统)第二章进程管理-第三节7:经典同步问题之多生产者与多消费者问题

    注意:生产者与消费者问题Linux系统编程专栏有案例讲解 Linux系统编程39:多线程之基于阻塞队列生产者与消费者模型 Linux系统编程40:多线程之基于环形队列的生产者与消费者模型 本文接:(王 ...

  4. (王道408考研操作系统)第二章进程管理-第三节5:用信号量实现进程互斥、同步和前驱关系

    文章目录 一:使用信号量实现进程互斥 二:使用信号量实现进程同步 三:使用信号量实现前驱关系 一:使用信号量实现进程互斥 思想: 1:分析并发进程的关键活动,划定临界区 2:设置互斥信号量mutex, ...

  5. (王道408考研操作系统)第二章进程管理-第三节4:信号量机制(整型、记录型信号量和P、V操作)

    文章目录 一:信号量是什么 二:整型信号量 三:记录型信号量 可以看出,不管是进程互斥的软件实现方法还是硬件实现方法,他们都无法解决"让权等待"这个问题,也即处理会处于会处于忙等状 ...

  6. (王道408考研操作系统)第二章进程管理-第三节3:实现进程互斥的硬件方法

    文章目录 一:中断屏蔽方法 二:TestAndSet指令(TSL) 三:swap指令(exchange) 一:中断屏蔽方法 思想:当一个进程正在使用处理机执行它的临界区代码时,为了防止其他进程进入临界 ...

  7. (王道408考研操作系统)第二章进程管理-第三节2:实现进程互斥的软件方法

    文章目录 一:单标志法 二:双标志先检查法 三:双标志后检查法 四:Peterson算法 一:单标志法 算法思想:两个进程在访问完临界区后会把使用临界区的权限转交给另外一个进程,每个进程进入临界区的权 ...

  8. (王道408考研操作系统)第二章进程管理-第三节6:经典同步问题之生产者与消费者问题

    注意:生产者与消费者问题Linux系统编程专栏有案例讲解 Linux系统编程39:多线程之基于阻塞队列生产者与消费者模型 Linux系统编程40:多线程之基于环形队列的生产者与消费者模型 文章目录 一 ...

  9. (王道408考研操作系统)第二章进程管理-第一节4:进程通信(配合Linux)

    文章目录 一:什么是进程通信 二:如何实现进程间通信及其分类 三:通信方式1-共享存储(共享内存) (1)课本基础内容 (2)补充-Linux中的进程通信 四:通信方式2-管道 (1)管道是什么 (2 ...

最新文章

  1. R学习笔记:运行时间记录
  2. Maven+struts2+spring4+hibernate4的环境搭建
  3. .net利用程序集的GUID解决程序只能运行一次的问题
  4. Bootstrap插件之-按钮插件
  5. Fiddler简介及安装和HTTPS的解决
  6. 基于mybatis-generator代码生成工具改(链式方法实体版)
  7. 【flink】Flink 1.12.2 源码浅析 : yarn-per-job模式解析 从脚本到主类
  8. Java基础学习总结(110)——Java主要技术点总结
  9. idea多行编辑_开发神器idea被玩残了,你们功不可没啊!
  10. 好用好玩的Python包
  11. Linux下静态库.a与.so库文件的生成与使用
  12. SpringCloud-Config通过Java访问URL对敏感词加密解密
  13. [整理]使用POI操作Excel相关知识~
  14. Java 实现 植物大战僵尸 小游戏【附源码】
  15. 西铁城手表最外圈数字是什么_有的手表表盘外面有一圈数字,可以转动,是计算什么用的?...
  16. 推送之信鸽推送详解 Think Different
  17. datetime计算天数
  18. Python基础知识——变量与运算符
  19. 解决虚拟机不能连接外网问题
  20. iOS Mac Catalyst

热门文章

  1. linux设置网络 重命名,01-Redhat/Centos7网卡命名介绍及修改方式
  2. vue打包放到Java项目里_如何把vuejs打包出来的文件整合到springboot里
  3. ImageGP新上几个小工具
  4. 复现原文(一):Single-cell RNA sequencing of human kidney(step by step)
  5. 给力!使用MacPilot解锁macOS 1200多个隐藏功能!(支持M1处理器mac)
  6. 代码编辑器sublime text 4使用小技巧--快捷键说明
  7. 几本人工智能入门书籍
  8. P5735 【深基7.例1】距离函数(python3实现)
  9. P2249 【深基13.例1】查找(AC) 2022.1.28
  10. 微信小程序消息推送自有服务器无法接收到信息,消息推送服务器配置次数用完的解决方式。