2.1进程管理

进程的概念

进程程序数据集合上运行的过程

进程由程序块程序控制块(PCB)数据块组成。

进程是系统进行资源分配和调度的独立单元

扩展:进程和程序的区别

程序是完成特定工作的语句集合,只要不被破坏,就一直存在,是静态的概念。

进程是程序的一次执行过程,任务开始时产生,任务完成时销毁,是个动态的概念。

没有程序就没有进程

进程的状态

状态解释

  • 等待:也称阻塞,等待某个事件的执行(阻塞)

  • 就绪:除cpu资源外,进程运行所需的其他资源都已经具备

  • 运行:

  • 静止就绪和静止阻塞:由人为挂起形成

从运行态到就绪态可能的原因

  • 时间片到了

  • 新进入一个进程,进入的进程的优先级 > 当前进程的优先级

进程的同步和互斥

同步 直接制约关系

互斥 间接制约关系

互斥进程之间将对临界资源进行抢夺

PV操作*

  • 临界资源:共享资源,如打印机

  • 临界区:每个进程中访问临界资源的那段代码

  • m信号量

提示:P是荷兰语的Passeren,V是荷兰语的Verhoog

死锁问题

避免死锁的分配方法

  • 有序资源分配法:进程需要多少资源,分配器多少资源

  • 银行家算法

系统有5个进程:A、B、C、D、E,每个进程都需要4个系统资源才能运行。请问至少有多少个资源,才不可能造成死锁?

为了不造成死锁,采用如下方式分配资源:首先分配给每一个进程的资源数为所需资源数-1,即3,系统再留有一个资源

公式:$ 系统资源数=进程数\times(进程所需资源数-1)+1 $

即: $系统至少资源数=5\times3+1$

PV操作

  • 临界资源:互斥方式进行共享的资源

  • 临界区:访问临界资源的那段代码

  • 信号量s:是一种特殊的变量

P操作:申请资源

V操作:释放资源

提示:pv操作可以使用如下方式理解

等待A则P(SA)

唤醒E则V(SE)

进程管理

银行家算法

Last updated

Was this helpful?