芯片交易网IC交易网-亿配芯城-操作系统中进程同步介绍
你的位置:芯片交易网IC交易网-亿配芯城 > 芯片资讯 > 操作系统中进程同步介绍
操作系统中进程同步介绍
发布日期:2023-12-31 12:54     点击次数:91

进程同步

图片

动画展示,临界区的资源,在某个时刻,只能有一个进程在使用。

临界资源

一旦有对资源的共享,就必然涉及竞争限制。

临界资源用来表示一种,公共资源或者说是共享数据,可以被多个线程使用。

但是每一次,只能有一个线程使用它。一旦临界资源被占用,其他线程,要想使用这个资源,就必须等待。

进程同步的主要任务是,对多个相关进程,在执行次序上进行协调,以使并发执行的诸进程之间,能有效地共享资源和相互合作,从而使程序的执行,具有可再现性。

临界区

有了临界资源的概念,就很容易理解临界区的概念。在程序中,所有的操作,都是通过代码执行的, ATMEGA系列ATMEL芯片COM访问临界资源的那段代码就是临界区

处理竞争或者合作依赖导致的制约

空闲让进:对于临界资源, 电子元器件PDF资料大全如果空闲没有被使用, EEPROM带电可擦可编程存储器芯片大全谁来了之后都可以使用

忙则等待:如果临界资源正在被使用,CMOS图像传感器集成电路芯片那么其他后来者就需要进行等待。

有限等待:要求访问临界资源的进程, 芯片交易网IC交易网应保证有限时间内,能进入自己的临界区,自己不能傻傻的等

让权等待:如果无法进入自己的临界区时,应立即释放处理机,而不能占着CPU死等,你死等就算了,芯片交易网IC交易网别人却也不能用了。

锁就是对资源施加控制,锁指的是一种控制权。

当进入临界区时,我们称之为获得锁,获得锁之后就可以访问临界资源。

其他线程想要进入临界区,也需要先获得锁。

当前线程结束后,将会释放锁,别的线程就可以获取这个资源的锁。

死锁

锁表示一种控制权,对临界资源的访问权限。

下面动画展示,两个小人,都要使用资源1和资源2,才能达到对面。左边小人战友资源1,右边小人占有资源2。他们占有当前资源,再去获取对方的资源时,就会产生死锁的情况。

图片

如果临界资源不止一个,就可能出现:需要先后访问两种临界资源A和B,thread1获得了A线程的锁之后,等待获得B的锁,但是thread2获得了资源B的锁,在等待A资源的锁,这就出现了互相等待的情况。

解决方案

AND型信号量机制就是用于解决这种多共享资源下的同步问题的。

将进程在整个运行过程中,需要的所有资源,一次性全部地分配给进程,待进程使用完后再一起释放。

只要尚有一个资源未能分配给进程,其它所有可能为之分配的资源,也不分配给它。

也就是对,若干个临界资源的分配,采取原子操作方式:要么把它所请求的资源全部分配到进程,要么一个也不分配。