处理机调度与死锁课件.ppt

  1. 1、本文档共150页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
处理机调度与死锁课件

第三章 处理机调度与死锁 陈晓明 3.1 处理机调度的层次 可把处理机调度分成三个层次: 高级调度 中级调度 低级调度 作业的建立 建立一个作业必须把该作业所包含的程序和数据输入到计算机的外部辅助存储设备上,而且还要由作业注册程序在系统中为该作业申请建立起一个相应的作业控制块。 即作业的建立过程包括两个子过程: 作业的输入; 作业控制块的建立。 JCB 的建立 在系统把作业信息输入到外存输入井之后,还需要根据作业说明书中的说明及其它信息建立作业控制块(JCB)。只有在获得JCB表项和足够的输入井空间之后,一个作业才可能创建成功。 JCB是作业存在的唯一标志。作业进入系统时,则为之建立JCB,当作业退出系统时,则其JCB也被撤消。 作业、作业步、进程的关系 选择调度方式和调度算法的准则 面向用户的准则 周转时间短(批处理系统) 响应时间快(分时系统) 响应时间是从用户通过键盘提交一个请求开始,直至系统首次产生响应为止的时间。 截止时间的保证(实时系统) 截止时间是指某任务必须开始执行的最迟时间,或必须完成的最迟时间。 优先权准则(批处理、分时和实时系统) 选择调度方式和调度算法的准则 面向系统的准则 系统吞吐量高(批处理系统) 吞吐量指在单位时间内系统所完成的作业数。 处理机利用率好 各类资源的平衡利用 公平 例题 有一个多道批处理系统,作业调度采用“短作业优先”调度算法;进程调度采用“优先数抢占式”调度算法,且优先数越小优先级越高。若系统拥有打印机一台,采用静态方法分配,忽略系统的调度开销。现有如下作业序列到达系统: 请给出作业运行结束的次序; 作业的平均周转时间和平均带权周转时间是多少?(要有中间计算步骤) 补充习题 在单CPU和两台输入输出设备(I1,I2)的多道程序设计环境下,同时投入3个作业Job1、Job2、Job3运行。这3个作业对CPU和输入输出设备的使用顺序和时间如下所示: Job1:I2(30ms); CPU(10ms); I1(30ms); CPU(10ms); I2(20ms) Job2:I1(20ms); CPU(20ms); I2(40ms); Job3:CPU(30ms); I1(20ms); CPU(10ms); I1(10ms) 假定CPU、I1、I2都能并行工作,Job1优先级最高,Job2次之,Job3优先级最低,优先级高的作业可以抢占优先级低的作业的CPU但不抢占I1和I2。试求: 1、3个作业从投入到完成分别需要的时间。 2、从投入到完成的CPU利用率。 3、输入输出设备利用率。 系统安全性和银行家算法 银行家算法的思路 系统安全状态 银行家算法 银行家算法的思路 【问题】一个银行家拥有一千万资金,有10家工厂筹建,且每家工厂需要200万方可建成。如何合理分配资金问题?? 银行家算法的思路 【分析】如果将一千万均分给10家,则每个工厂都无法建成,也不能还贷,也即这10家工厂将“死锁”。若给其中的三个工厂200万,另4家工厂100万,这样,虽然有3家工厂未开工,但有3家可以建成投产,这3家工厂获得的利润可以给银行还贷,银行家再利用还贷的资金继续给其它工厂投入,直至最终10家工厂都建成投产。 银行家算法的思路 银行家可以把一定数量的资金供多个用户使用,为保证资金的安全银行家规定四个条件: (1)当一个用户对资金的最大需求量不超过银行家现有资金时就可接纳该用户;(Request = Available ) (2)用户可以分期贷款,但贷款的总数不能超过最大需求量;(Request=Need) 银行家算法的思路 (3)当银行家现有的资金不能满足用户的尚需贷款数时,对用户的贷款可推迟支付,但总能在用户有限的时间里得到贷款; (不符合“安全性条件”暂时不给贷款) (4)当用户得到所需的全部资金后,一定能在有限的时间里归还所有的资金。 死锁避免定义 在系统运行过程中,对进程提出的每一个(系统能够满足的)资源申请进行动态检查(安全性检查),并根据检查结果决定是否分配资源,若分配后系统可能发生死锁,则不予分配,否则予以分配。 检测时机: 当进程等待时检测死锁 (其缺点是系统的开销大) 定时检测 系统资源利用率下降时检测死锁 思考: 1.(北大95)一个OS有20个进程,竞争使用65个同类资源,申请方式是逐个进行的,一旦某个进程获得它所需要的全部资源,则立即归还所有资源。每个进程最多使用三个资源。若仅考虑这类资源,该系统有无可能产生死锁,为什么? 思考: 答:不可能。因为死锁产生的原因有两点:系统资源不足或推进顺序不当,在本题中,进程所需的最大资源数为60,而系统共有该类资源65个,其资源数已足够系统内各进程使用

文档评论(0)

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

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

1亿VIP精品文档

相关文档