操作系统原理第五章资源分配及调度
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
┅
表头
高
按优先级的高低排序
低
按优先级高低排列的就绪队列
12
5.3 死锁
一. 死锁的概念
1. 死锁的例子 (1)同类资源的死锁 (2)非同类资源的死锁
进程p1、p2 共享一台打印机和一台光标记阅读机 时刻t1,进程 p1——占用打印机
进程 p2——占用光标记阅读机。 时刻t2,进程 p1——又请求光标记阅读机
5
5.2 资源分配机制
1. 资源描述器
什么是资源描述器
描述各类资源的最小分配单位的数据结构称为资源描述 器 RD (resource descriptor)。
如:主存最小分配单位: ▪ 在分区分配中——主存分区
磁盘最小分配单位: ▪ 磁盘面中的一个扇区
描述器的组织方式取决于资源分配单位的数量和这一 数量是固定不变的、还是可以变化的这一特征。
第五Fra Baidu bibliotek 资源分配与调度
5.1 资源管理概述 5.2 资源分配机制 5.3 资源分配策略 5.4 死锁概念
5.1 资源管理概述
1. 资源管理的目的和任务
资源的静态分配和动态分配 资源的静态分配
系统对作业一级采用资源静态分配方法。 系统在调度作业时,根据作业所需资源进行分配;并
在作业运行完毕时,收回所分配的全部资源。称为资 源的静态分配。
资源的动态分配
系统对进程一级采用资源动态分配方法。 系统在进程运行中,根据进程提出的资源需求,进行
资源的动态分配和回收。称为资源的动态分配。
2
5.1 资源管理概述
资源管理的目的
目的:为用户提供一种简单而有效地使用资源的方法, 充分发挥各资源的作用。
应达到的目标:
保证资源的高利用率; 在“合理”时间内使所有顾客有获得所需资源的机会; 对不可共享的资源实施互斥使用; 防止由资源分配不当而引起死锁。
┆
v(s2); ┆
v(s1); ┆
15
5.3 死锁
2. 什么是死锁
在两个或多个并发进程中,如果每个进程持有某种资源 而又都等待着别的进程释放它或它们现在保持着的资源, 否则就不能向前推进,称这一组进程产生了死锁。
死锁是两个或多个进程被无限期地阻塞、相互等待的一 种状态。
多访问入口资源(可以为多个进程共享使用) 等同资源(多个完全相同的设备) 虚拟资源(cpu、一定容量的主存、数量有限的外设),如
虚拟存储器
3. 资源管理的机构和策略
机构:进行资源分配的必需的基本设施和部件,它包括描 述资源状态的数据结构、保证资源互斥的同步机构及资源 请求排队的手段。
策略:这些机构所使用的方法,资源分配的原则
6
5.2 资源分配机制
资源描述器的内容
资源名 资源类型 最小分配单位的大小 最小分配单位的地址 分配标志 描述器链接信息 存取权限 密级 最后一次存取时间 记账信息
0 20KB 52KB
os
作业1
66KB 作业3
130KB
作业4
230KB
256KB1
主存
7
5.2 资源分配机制
1. 常用的资源分配策略
(1) 先请求先服务(FIFO(First In First Out)策略)
排序原则:按请求的先后次序排序。
每一个新产生的请求均排在队尾,而当资源可用时,资源 分配程序则从队列中选取第一个请求,并满足其需要。
这种策略可用于对进程或作业的调度,或外设、主存分配 表头
┅
8
5.2 资源分配机制
资源信息块的内容
等待队列头指针 可利用资源队列头指针 资源分配程序入口地址
pcb1
pcb2
┅
pcbk
rd1
rd2
rdn
┅
资源分配程序
9
5.3 资源分配策略
资源分配的方式取决于设计者所选择的目标,以及与应用 每一类资源相联系的特定限制。
目的是使吞吐率尽可能地高,响应时间尽可能地短,即既 要充分地利用系统各种资源,又要尽可能地满足用户要求。
局面。
14
5.3 死锁
进程A
┆
p(s1); 占用R1 v(s1);
┆
p(s2); 占用R2 v(s2);
┆
┆
进程B
┆
p(s2); 占用R2 v(s2);
┆
p(s1); 占用R1 v(s1);
┆
┆
A进程
┆
p(s1) 占用R1 p(s2); 又占用R2
┆
v(s1 ) ┆
v(s2); ┆
进程B
┆
p(s2); 占用R2 p(s1); 又占用R1
一个资源进行分配的问题,在一般情况下,是由这样两个 方面组成的:管理请求的排队站(分配策略)与在等同资 源间选择资源。
分配程序可以用不同的策略选择进程请求;
按照请求来到的次序进行查看; 将进程请求者的优先权结合到每一个请求中; 满足能更合理地应用这一资源的那个请求。
10
5.3 资源分配策略
2. 资源信息块
什么是资源信息块(rib)
描述某类资源的请求者、可用资源和该类资源分配程 序等必要信息的数据结构。
对于每一类可利用的资源,可将其组织成可利用资源 队列。在资源信息块中有指向这两个队列的队列指针, 另外还有一项为该类资源分配程序的入口地址 。
资源分配程序是接收分配命令把资源分配给请求者的 例程。 资源分配程序包括:分配程序和回收程序。
先
后
按请求的先后次序
按自然顺序排列的队列
11
5.3 资源分配策略
(2) 优先调度
在优先调度策略下,对于每一个进程要指定一个优先级,优 先级反映了进程要求处理的紧迫程度。
排序原则:按优先级的高低排序。 每一个新产生的请求,按其优先级的高低插到相应的位置上。
而当资源可用时,选取队列中第一个请求,并满足其需要。
3
5.1 资源管理概述
资源管理的任务
任务:解决资源分配问题,防止死锁;解决对资源的 存取、使用方法问题
资源管理的功能
资源数据结构的描述 确定资源的分配原则和调度原则 执行资源分配 存取控制和安全保护
4
5.1 资源管理概述
2. 资源的分类方法
物理资源和程序资源(处理器、外设等;消息或文件等) 单一访问入口资源(不可重入,只能为一个进程使用)和
进程 p2——又请求打印机
13
5.3 死锁
(2) 用信号灯的P、V操作描述死锁
设进程A与进程B共享一台打印机(R1) 和一台光标记阅 读机(R2) 。
用信号灯的P、V操作表示资源的申请和释放。 信号灯设置—— s1:表示R1可用,初值为1。
s2:表示R2可用,初值为1。 讨论两种资源请求序列,哪种情况可能产生互相死等的