版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
会计学1操作系统—资源分配与调5.1资源管理概述5.1.1资源管理的目的和任务什么是资源?资源包括硬件资源和软件资源。是指执行一个用户程序所需要的全部硬件设备、软件设施和数据。第1页/共35页5.1资源管理概述5.1.1资源管理的目的和任务什么是资源管理?根据不同资源的不同特点,按用户要求对资源实行合理的分配,监察资源的使用情况,回收空闲资源,并保护资源不受非法使用。第2页/共35页5.1资源管理概述5.1.1资源管理的目的和任务资源管理的目标(从它的反面谈起)高效(例:CPU的利用)合理(例:内存的分配)安全(例:网络访问,死锁)
第3页/共35页5.1资源管理概述5.1.1资源管理的目的和任务资源管理的任务资源数据结构的描述确定资源的分配原则和调度原则执行资源分配存储控制和安全保护
第4页/共35页5.1资源管理概述5.1.2资源的分类方法(p120)物理资源与程序资源单一访问入口资源和多访问入口的资源等同资源虚拟资源第5页/共35页5.1资源管理概述5.1.3资源管理的机构和策略(p121)机构:操作系统实现资源管理的部分策略:关于这部分操作系统的具体设计注意:由于每种资源具有各自的特点,分配的机制和策略不尽相同,本章主要从资源的一般共性出发,着重讨论资源分配的一般机制和策略,具体的实施将在后续各章中陆续展开讨论。第6页/共35页5.2资源分配机制5.2.1资源描述器(resourcedescriptor,RD)资源描述器(表5.1,p121):描述资源的数据结构。操作系统通过这些数据结构而感知到资源的存在,并对资源进行管理。最小分配单位:某一类资源根据需要划分为不可再分割的基本分配单位。一个最小分配单位通过一个资源描述器加以描述。第7页/共35页5.2资源分配机制5.2.1资源描述器资源描述器的组织方式:表:适合于分配单位数量固定不变队列:适合于分配单位数量是变化的最大数组法:适合于分配单位的最大数量是已知的。如一个硬盘空间是不变的,当确定最小分配单位后,便可生成所有的资源描述器。第8页/共35页5.2资源分配机制5.2.2资源信息块(rib)(p122,图5.1)资源信息块包含如下内容:等待进程队列可利用资源队列资源分配程序入口地址第9页/共35页5.3资源分配策略5.3.1概述资源分配的两个目标:吞吐率:在单位时间内完成工作量的量度。响应时间:提交请求和返回该请求的响应之间所使用的时间。吞吐率和响应时间是服务系统(如:数据库服务器、web服务器等)的两个最为重要的评价指标,所追求的目标就是高吞吐率和短响应时间。第10页/共35页5.3资源分配策略5.3.1概述在其他条件不变的情况下,吞吐率与响应时间往往存在矛盾的,即以牺牲响应时间来获取高吞吐率,或以牺牲吞吐率来获取短响应时间。系统设计时需要根据应用环境作出平衡。ABAABAB第11页/共35页5.3资源分配策略5.3.2先请求先服务
(FIFO—FirstInFirstOut)排序原则:按请求的先后次序排序。即:新产生的请求均排在队尾,分配时在队首。适用范围:系统中的一切资源。优点:简单、次序不会改变、系统开销小。缺点:未对请求特征、占用资源时间长短等因素加以考虑,不利于短作业,系统无法进行干预。第12页/共35页5.3资源分配策略5.3.3优先调度:系统对每个进程(或作业),都指定一个优先级以反映请求资源的紧迫程度排序原则:按优先级的高低排序。即:新产生的请求,按其优先级的高低插入到队列中相应的位置。优点:系统可进行干预,以优化资源的使用方式缺点:插入时要搜索队列、有时无法用队列实现,另外如何合理地分配优先级也是一个问题。适用的资源:由于系统开销较大,主要用于系统中的紧缺资源(如处理机的分配)。第13页/共35页5.3资源分配策略资源分配策略的总原则:保证紧急事务优先处理保证低级事务得到处理保证轻量事务及时处理第14页/共35页5.4死锁5.4.1死锁的概念死锁是一个较为复杂的概念,在讲这个概念之前,先看一些例子。例1:网上交易支付问题卖方与买方谈妥后,买方交付了60%的货款,然后卖方向买方发货。当收到货物后,买方不满意货物提出退货,然而卖方认为理由不合理,不予退货。交易无法推进下去。思考:你认为应该怎样解决?第15页/共35页5.4死锁例2:十字路的交通问题(练习题P1385-7)思考:它们是如何导致死锁的?第16页/共35页5.4死锁例2:回顾:生产者-消费者问题消费者在未检查缓冲区是否为空的时候便申请了读写许可mutex,当缓冲区为空时,消费者需要等生产者生产产品,然而生产者同样因为在等待消费者释放缓冲区而陷入了死锁。
mutex=1;full=0;empty=n;
p1(
)
p2(
)
{while(生产未完成)
{while(还要继续消费)
{...{p(mutex);生产一个产品;p(full);
p(empty);从缓冲区中取产品;
p(mutex);
v(mutex);送一个产品到缓冲区;v(empty);
v(mutex);...
v(full);消费一个产品;
}}
}}第17页/共35页5.4死锁5.4.1死锁的概念例3:设系统只有一台打印机(R1),和一台光标记阅读机(R2),由进程p1、p2共享。用信号灯的P、V操作,控制资源的申请和释放。其信号灯的设置为:
s1:表示R1是否可用,初值为1。
s2:表示R2是否可用,初值为1。
进程P1
进程P2
p(s1);申请R1
p(s2);申请R2
p(s2);又申请R2
p(s1);又申请R1......
v(s1);释放R1
v(s2);释放R2......
v(s2);释放R2
v(s1);释放R1第18页/共35页5.4死锁5.4.1死锁的概念在两个或多个并发进程中,如果每个进程都持有某种资源,而又都同时等待着别的进程释放它们保持着的资源否则就不能向前推进。称这一组进程产生了死锁。思考:是什么导致了死锁?是因为进程间的竞争吗?第19页/共35页5.4死锁5.4.2死锁的起因
(1)系统的资源总数<∑各进程的资源总需求
(2)进程推进的顺序不合理
(资源的使用方式、及占有资源的顺序)练习:p137,5-4第20页/共35页5.4死锁5.4.2死锁的起因例:对打印机(R1)-输出机(R2)死锁问题的解释p1p2R1R2分配申请申请分配第21页/共35页5.4死锁5.4.2死锁的起因死锁的必要条件:互斥条件:涉及的资源为临界资源部分分配:进程每次仅申请所需资源的一部分,在占有资源以后,还会继续申请新的资源,只有不满足才等待。不剥夺条件:进程占有的资源,不能被其他进程强行剥夺环路条件:在进程与资源有向图中,存在有向环。只要其中一条不成立,死锁就不会发生第22页/共35页5.4死锁5.4.4解决死锁的策略基本点:破坏死锁的某一个必要条件
思考:破坏哪些必要条件是可行的呢?互斥条件不剥夺条件部分分配环路条件第23页/共35页5.4死锁5.4.3解决死锁的策略互斥条件:由硬件本身性质决定了难于否定该条件。第24页/共35页5.4死锁5.4.3解决死锁的策略2.不剥夺条件:很容易否定。但是:(1)否定该条件是在发生了死锁之后。(2)并且需要保护和恢复被剥夺的进程现场。(3)不是所有资源都可以剥夺的(如正在打印的打印机)思考:更重要的是,要防死锁于未然。第25页/共35页5.4死锁3.部分分配:很容易否定,由此得到静态预防死锁。4.环路条件:可以否定。由此得到有序资源分配法。第26页/共35页5.4死锁5.4.5死锁的预防和避免静态预防死锁:在作业调度时,为选中的作业分配它所需要的所有临界资源在该作业的整个运行期间,这些资源都为它独占。实质:破坏了死锁必要条件中的部分分配缺点:降低了设备的利用率(只用很短时间,或根本不用)造成不必要的等待用户可能提不出所需的全部资源第27页/共35页5.4死锁5.4.5死锁的预防和避免有序资源分配法(避免死锁,p134):所有的资源类都给定一个唯一的序号(如打印机为1,阅读机为2),分配请求必须以上升的次序进行;而且同一类型的资源必须一次申请完。优点:提高了资源利用率(p1使用完打印机后p2便可申请占用)缺点:进程实际需要资源未必与编号一致。
实质:破坏了死锁的环路条件p1p2R1R2申请1申请2申请1申请2p1p2R1R2分配申请申请分配导致死锁不导致死锁第28页/共35页5.4死锁小结:处理死锁的四种策略1.检测死锁并恢复2.静态预防死锁3.有序的分配资源4.忽略死锁(鸵鸟算法)第29页/共35页5.4死锁银行家算法(避免死锁)当进程申请一组资源时,需要检查申请者对资源的最大需求量,如果系统现存的各类资源的数量满足当前它对各类资源的最大需求量时,则满足其申请;否则,进程必须等待,直到其他进程释放足够的资源为止。即:仅当申请者可以在一定时间内无条件的归还它所申请的全部资源时,才进行资源分配。第30页/共35页5.4死锁
假设有n个进程m类资源,则有如下数据结构:可利用资源向量Available。这是一个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源的数目,其数值随该类资源的分配和回收而动态地改变。Available[j]=K,则表示系统中现有Rj类资源K个。最大需求矩阵Max。这是一个n*m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K。分配矩阵Allocation。这也是一个n*m的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。如果Allocation[i,j]=K,则表示进程i当前已分得Rj类资源的数目为K。需求矩阵Need。这也是一个n*m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其任务。上述三个矩阵存在如下关系:
Need[i,j]=Max[i,j]-Allocation[i,j]第31页/共35页5.4死锁
设进程I提出请求Request[N],则银行家算法按如下规则进行判断。
(1)如果Request[N]<=Need[I,N],则转(2);否则,出错。
(2)如果Request[N]<=Available,则转(3);否则,出错。
(3)系统试探分配资源,修改相关数据:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度牛肉产品绿色认证与环保标识合同4篇
- 二零二五版暖通设备研发与制造合同4篇
- 2025年度农业品牌授权合作合同范本4篇
- 2025年度婴幼儿奶粉线上线下融合营销合作合同范本
- 2025年度门脸房屋租赁与新能源汽车充电站建设合同4篇
- 2025年度土地流转收益分配合同示范文本
- 二零二五年度房地产公司打字员招聘合同4篇
- 二零二五年度互联网+期权合约合同范本4篇
- 二零二五年度智能安防系统技术服务合同协议书2篇
- 2025年度苹果出口贸易合同模板4篇
- 2024-2025学年高二上学期期末数学试卷(新题型:19题)(基础篇)(含答案)
- 下运动神经元损害综合征疾病演示课件
- 北师大版三年级数学(上册)看图列式计算(完整版)
- 2023中考地理真题(含解析)
- 麻醉药品、精神药品月检查记录表
- 浙江省宁波市海曙区2022学年第一学期九年级期末测试科学试题卷(含答案和答题卡)
- 高考英语词汇3500电子版
- 建院新闻社成立策划书
- JJF 1101-2019环境试验设备温度、湿度参数校准规范
- GB/T 25000.51-2016系统与软件工程系统与软件质量要求和评价(SQuaRE)第51部分:就绪可用软件产品(RUSP)的质量要求和测试细则
- 外科学试题库及答案(共1000题)
评论
0/150
提交评论