2.1进程管理
Last updated
Was this helpful?
Last updated
Was this helpful?
进程是程序在数据集合上运行的过程
进程由程序块、程序控制块(PCB)、数据块组成。
进程是系统进行资源分配和调度的独立单元
扩展:进程和程序的区别
程序是完成特定工作的语句集合,只要不被破坏,就一直存在,是静态的概念。
进程是程序的一次执行过程,任务开始时产生,任务完成时销毁,是个动态的概念。
没有程序就没有进程
状态解释
等待:也称阻塞,等待某个事件的执行(阻塞)
就绪:除cpu资源外,进程运行所需的其他资源都已经具备
运行:
静止就绪和静止阻塞:由人为挂起形成
从运行态到就绪态可能的原因
时间片到了
新进入一个进程,进入的进程的优先级 > 当前进程的优先级
同步 直接制约关系
互斥 间接制约关系
互斥进程之间将对临界资源进行抢夺
临界资源:共享资源,如打印机
临界区:每个进程中访问临界资源的那段代码
m信号量
提示:P是荷兰语的Passeren,V是荷兰语的Verhoog
避免死锁的分配方法
有序资源分配法:进程需要多少资源,分配器多少资源
银行家算法
系统有5个进程:A、B、C、D、E,每个进程都需要4个系统资源才能运行。请问至少有多少个资源,才不可能造成死锁?
为了不造成死锁,采用如下方式分配资源:首先分配给每一个进程的资源数为所需资源数-1,即3,系统再留有一个资源
公式:$ 系统资源数=进程数\times(进程所需资源数-1)+1 $
即: $系统至少资源数=5\times3+1$
临界资源:互斥方式进行共享的资源
临界区:访问临界资源的那段代码
信号量s:是一种特殊的变量
P操作:申请资源
V操作:释放资源
提示:pv操作可以使用如下方式理解
等待A则P(SA)
唤醒E则V(SE)
银行家算法