第三章 处理机调度与死锁处理.ppt

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

操作系统(原理) 第三章 处理机调度与死锁 调度:Scheduling 死锁:Deadlock 内 容 提 要 3.1 处理机调度的层次 3.2 调度队列模型和调度准则 3.3 调度算法 3.4 实时调度 3.5 产生死锁的原因和必要条件 3.6 预防死锁的方法:银行家算法 操作系统面临的问题 1. 操作系统上运行着多个并发执行的进程。OS对处理机管理的主要工作是把CPU资源进行合理地分配(调度)给进程,提高处理机利用率,并使各用户的进程公平地得到处理机资源。这里的主要问题是: 我们需要为OS设计怎样的处理机调度算法以实现以上目标? 我们如何判定这些算法完成以上目标的程度? 根据处理机调度的对象、时间、功能等不同角度,我们把处理机调度分成不同类型。 3.1 处理机调度的层次 根据OS调度的对象,将调度分为以下三个层次: 作业:又称为“宏观调度”、“高级调度”。从用户工作流程的角度将用户一次提交的若干个流程合起来称为作业,作业中的每个程序按照进程调度。时间上通常是分钟、小时或天。(长程调度) 内外存交换:又称为“中级调度”。从存储器资源的角度。将进程的部分或全部换出到外存上,将当前所需部分换入到内存。指令和数据必须在内存里才能被CPU直接访问。(中程调度) 进程或线程:又称为“低级调度”。从CPU资源的角度,执行的单位。时间上通常是毫秒。因为执行频繁,要求在实现时达到高效率。(短程调度) 3.1.2 低级调度 OS对进程的调度称为进程调度,又称低级调度。 1.低级调度的功能与工作过程   低级调度用于决定进程就绪队列中的哪个进程(或内核级线程,为叙述方便,以后只写进程)应获得处理机,然后再由分派程序执行把处理机分配给该进程的具体操作。 低级调度的主要工作过程: (1) 保存处理机的现场信息。 (2) 按某种算法选取进程。 (3) 把处理器分配给进程。 2.进程调度中的三个基本机制 为了实现进程调度,进程调度模块应具有如下三个基本机制。   排队器。事先将系统中所有的就绪进程按照一定的方式排成一个或多个队列,以便调度程序能最快地找到它们。 分派器(分派程序)。分派器把由进程调度程序所选定的进程,从就绪队列中取出该进程,然后进行上下文切换,将处理机分配给它 (3) 上下文切换机制。当对处理机从进程A切换到B时,会发生两对上下文切换操作: 进程A 切换到 分派程序(通过时钟中断或系统调用进入OS核心); 分派程序 切换到 进程B。 第一对上下文切换时,操作系统保存A的上下文到A的PCB,而装入分派程序的上下文,以便分派程序运行; 在第二对上下文切换时,将移出分派程序,而把B的PCB中保存的CPU现场信息装入到处理机的各个相应寄存器。 注:上下文切换之后,指令和数据快速缓存cache通常需要更新,OS的执行速度降低 3. 进程调度的方式 OS对全部的进程进行调度可能发生在以下四种时机: 1) 当某个进程从运行态切换到阻塞态时 2) 当某个进程从运行态切换到就绪态时(由于时间片用完) 3) 当某个进程从阻塞态切换到就绪态时 4) 当某个进程终止时 如果一个进程调度调度方法仅发生在1)和4),则称该调度方法为为非抢占式调度(Nonpreemptive Scheduling); 否则 称该方法为 抢占式调度(Preemptive Scheduling) 。 3. 进程调度的方式 1)非抢占式调度 如果进程调度模块工作在此方式下:一旦把处理机分配给某进程后,不管它要运行多长时间,都一直让它运行下去,决不会因为时钟中断等原因而抢占正在运行进程的处理机,也不允许其它进程抢占已经分配给它的处理机。直至该进程完成,自愿释放处理机,或发生某事件而被阻塞时,才再把处理机分配给其他进程。 3. 进程调度的方式 2) 抢占方式   这种调度方式允许调度程序根据某种原则去暂停某个正在执行的进程,将已分配给该进程的处理机重新分配给另一进程。 抢占方式基于的原则有: ①优先权原则:就绪的高优先权进程占有CPU ②短作业优先原则:就绪的短作业 占有CPU ③时间片原则:一个时间片用完后,OS重新进行进程调度。 3.2.2 衡量 调度算法性能 的准则 我们可从不同的角度来判断处理机调度算法的性能,如用户的角度、处理机的角度和算法实现的角度。实际的处理机调度算法选择是一个综合的判断结果。 周转时间:作业从提交到完成(得到结果)所经历的时间。包括:在收容队列中等待,CPU上执行,就绪队列和阻塞队列中等待,等待结果输出 平均周转时间T 带权周转时间:W= T(周转) / T(CPU执行) 响应时间:用户输入一个请求(如击键)到系统给出首次响应(如屏幕显示)的时间--分时系统 截止时间:开始截止时间和完成截止时间--实时系统 公平性:不因作业

文档评论(0)

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

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

1亿VIP精品文档

相关文档