快捷搜索:  汽车  科技

操作系统进程五个基本状态转换图(进程同步及死锁知识点框架)

操作系统进程五个基本状态转换图(进程同步及死锁知识点框架)3.临界资源当一个进程进入临界区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另进程才允许去访问此临界资源1.同步(直接制约关系)指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系2.互斥(间接制约关系)

操作系统进程五个基本状态转换图(进程同步及死锁知识点框架)(1)

OS

进程同步

一、引入原因

协调进程之间的相互制约关系

二、制约关系

1.同步(直接制约关系)

指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系

2.互斥(间接制约关系)

当一个进程进入临界区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另进程才允许去访问此临界资源

3.临界资源

一次仅允许一个进程使用的资源(打印机、共享缓冲区、共享变量、共用队列)

4.临界区

在每个进程中访问临界资源的那段程序

5.临界区互斥

(1)原则

①空闲让进:如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。

②忙则等待:任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。

③有限等待:进入临界区的进程要在有限时间内退出,以便其他进程能及时进入自己的临界区。

④让权等待:如果进程不能进入自己的临界区,则应让出 CPU ,避免进程出现“忙等”现象。

(2)基本方法

信号量:利用 PV 操作实现互斥

操作系统进程五个基本状态转换图(进程同步及死锁知识点框架)(2)

进程同步

死锁

一、产生的原因

1.非法剥夺资源的竞争和进程的不恰当推进顺序(与饥饿的区别)(饥饿是进程缺乏某一资源,而这个资源一直没有得到满足,如果得到该资源,饥饿问题将被解决)

2.定义

多个进程因竞争资源而造成的一种僵局,如果没有外力,这些进程将无法推进

3.当死锁产生的时候一定会有这四个条件(互斥条件、不剥夺条件、请求和保持条件、循环等待条件),有一个条件不成立都不会造成死锁。

4.解决方法

(1)预防死锁:打破产生死锁的四个必要条件的一个或几个

①破坏互斥条件(共享)

②破坏不剥夺条件

③破坏请求和保持条件

采用预先静态分配方法,即进程在运行前一次申请完它所需要的全部资源,在它的资源未满足前,不把它投入运行。一旦投入运行后,这些资源就一直归它所有,也不再提出其他资源请求,这样就可以保证系统不会发生死锁。

④破坏循环等待条件

⑤采用顺序资源分配法

(2)避免死锁

①安全状态

系统能按某种进程推进顺序(P1 P2 .. Pn )

②银行家算法

未分配资源减去 RequestP1尚需资源减去 Request 即减去后是否能找到一个安全序列

(3)检测死锁:利用死锁原理

(4)解除死锁

①资源剥夺法

②撤销进程法

③进程回退法

操作系统进程五个基本状态转换图(进程同步及死锁知识点框架)(3)

死锁

猜您喜欢: