2.3.1 进程的同步与互斥
文章目录
- 0.思维导图
- 1.进程同步
- 2.进程互斥
0.思维导图
1.进程同步
同步也称为直接制约关系。
- 在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。为了协调进程之间的相互制约关系,如等待、传递信息等,引入了进程同步的概念。进程同步是为了解决进程的异步问题。
- 一个简单的例子来理解这个概念。
- 例如,让系统计算1 + 2x3,假设系统产生两个进程: 一个是加法进程,一个是乘法进程。要让计算结果是正确的,一定要让加法进程发生在乘法进程之后,但实际上操作系统具有
异步性
,若不加以制约,加法进程发生在乘法进程之前是绝对有可能的,因此要制定一定的机制去约束加法进程,让它在乘法进程完成之后才发生。
异步性:进程具有异步性的特征。异步性是指,各并发执行的进程以各自独立的、不可预知的速度向前推进。
2.进程互斥
互斥,亦称间接制约关系
。进程互斥
指当一个进程访问某临界资源时,另一个想要访问该临界资源
的进程必须等待。当前访问临界资源的进程访问结束,释放该资源之后,另一个进程才能去访问临界资源。- 在这里需复习一下
临界资源
的概念。 - 我们把一个时间段内只允许一个进程使用的资源称为临界资源。许多物理设备(比如摄像头、打印机)都属于临界资源。此外还有许多变量、数据、内存缓冲区等都属于临界资源。
- 对临界资源的访问,必须互斥地进行。
- 为了禁止两个进程同时进入
临界区
,需遵循以下准则
参考:https://www.bilibili.com/video/av70156862?p=17
2.3.1 进程的同步与互斥相关推荐
- 进程的同步、互斥以及PV原语
在处理进程间的同步与互斥问题时,我们离不开信号量和PV原语,使用这两个工具的目的在于打造一段不可分割不可中断的程序.应当注意的是,信号量和PV原语是解决进程间同步与互斥问题的一种机制,但并不是唯一的机 ...
- 用信号量解决进程的同步与互斥
转自:http://www.cnblogs.com/whatbeg/p/4435286.html 现代操作系统采用多道程序设计机制,多个进程可以并发执行,CPU在进程之间来回切换,共享某些资源,提高了 ...
- 进程间同步(互斥量、信号量)
进程间同步可以使用互斥量mutex(互斥锁).信号量和文件锁. 进程间同步使用信号量: int sem_init(sem_t *sem, int pshared, unsigned int value ...
- 进程的同步和互斥反映了_用信号量解决进程的同步与互斥探讨【持续更新】
现代操作系统采用多道程序设计机制,多个进程可以并发执行,CPU在进程之间来回切换,共享某些资源,提高了资源的利用率,但这也使得处理并发执行的多个进程之间的冲突和相互制约关系成为了一道难题.如果对并发进 ...
- OS学习笔记-17(清华大学慕课)进程的同步和互斥
进程的同步和互斥 背景 多个进程一起执行有很多好处,但执行时容易产生资源共享的问题 进程的交互 互斥(一个进程占用某资源,则其他进程不能使用该资源) 死锁(多个进程占用各自部分资源,形成循环等待) 饥 ...
- 信号量解决进程的同步和互斥
转自:http://www.cnblogs.com/whatbeg/p/4435286.html 现代操作系统采用多道程序设计机制,多个进程可以并发执行,CPU在进程之间来回切换,共享某些资源,提高了 ...
- 用信号量解决进程的同步与互斥探讨【持续更新】
现代操作系统采用多道程序设计机制,多个进程可以并发执行,CPU在进程之间来回切换,共享某些资源,提高了资源的利用率,但这也使得处理并发执行的多个进程之间的冲突和相互制约关系成为了一道难题.如果对并发进 ...
- 用信号量解决进程的同步与互斥探讨
<p>本篇也是一篇老文,发布于2015年5月,文章比较长,算老博客看的比较多的了,贴到这儿与大家分享,以求多多交流探讨.</p> 前言 现代操作系统采用多道程序设计机制,多个进 ...
- 十二、进程的同步与互斥
一.知识总览 主要是讲解进程的同步互斥问题:即什么是进程同步,什么是进程互斥. 二.什么是进程同步 1.进程具有异步性的特征.异步性是指,并发执行的进程以各自独立的.不可预知的速度向前推进.而进程同步 ...
- 操作系统二轮复习(进程的同步与互斥)
文章目录 进程互斥与同步四原则 进程互斥的软件实现方法 单标志法(空闲让进) 双标志先检查法(忙则等待) 双标志后检查法(空闲让进.有限等待) 皮特森算法(让权等待) 小结 进程互斥的硬件实现方法 中 ...
最新文章
- 不投降就是成功 --- 我看《新喜剧之王》
- 打印二叉树和为某一值的路径
- C语言程序可以没有main函数
- c一:指针引用(int * p )和指针(int * q)的区别
- worth,worthy,worthwhile的区别(一)
- OpenStack组件——Keystone身份认证
- UI2CODE再进化!结合Redux的框架升级!
- 崇尚个人当前状态的社会
- textbox控件输入内容后按下Enter键后执行button1的click方法
- 如何用php开发oa系统,oa系统怎么使用
- C++ VS2017 编译调用 gflags
- 华中师范大学计算机专业有博士点吗,【考博】华中师范大学有没有计算机方面的博士点?...
- 医学病理图片(SVS格式)的格式转换与显示——python实现
- 树莓派3B+安装Android 系统
- 分享112个HTML娱乐休闲模板,总有一款适合您
- php 保持内容换行符,PHP 将内容写入word pdf 换行符不生效咋办
- linux下编译和安装log4cxx,Linux下log4cxx的安装使用
- 微信小程序布局 头尾固定中间自适应
- 浮云人脸搜索软件最新版本上线,宣告人脸搜索又进一步
- 孤岛危机估算章节没有回应
热门文章
- iOS 点击推送消息跳转指定界面 —总结篇
- 微软一站式示例代码库 2012 年2月示例代码更新。8个全新示例为您的开发保驾护航...
- Yii框架特点及测试考虑
- android 清除矩形
- Windows Server 2012活动目录基础配置与应用(新手教程)之4---域用户的基本管理...
- [Dubbo实战]dubbo + zookeeper + spring 实战 (转)
- fdisk 磁盘分区命令
- 【通信原理】【实验】实验二:数字基带传输实验(GZHU)
- win11 wsl centos7换源aliyun阿里云命令记录
- sonarqube中,分析maven聚合工程时,不必分析parent工程,只需分析下面的module子工程即可