进程管理
进程的概念
进程是程序在数据集合上运行的过程
进程由程序块、程序控制块(PCB)、数据块组成。
进程是系统进行资源分配和调度的独立单元
扩展:进程和程序的区别
程序是完成特定工作的语句集合,只要不被破坏,就一直存在,是静态的概念。
进程是程序的一次执行过程,任务开始时产生,任务完成时销毁,是个动态的概念。
没有程序就没有进程
进程的状态
状态解释
-
等待:也称阻塞,等待某个事件的执行(阻塞)
-
就绪:除cpu资源外,进程运行所需的其他资源都已经具备
-
运行:
-
静止就绪和静止阻塞:由人为挂起形成
从运行态到就绪态可能的原因
- 时间片到了
- 新进入一个进程,进入的进程的优先级 > 当前进程的优先级
进程的同步和互斥
同步 直接制约关系
互斥 间接制约关系
互斥进程之间将对临界资源进行抢夺
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