- 1、本文档共93页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 处理机调度与死锁 教学内容 3.1 作业管理 3.2分级调度 3.3作业调度 3.4 进程调度 3.5 调度算法 3.6 LINUX系统的调度算法 3.7 死锁问题 3.8 死锁的预防 3.9 死锁的避免 3.10 利用银行家算法避免死锁 3.11 死锁的检测与解除 3.1.1 作业的概念 1.作业 3.2 分级调度 2.对换 3.进程调度 3.3 作业调度 3.3.1 作业调度的功能 3.3.2 调度算法的评价及准则 1.面向用户的准则 2.面向系统的准则 (2)响应时间快 2.面向系统的准则 3.4 进程调度 3.4.2 进程调度的时机 3.4.3 进程上下文的切换 3.4.4 Linux系统中进程调度发生的时机 3.5 调度算法 3.5.3 .高响应比优先调度算法 3.5.4 优先级调度算法 解: (1)各作业进入时间和结束时间如下: 3.5.5 时间片轮转法 3.5.6 多级队列调度算法 3.5.7多级反馈队列调度算法 2.多级反馈队列调度算法的几点说明 3.6 Linux系统的调度算法 3.6.1 Linux系统的进程调度策略 3.6.2 Linux系统的优先级调度策略 3.6.3 实时进程的调度策略 3.7 死锁问题 3.7.2 产生死锁的原因及必要条件 (2)进程推进顺序不当 2.死锁产生的必要条件 (2)占有且申请条件 (4)环路条件 3.7.3 解决死锁问题的基本方法 3.死锁的检测 4.死锁的解除 3.8 死锁的预防 3.9 死锁的避免 3.9.1 系统的安全状态 3.9.2 由安全状态向不安全状态的转化 3.9.3 银行家算法 3.10 利用银行家算法避免死锁 3.10.2 银行家算法的实现 2.银行家算法的描述 3.安全性算法 安全算法的步骤: 3.10.3 银行家算法的应用 3.11 死锁的检测与解除 3.11.1 死锁检测的时机 3.11.2 死锁的检测 2.资源分配图的简化 4.死锁检测中的算法 3.11.3 死锁的解除 1.终止进程 2.抢占资源 本章小结 剩余的资源单位数是10-(2+2+4)=2。故,此时银行家只有将资金分配给C2,才能最终收回贷款。然后,再将资金依次分配给C3和C1,这样银行家能最终收回所有的贷款。这里就存在一个安全序列,即:{C2,C3,C1}。我们说此时系统是安全的。 第 3章 处理机调度与死锁 * 如果不按照安全序列的顺序分配资源,则系统可能由安全状态进入不安全状态。例如:若在T0时刻以后,C3又申请到2个资金单位,则系统进入不安全状态。因为,此时无法再找到一个安全序列,结果造成系统产生死锁。由此可见,当C3申请资源时,尽管当时系统中还有可用资源,但却不能分配给它,必须让它等待。按银行家的术语说,某客户若无偿还能力时,就不要贷款给它。 第 3章 处理机调度与死锁 * 银行家对当前顾客的贷款操作进行判断,以确定其安全性。看能否支持顾客贷款,即该客户能否运行完成。 安全时,贷款;否则,暂不贷款。 第 3章 处理机调度与死锁 * 3.10.1 银行家算法中的数据结构 1.可利用资源向量Available。 也称为空闲向量。这是一个含有m个元素的数组。其中的每一个元素,代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源的数目。其数值随该类资源的分配和回收而动态地改变。如果Available[j]=K,则表示系统中现有Rj类资源K个。 2.最大需求矩阵Max。 这是一个n×m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i,j]=K,则表示第i个进程需要Rj类资源的最大数目为K。 第 3章 处理机调度与死锁 * 3.分配矩阵Allocation。 也叫做占有矩阵。这也是一个n×m的矩阵,它定义了系统中每一进程已占有的每一类资源数。如果Allocation[i,j]=K,则表示第i个进程当前已分得Rj类资源的数目为K。 4.需求矩阵Need也叫做申请矩阵。这也是一个n×m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need[i,j]=K,则表示第i个进程还需要Rj类资源K个,才能完成其任务。 显然,以上三个矩阵之间存在如下关系: Need[i,j]=Max[i,j]-Allocation[i,j] 第 3章 处理机调度与死锁 * 例:在上例银行家贷款的例子中,各数据结构为: available=(2) 7 1 4 allocation= max= 9 3 8 need=max-allocation= 2 2 4 2 2 2 2 0 2 1 0 3
您可能关注的文档
- 操作系统教程——Linux实例分析 教学课件 作者 孟庆昌 第1-8章 第4章 存储器管理.ppt
- 仓储作业实务 教学课件 作者 林珍平 主编 李如姣游艳雯 副主编 第三模块 收货 任务四 物品堆码.ppt
- 操作系统教程——Linux实例分析 教学课件 作者 孟庆昌 第1-8章 第5章 文件系统.ppt
- 仓储作业实务 教学课件 作者 林珍平 主编 李如姣游艳雯 副主编 第三模块 收货 任务五 处理有问题物品.ppt
- 操作系统教程——Linux实例分析 教学课件 作者 孟庆昌 第1-8章 第6章 设备管理.ppt
- 仓储作业实务 教学课件 作者 林珍平 主编 李如姣游艳雯 副主编 第三模块 收货 任务一 安排货位.ppt
- 操作系统教程——Linux实例分析 教学课件 作者 孟庆昌 第1-8章 第7章 中断、 陷入和信号机构.ppt
- 仓储作业实务 教学课件 作者 林珍平 主编 李如姣游艳雯 副主编 第四模块 在库管理.ppt
- 操作系统教程——Linux实例分析 教学课件 作者 孟庆昌 第1-8章 第8章 死锁.ppt
- 仓储作业实务 教学课件 作者 林珍平 主编 李如姣游艳雯 副主编 第五模块 发货.ppt
文档评论(0)