- 1、本文档共359页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
进程调度[精选]
进程调度 【定义】挑选进程上处理器运行的动作过程叫做进程调度 。 【定义】设置处理器寄存器中的进程状态称为分派(dispatching)。 【定义】保持进程状态并恢复另一进程状态的过程称为上下文切换(context switching)。 进程调度 进程调度程序(scheduler)在集中式、网络和分布式操作系统中是支持CPU共享(多道程序设计)的基本机构。进程调度程序可以由一个处理机自愿地用一个让给(yield)系统调用来引用,或者隐涵地由一个时钟中断或一个资源请求加以引用。 进程调度的任务 进程调度程序的任务是估算就绪队列中的进程集合,从中选择一个进程,将它分配到空闲处理机。进程调度程序将正在运行的进程的运行状态改变为就绪状态或阻塞状态,保存该进程的现场,选择一个就绪的新进程,恢复这个新进程的现场,然后,将该进程的状态改变为运行状态(即,激活这个进程)。 进程调度 无论何时每当一个处理机变成空闲时,在绪队列中的进程之间存在着占用该空闲处理机的竞争。操作系统的调度策略(scheduling strategy)或调度政策(scheduling policy)用于规定如何解决这个竞争。调度策略将决定哪一个进程会被选中,这受到调度算法的影响。 进程调度 单处理机(uniprocessor)进程调度 多处理机(multiprocessor)进程调度 单机进程调度 在单处理机进程调度中,在任何给定时刻仅有一个进程在运行,其它的进程或者准备运行和竞争这个处理机,或者被阻塞在一个资源请求上。 进程调度模型 三级调度队列模型 调度类型 高级调度(High Level Scheduling)又称作业调度(Job Scheduling)或长期调度(Long-term Scheduling)。 中级调度(Intermediate Level Scheduling)又称中 期调度(Medium-term Scheduling)。 低级调度(Low Lever Scheduling)又称短期调度(Short-term Scheduling)或进程调度。 高级调度 用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,然后再将它们排在就绪队列中,准备执行。因此,有时也称为接纳调度。其周期较长,约几分钟 一次。 高级调度 在批处理系统中,作业进入系统后,先驻留在外存。因此,需要有作业调度。 在分时和实时系统中,为了及时响应,直接存入内存,通常不需要作业调度。 高级调度 作业调度都需决定: ⑴接纳多少个作业。取决于多道程 序度(degree of multiprogramming) ⑵接纳哪些作业。取决于调度算法。 最简单的先来先服务 最常用的最短作业优先 基于作业优先权 响应比高者优先 中级调度 目的为了提高内存的利用率和系统吞吐量。把暂时不能运行的进程调到外存上等待。需要时由中级调度再调入内存。中级调度实际上就是存储器管理中的对换功能。 低级调度 进程调度决定就绪队列中的哪个就绪进程将获得处理机,然后由分派程序(dispatcher)执行把处理机分配给该进程的操作。 进程调度的运行频率很高,在分时系统中通常10~100毫秒一次。因此,调度算法要简单迅速。 进程调度 对于一些特殊的情况,可以简化对一个进程的挑选。 一元调度:当系统处在空闲状态(所有的进程都被阻塞,并等待某些事件发生)的情况下,并且有一个事件的发生使得某个进程得以进入就绪状态,此时这个进程显然就是应当运行的进程。其他进程根本无须考虑,调度过程可以略过。 进程调度 二元调度:一个进程正在运行当中,并且它最为重要,具有最高得优先级别。若此进程做了一些事情使得另一个进程变为就绪状态,此时,被运行的进程将只在此二者中间,其他的进程都将不考虑。类似地,若一个进程正在运行时,某个事件的发生激活了另一个进程,选择同样只会发生在二者之间。 进程调度 一般调度:当正在运行的进程终止或阻塞而等待某个事件时,就会发生一般调度。 进程调度方式 所谓进程调度的方式,是指当一个进程正在处理机上运行时,如果有某个更为“重要或紧迫”的进程需要处理机,亦即若有优先数更高的进程进入就绪队列,如何分配处理机。 进程调度方式 ⑴非剥夺方式或非抢占方式(Non-preemptive): 仍然正在处理机上运行的进程继续执行,直到该进程完成或发生某个事件,而进入“完成”或“阻塞”状态时,才把处理机分配给更为“重要或紧迫”的进程,使之运行。实现简单,系统开销小。 进程调度方式 ⑵剥夺方式或抢占方式(Preemptive): 只要有更为“重要或紧迫”的进程,便暂停正在运行的进程,立即将处理机分配给这个更为“重要或紧迫”的进程。 进程调度的核心问题就是采用何种进程调度算法把处理机分配给进程
文档评论(0)