进程管理
进程的概念
进程是程序在数据集合上运行的过程
进程由程序块、程序控制块(PCB)、数据块组成。
进程是系统进行资源分配和调度的单元
进程的状态
从运行态到就绪态可能的原因
- 时间片到了
- 新进入一个进程,进入的进程的优先级 > 当前进程的优先级
进程的同步和互斥
同步 直接制约关系
互斥 间接制约关系
互斥进程之间将对临界资源进行抢夺
PV操作*
-
临界资源:共享资源,如打印机
-
临界区:每个进程中访问临界资源的那段代码
-
m信号量
提示:P是荷兰语的Passeren,V是荷兰语的Verhoog
死锁问题
避免死锁的分配方法
-
有序资源分配法:进程需要多少资源,分配器多少资源
-
银行家算法
系统有5个进程:A、B、C、D、E,每个进程都需要4个系统资源才能运行。请问至少有多少个资源,才不可能造成死锁?
为了不造成死锁,采用如下方式分配资源:首先分配给每一个进程的资源数为所需资源数-1,即3,系统再留有一个资源
公式:
系
统
资
源
数
=
进
程
数
×
(
进
程
所
需
资
源
数
−
1
)
+
1
系统资源数=进程数\times(进程所需资源数-1)+1
系统资源数=进程数×(进程所需资源数−1)+1
即:
系
统
至
少
资
源
数
=
5
×
3
+
1
系统至少资源数=5\times3+1
系统至少资源数=5×3+1