网站大量收购独家精品文档,联系QQ:2885784924

九江学院操作系统课件第三章 处理机调度与死锁.ppt

九江学院操作系统课件第三章 处理机调度与死锁.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例如:假定在一台处理机上要运行以下作业.且假定这些作业在时刻0以1,2,3,4,5的顺序到达,他们的执行时间分别是:10、1、2、1、5。 分析:采用RR(时间片=1)时,各作业在系统中的执行轨迹(以时间片为单位)如下: 作业 运行时间 进入时刻 完成时刻 周转时间 带权周转 1 10 0 2 1 0 3 2 0 4 1 0 5 5 0 平均周转时间T= 平均带权周转时间T’= 4 分级调度算法 对进入就绪队列的进程区别对待,给予不同的优先数和时间片,可进一步改善系统服务质量和效率.把就绪队列按照进程到达就绪队列的类型和进程被阻塞的阻塞原因分成不同的就绪队列,每个队列按先来先服务原则排列,各队列之间的进程享有不同的优先数,但同一队列内优先数相同. 不同优先数的就绪队列分配的时间片不一样,高优先数就绪队列分配较短的时间片,而低优先数就绪队列分配较长的时间片. 3.1.4 进程调度算法的选择 选择算法时可考虑如下一些准则: (1) CPU利用率 (2) 吞吐量 (3) 等待时间 (4) 响应时间 一、资源的概念 OS是计算机系统中资源的管理者,而进程是竞争资源的基本单位,故对系统中所有进程的资源分配工作,都由OS完成。 研究资源分配时,我们必须弄清楚该资源是可以被几个进程同时使用,还是只能为一个进程使用,资源的不同使用性质正是引起系统死锁的原因。 资源的分类 根据资源性质:可剥夺(抢占)和不可剥夺(非抢占)资源。 可抢占资源—指占用资源的进程虽然还需要使用该资源,但另一个进程却强行把资源抢走。 不可抢占资源—指只有占用者进程不再需要使用该资源而主动释放资源外,其它进程不得在占有者进程使用资源过程中强行抢占。 二、死锁的定义 计算机系统中多道程序并发执行时,两个或两个以上的进程由于竞争资源而造成的一种互相等待的现象(僵局),如无外力作用,这些进程将永远不能再向前推进。 死锁Deadlock:系统中存在一组进程(两个或多个进程),它们中的每一个进程都占用了某种资源而又都在等待其中另一进程所占用的资源,这种等待永远不能结束,则说系统出现了“死锁”,或说这组进程处于死锁状态. 陷入死锁状态的进程称为死锁进程,所占用的资源或者需要它们进行某种合作的其它进程就会相继陷入死锁,最终可能导致整个系统处于瘫痪状态。 死锁和饥饿的主要差别是什么? 三、产生死锁的原因 1 竞争资源 当系统中供多个进程所共享的资源,不足以同时满足它们的需要时,引起它们对资源的竞争而产生死锁; 进程推进的顺序不当 进程在运行过程中,请求和释放资源的顺序不当,导致进程的死锁。 例题: 一个OS有20个进程,竞争使用65个同类资源,申请方式是逐个进行的,一旦某个进程获得它所需要的全部资源,则立即归还所有资源。每个进程最多使用三个资源。若仅考虑这类资源,该系统有无可能产生死锁,为什么? 例1:进程推进顺序不当产生死锁问题. 例2:PV操作使用不当产生死锁. 例3:同类资源分配不当引起死锁. 例4:对临时性资源使用不加限制引起死锁 综上:产生死锁的因素不仅与系统拥有的资源数量有关,而且与资源分配策略,进程对资源的使用要求以及并发进程的推进顺序有关. 但以下两种情况进程永远等待不属于要讨论的死锁问题: (1)某个进程申请系统中不存在的资源或申请的资源数超过了系统拥有的最大资源数 (2)硬件故障或程序性错误引起的循环等待. 四、产生死锁的四个必要条件 ⑴互斥条件:资源在一段时间内只能被一个进程所使用。(临界资源) ⑵占有且等待条件:一个进程请求资源得不到满足而等待,但不释放已占有的资源.(部分分配)) ⑶不剥夺条件:一个资源仅能被占有它的进程所释放,而不能被其他进程剥夺。(主动释放) ⑷循环等待条件:存在一个进程资源的环路链,链中每一个进程占用着某些资源,又在等待另一个进程占有的资源。 解决死锁的方法一般可分为:预防、避免、检测和解除四种. 死锁的排除方法 1 鸵鸟算法 2 预防死锁 3 避免死锁 4 检测和解除死锁 2 预防死锁 根据产生死锁的四个必要条件,只要使其中之一不能成立,死锁

文档评论(0)

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

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

1亿VIP精品文档

相关文档