操作系统中进程同步介绍

进程同步
动画展示,临界区的资源,在某个时刻,只能有一个进程在使用。
临界资源
一旦有对资源的共享,就必然涉及竞争限制。
临界资源用来表示一种,公共资源或者说是共享数据,可以被多个线程使用。
但是每一次,只能有一个线程使用它。一旦临界资源被占用,其他线程,要想使用这个资源,就必须等待。
进程同步的主要任务是,对多个相关进程,在执行次序上进行协调,以使并发执行的诸进程之间,能有效地共享资源和相互合作,从而使程序的执行,具有可再现性。
临界区
有了临界资源的概念,就很容易理解临界区的概念。在程序中,所有的操作,都是通过代码执行的,访问临界资源的那段代码就是临界区
处理竞争或者合作依赖导致的制约
空闲让进:对于临界资源,如果空闲没有被使用,谁来了之后都可以使用
忙则等待:如果临界资源正在被使用,那么其他后来者就需要进行等待。
有限等待:要求访问临界资源的进程,应保证有限时间内,能进入自己的临界区,自己不能傻傻的等
让权等待:如果无法进入自己的临界区时,应立即释放处理机,而不能占着cpu死等,你死等就算了,别人却也不能用了。

锁就是对资源施加控制,锁指的是一种控制权。
当进入临界区时,我们称之为获得锁,获得锁之后就可以访问临界资源。
其他线程想要进入临界区,也需要先获得锁。
当前线程结束后,将会释放锁,别的线程就可以获取这个资源的锁。
死锁
锁表示一种控制权,对临界资源的访问权限。
下面动画展示,两个小人,都要使用资源1和资源2,才能达到对面。左边小人战友资源1,右边小人占有资源2。他们占有当前资源,再去获取对方的资源时,就会产生死锁的情况。
如果临界资源不止一个,就可能出现:需要先后访问两种临界资源a和b,thread1获得了a线程的锁之后,等待获得b的锁,但是thread2获得了资源b的锁,在等待a资源的锁,这就出现了互相等待的情况。
解决方案
and型信号量机制就是用于解决这种多共享资源下的同步问题的。
将进程在整个运行过程中,需要的所有资源,一次性全部地分配给进程,待进程使用完后再一起释放。
只要尚有一个资源未能分配给进程,其它所有可能为之分配的资源,也不分配给它。
也就是对,若干个临界资源的分配,采取原子操作方式:要么把它所请求的资源全部分配到进程,要么一个也不分配。

怎样交换扬声器的声道
面对生态困境,鸿蒙具备哪些技术优势
通过光合作用测定仪来控制作物生长所需的光照量
人脸识别应用不断增多,人脸识别时代真的安全吗
三星手机市场份额大幅度下滑,利润跟份额三星到底该怎么选呢?
操作系统中进程同步介绍
三星Galaxy S20系列上线Quick Share快速共享功能
AM575930PA-P2功率放大器AMCOM
鸿蒙系统支持型号
戴尔官方网站被黑客入侵:公司要求所有帐号重置密码
传统彩电行业势衰 OLED市场被持续看好
中国宣布对部分无人机实施出口管制!
在CES 2018上语音和人工智能应用的大爆发
物联网中该如何使用区块链技术?
应用材料:2012年半导体有望止跌回升
台湾高技 GAOJ-K交叉滚柱导轨结构与优势
在智能大棚中温湿度传感器是温度和湿度测量的关键性元件
眸瑞科技与沐曦集成电路联合发布首个AI模型“贴图超分”技术
自动化控制系统适用于净化空气或氮气流量监控应用
基于TMS320F2812数字信号处理器实现电压闪变监测系统的应用方案