深入了解资源管理:功能、分配方式及机制策略

文章目录

一、资源管理概述 资源管理功能 资源分配方式

静态分配

系统作业一级采用资源静态分配方法

系统在调度作业时,根据作业所需资源进行分配;并在作业运行完毕时,收回所分配的全部资源。可能造成资源浪费

动态分配:

系统对进程一级采用资源动态分配方法。

系统在进程运行中,根据进程提出的资源需求,进行资源的动态分配和回收

计算机中物理资源与虚拟资源分析

在这里插入图片描述

二、资源管理机制与策略 资源分配机制—数据结构

1)资源描述

定义:描述各类资源的最小分配单位的数据结构称为资源描述器 rd(resource descriptor)

内容:资源名、资源类型、最小分配单位的大小、地址、分配标志、描述器链接信息、存取权限、密级、存取时间

2)资源信息块RIB(resource information block)

定义: 描述某类资源的请求者、可用资源和该类资源分配程序等 必要信息的数据结构。

内容:

在这里插入图片描述

资源分配策略

1)分配原则

2)常用资源分配策略:

三、死锁 死锁的定义

一组并发进程彼此等待对方拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源,从而造成无休止的等待而不能继续向前推进的状态,称为进程死锁,这一组进程就称为死锁进程。

死锁的起因条件

起因:

关于死锁的一些结论:

注:如果死锁发生,会浪费大量系统资源甚至导致系统崩溃。

死锁产生的四个必要条件

上述四个条件只要一个不满足,就可排除死锁。但必要条件成立,系统未必一定生死锁。

解决死锁问题的策略

解决死锁的方法有两类:

1)不让死锁发生:

2)允许死锁发生:

即发生后在解决死锁

预防死锁

在系统设计时,采用某种策略,限制并发进程对资源的请求,从而使得死锁的必要条件在系统执行任何时间都不满足打破死锁发生的四个必要条件之一

1)打破互斥条件

互斥条件是由于设备本身特性决定的,不能简单地将其打破,只有通过改造设备特性来实现。

2)破坏“不可剥夺”条件

意味着进程已经占有的资源,在运行过程中可能会暂时释放,从而打破了不剥夺条件,适用于状态易于保存和恢复的资源。

此方法实现比较复杂,延长进程的周转时间,增加系统开销,降低系统吞吐量。

3)破坏“请求和保持”条件

采用设备的预先静态分配法:即在进程开始运行前,预先分配给其所需的全部资源,若系统不能满足,则进程阻塞,直到系统满足其要求。打破了“请求和保持”条件。

4)破坏“循环等待”条件

采用资源有序使用法,系统将所有资源按类型进行线性排队,并赋予不同的序号,并且要求每个进程均应严格按照递增的次序请求资源,否则操作系统不予分配。

避免死锁

安全状态: 在现有的资源请求和使用状态下,如能使得系统内所有进程都能找到一种资源分配方式,使所需资源能满足,从而能正常运行。此时由系统中所有进程构成的序列P1,…,Pn,称为安全序列

安全序列: 如果对于每一个进程Pi(1≤i≤n),它以后需要的资源量不超过系统当前剩余资源量与所有进程Pj (j < i )当前占有资源量之和,系统处于安全状态。

注:安全状态一定是没有死锁发生的。

不安全状态: 不存在一个安全序列;只是可能会发生死锁,但不安全状态不一就是死锁。

银行算法避免死锁:

系统允许进程动态地申请资源,如果措施得当,可以使系统获得较为满意的系统性能

具体作法是:系统在分配资源过程中,根据资源的使用情况提前作出预测,若分配资源后系统处于安全态,就把资源分配给该进程,否则不分配,从而避免死锁的发生。

死锁的避免与死锁的预防的区别在于:死锁的预防是严格地至少破坏死锁必要条件之一,使之不在系统中出现,而死锁的避免是不那么严格地限制必要条件的存在,目的是提高系统的资源利用率。

死锁的检测与解除

系统为进程分配资源时不采取任何措施,但提供了检测和解除死锁的手段。

死锁的预防策略是非常保守的,通过限制访问资源和在进程上强加约束来解决死锁问题。死锁检测(deadlock detection)策略则完全相反,不限制资源访问或约束进程行为,OS周期性地执行一个算法检测死锁发生的四个必要条件。

死锁检测:

允许死锁发生,操作系统不断监视系统进展情况,判断死锁是否发生,一旦死锁发生则采取专门的措施,解除死锁并以最小的代价恢复操作系统运行。

检测的时机

每当进程请求资源时,就修改资源图,并检查是否构成环路条件,若有,则通过清除回路中的进程,使回路断开,破坏死锁。开销大,不常用;周期性检测 (类似于银行家算法) :其策略是查找一个进程,使得可用资源可以满足该进程的资源请求,然后假设同意分配这些资源,让进程运行直到完成,再释放它的所有资源,然后寻找另一个可以满足资源请求的进程;系统资源利用率下降时检测死锁。

死锁的检测机制:

死锁的解除:

死锁相关知识小结:

在这里插入图片描述

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注