- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 资源分配与调度;5.1 资源管理的目的和任务;5.1 资源管理功能;5.1 资源管理功能;5.2 资源分配的机构;什么是资源描述器(resource descriptor?);资源描述器的内容; 2. 资源信息块
为了对每类资源实施有效的分配,我们设置相应的资源信息块rib(resource information blcok),这样一个数据结构应能说明资源、请求者、实施分配所需的必要信息。
对每一类可利用的资源,可将其组织成可利用资源的队列。; 2. 资源信息块
(1) 什么是资源信息块
描述某类资源的请求者、可用资源情况和该类资源分配程序等必要信息的数据结构。
(2) 资源信息块的内容; (3) 中央处理机资源信息块 ;5.3资源分配策略;a.先请求先服务FIFO;a.先请求先服务FIFO;b.优先调度;b.优先调度的队列结构 ;5.4 死锁的产生;5.4.1 死锁的概念;例子:死锁的生活中的影子;例子:死锁的生活中的影子;A;什么是死锁?;设S1=1,打印机可用。S2=1,读卡机可用。;银行家问题的例子
银行共有资金10万元,客户u1需贷款3万,客户u2需贷款8万,客户u3需贷款9万 。某一时刻:
;起因:
1)系统资源不足
系统资源数目 进程需求
结论与问题:死锁一定是系统资源不足的,那么系统资源不足是不是一定造成死锁呢
2)联合推进路线非法
(进程推进顺序不当);;死锁产生的条件 ;死锁产生的条件 ;死锁产生的条件 ;死锁产生的条件 ;死锁产生的条件 ;死锁产生的条件 ;5.4.3 解决死锁问题的策略---预防死锁;5.4.3 解决死锁问题的策略---预防死锁;5.4.3 解决死锁问题的策略---预防死锁;5.4.3 解决死锁问题的策略---预防死锁;死锁的解决策略;鸵鸟算法;为了研究解决死锁的方法,可借助于有向图这一强有力的工具。图中有两种节点:方块和圆圈。圆圈代表进程,方块代表资源。
从资源节点(方块)到进程节点(圆圈)的有向弧表示资源已经分配给进程;
从进程到资源的有向弧表示进程当前正处于阻塞状态,等待资源变为可用。
;资源——进程有向图 ;;5.4 死锁的预防——静态分配策略;5.4 死锁的预防——静态分配策略;5.4 死锁的预防——静态分配策略;5.4 死锁的预防——层次分配;5.4 死锁的预防——层次分配;5.4有序资源分配法;5.4有序资源分配法;5.4.5 死锁的避免;5.4.5 死锁的避免;5.4.5 死锁的避免;5.4.5 死锁的避免;银行家算法;银行家算法;银行家算法;单资源的银行家算法;单资源的银行家算法;单资源的银行家算法;单资源的银行家算法;单资源的银行家算法;单资源的银行家算法;单资源的银行家算法总结;单资源银行家算法总结;5.4.6 死锁的检测和恢复;5.4.6 死锁的检测和恢复;一道考研题;一道考研题;;一道考研题;;;回顾:资源竞争产生死锁
m个资源被n个进程共享,每个进程要求k个资源,则当 m=n*(k-1) 时,如果分配不当就可能发生死锁。
死锁的定义:在两个或多个并发进程中,如果每个进程持有某种资源而又都等待着别的进程释放它或它们现在保持着的资源,否则就不能向前推进。此时每个进程都占用了一定的资源但又都不能向前推进,称这一组进程产生可死锁。;;死锁的避免
1. 有序资源使用法
系统中的所有资源类都分给一个唯一的序号,并要求每个进程均应严格按照递增的次序请求资源。
有序资源使用法破坏了产生死锁的环路条件,从而不可能产生死锁。
缺点:对于实际资源使用顺序与资源序号不一致的作业仍存在着资源浪费现象。;例如:进程PA,使用资源的顺序是R1,R2;
进程PB,使用资源的顺序是R2,R1;
若采用动态分配有可能形成环路条件,造成死锁。
采用有序资源分配法:R1的编号为1,R2的编号为2;
PA:申请次序应是:R1,R2
PB:申请次序应是:R1,R2
这样就破坏了环路条件,避免了死锁的发生。; 2. 银行家算法
检查申请者对各类资源的最大需求量,如果系统现存的各类资源可以满足它的最大需求量,就满足当前的申请。
缺点:
①必须事先知道每个进程的资源最大需求量。
②算法过于保守。
③要求系统资源与用户数不变。;例子:假定系统有10个资源(为了说明问题的简单,不管它是什么资源),目前分配的情况如上表:
此时,系统中只剩下2个资源,这时就要考察能满足哪个进程
您可能关注的文档
最近下载
- 五年级下册英语教案-Unit5 I'm cleaning-my room.(Lesson-28)人教精通版.doc VIP
- 噪声控制技术——消声.pptx VIP
- 超市经营方案.docx
- 作业12:任务1教学单元3工学一体化课程《windows服务器基础配置与局域网组建》之教学单元活动方案.docx VIP
- 四川省成都市武侯区2023-2024学年七年级上学期1月期末语文试卷.docx VIP
- 【语文】上海市浦东新区第二中心小学小学五年级下册期末试题(含答案).doc VIP
- 询价单格式完整版本.doc VIP
- 上海中考自主招生个人简历模板漂亮.docx
- 部编版小学语文五年级下册教案(表格式).pdf
- 高中物理实验教具制作.docx
文档评论(0)