第三章_处理机调度资料.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
假定有四个作业,它们到达后备队列的时间和估计运行时间如下表所示: 作业名 到达时刻 估计运行时间(分) 优先级 A 10:00 40 5 B 10:20 30 3 C 10:30 50 4 D 10:40 20 6 分别列出下面两种情况下作业结束时刻,并计算其平均周转时间。 采用先来先服务(FCFS)的调度算法; 采用短作业优先的调度算法; 优先级的调度算法(数值越小优先级越高)。 假设有一右图所示的工作模型,具有三个并发进程P1、P2和P3,两个单缓冲B1和B2。进程P1负责不断从输入设备读数据,若读入的数据为正数,则直接送入B2,否则应先将数据送入B1,经P2取出加工后再送入B2,P3从B2中取信息输出。请用信号量和wait、signal操作描述进程P1、P2、P3实现同步的算法。 第三章 结束 避免死锁 预防死锁限制条件太强,不利于提高系统吞吐量和资源利用率,而且增加了程序设计难度。因此,该方法在死锁解决中不常用。 避免死锁方法通过资源分配之前预测是否会导致死锁,决定是否进行此次资源分配。只有不会导致死锁的资源请求才实施分配,否则,让请求进程阻塞等待。 首先介绍系统的两种状态:安全状态和不安全状态。 安全状态和不安全状态 安全状态:是指系统如果能够按照某种进程顺序(p1,p2,…,pn),来为每个进程pi分配其所需资源,直至满足每个进程对资源的最大需求,使每个进程都可顺利的完成,则称系统处于不安全状态。 称(p1,p2,…,pn)序列为安全序列 不安全状态:如果系统无法找到一个安全序列,则称系统处于不安全状态。 安全状态和不安全状态 若系统处于安全状态,且按照某个安全序列分配资源,可以保证系统不会出现死锁。 并非所有不安全状态都是死锁状态。 当系统进入不安全状态以后,便可能进入死锁状态。 因此,避免死锁的实质在于:如何避免系统进入不安全状态。 安全状态的实例 假定系统中有三个进程P1、P2、P3,共有16台打印机,进程P1总共要求12台打印机,进程P2总共要求7台打印机,进程P3总共要求10台打印机,在T0时刻,资源分配情况如下表所示: 进程 最大需求 已分配 尚需请求 系统可用数 P1 12 4 8 3 P2 7 4 3 P3 10 5 5 安全状态的实例 在上表中,空闲打印机的数目为3台,可把3台打印机分配给P2,使P2继续运行直至完成;P2完成后便释放出所占据的4台打印机,使可用打印机数目增至7台,可取出5台分配给P3,使P3运行直至完成;P3完成后将释放出10台打印机,P1便能获得足够的资源,从而P1、P2、P3均能顺利完成。 由上分析可知,在T0时刻存在着一个安全序列〈P2,P3,P1〉,因此T0时刻是安全的。 不安全状态的实例 假定系统中有三个进程P1、P2、P3,共有16台打印机,进程P1总共要求12台打印机,进程P2总共要求7台打印机,进程P3总共要求10台打印机,在T1时刻,资源分配情况如下表所示: 进程 最大需求 已分配 尚需请求 系统可用数 P1 12 6 6 1 P2 7 4 3 P3 10 5 5 不安全状态的实例 此时,系统中只剩下1台打印机,不能满足P1~P3任一进程的资源需求,因此,从T1状态继续向前推进,无论按照何种序列,P1~P3进程都将因为得不到足够的打印机资源而相继进入阻塞,系统将陷入死锁状态。 由于在T1时刻找不到一个安全序列,故T1时刻是一个不安全状态。 安全状态可以向不安全状态转换 如果不按照安全序列分配资源,系统将由安全状态进入不安全状态 例如,在T0时刻,P3请求一台打印机,若系统把剩余的3台中的1台分配给P3,则系统进入不安全状态。 避免死锁:银行家算法 最有代表性的避免死锁的算法,是Dijkstra的银行家算法。 该算法可用于银行发放一笔贷款前,预测该笔贷款是否会引起银行资金周转问题。 例如:有四个顾客:A,B,C,D,每个顾客提出的最大贷款数量分别为6、5、4、7(以千美元为单位)。银行家知道不是所有顾客都马上需要其全部贷款(22)。因此,他只保留10个单位的贷款数量为这些顾客服务。 这里,银行的资金就类似于计算机系统的资源,贷款业务类似于计算机的资源分配。 初始状态 银行家拥有的贷款数量: 10 顾客 最大贷款数 拥有贷款数 还需贷款数 A 6 0 6 B 5 0 5 C 4 0 4 D 7 0 7 安全状态 当前银行家拥有的贷款数量2,存在安全序列:CBAD,系统处于安全状态。 顾客 最大贷款数 拥有贷款数 还需贷款数 A 6 1 5 B 5 1 4 C 4 2 2 D 7 4 3 不安全状态 当B请求一个单位的贷款时,银行家把钱贷给他,当前银行

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档