操作系统调度算法_第1页
操作系统调度算法_第2页
操作系统调度算法_第3页
操作系统调度算法_第4页
操作系统调度算法_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、调度算法 1.1.先来先服务调度算法先来先服务的作业调度算法:优先从后备队列中,选择一个或多个位于队列头部的作业,把他们调入内存,分配所需资源、创建进程,然后放入“就绪队列”先来先服务的进程调度算法:从“就绪队列”中选择一个最先进入队列的进程,为它分配处理器,使之开始运行。按照进程进入就绪队列的先后顺序调度并分配处理机执行。先来先服务调度算法是一种不可抢占的算法,先进入就绪队列的进程,先分配处理机运行。一旦一个进程占有了处理机,它就一直运行下去,直到该进程完成工作或者因为等待某事件发生而不能继续运行时才释放处理机。例:在下表中给出进程的到达时间、执行时间和优先级,请给出先来先服务调度算法的进程

2、执行次序和平均周转时间。平均周转时间:1.1.先来先服务调度算法进程到达时间执行时间优 先级P10103P2211P3322P4514P55534.105)519()514()313()211()010()(1nTTTnisiei2.2.优先级调度算法非剥夺的优先级调度算法按照进程的优先级大小来调度,使高优先级进程优先得到处理机的调度。但在许多采用优先级调度的系统中,通常采用动态优先级。一个进程的优先级不是固定的,往往随许多因素的变化而变化,尤其随进程的等待时间、以实用的处理机时间或其他资源的使用情况而定。非剥夺的优先级算法调度:一旦某个高优先级的进程占有了处理机,就一直运行下去,直到由于其自

3、身的原因而主动让出处理机时才让另一高优先级进程运行。平均周转时间:2.2.非剥夺的优先级调度算法8.115)219()318()516()511()010()(1nTTTnisiei3.3.优先级调度算法可剥夺的优先级调度算法按照进程的优先级大小来调度,使高优先级进程优先得到处理机的调度。任何时刻都严格按照高优先级进程在处理机上运行的原则进行进程的调度。或者说,在处理机上运行的进程永远是就绪进程队列中优先级最高的进程。在进程进行中,一旦有另一个优先级更高的进程出现,进程调度程序就迫使原运行进程让出处理机给高优先级进程使用或叫做抢占了处理机。3.3.可剥夺的优先级调度算法115)516()56(

4、)318()219()011()(1nTTTnisiei4.4.时间片轮转算法时间片轮转调度是一种最古老,最简单,最公平且使用最广的算法。每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间。如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。调度程序所要做的就是维护一张就绪进程列表,当进程用完它的时间片后,它被移到队列的末尾。 时间片轮转调度中唯一有趣的一点是时间片的长度。从一个进程切换到另一个进程是需要一定时间的-保存和装入寄存器值及内存映像,更新各种表格和队列等。4.4.时间片轮转算法8.75)517()

5、58()37()23()019()(1nTTTnisiei5.5.短进程优先调度算法短作业优先又称为“短进程优先,这是对FCFS算法的改进,其目标是减少平均周转时间。对预计执行时间短的作业(进程)优先分派处理机。通常后来的短作业不抢先正在执行的作业。5.5.短进程优先调度算法平均周转时间2.105)519()512()314()211()010()(1nTTTnisiei6.6.最短剩余时间优先调度算法设定系统中有五个进程,每一个进程用一个进程控制块表示。输入每个进程的“优先数”和“要求运行时间”,为了调度方便,将五个进程按给定的优先数从大到小连成就绪队列。用一单元指出队列首进程,用指针指出队

6、列的连接情况。处理机调度总是选队首进程运行。采用动态优先数算法,进程每运行一次优先数就减“1”,同时将运行时间减“1”。若要求运行时间为零,则将其状态置为“结束”,且退出队列。运行所设计程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程。6.6.最短剩余时间优先调度算法8.55)511()56()35()23()019()(1nTTTnisiei7.7.最高响应比优先调度算法高响应比优先调度算法的基本思想是把CPU分配给就绪队列中响应比最高的进程。高响应比优先调度算法既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点。优先数=(等待时间+运行时间)/运行时间例:有3个进程A、B、C,它们分别在7 50、8 00和8 30到达,它们需要执行的时间分别是1.5个小时、1小时和0.4小时。系统在9 00开始按响应比的高者优先算法,对它们进行调度。请回答下列问题:(1)进程被选中的执行次序是什么?(2)三个进程被选中时的响应比分别是什么?7.7.最高响应比优先调度算法解:R=Tw+Tr/Tr9 : 0 0 R a = 9 0 + 7 0 / 9 0 = 1 . 8 R b = 6 0 +

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论