爱问知识人 爱问教育 医院库

什么是进程调度算法?

首页

什么是进程调度算法?

什么是进程调度算法?

提交回答

全部答案

    2018-04-28 04:11:53
  •   调度也称dispatcher 这是内核的主要职责之一就是决定该轮到哪个任务运行了多数实时内核是基于优先级调度算法的每个任务根据其重要程度的不同被赋予一定的优先级基于优先级的调度法指CPU 总是让处在就绪态的优先级最高的任务先运行然而究竟何时让高优先级任务掌握CPU 的使用权有两种不同的情况这要看用的是什么类型的内核是非占先式还是占先式的内核一个良好的任务调度算法应该主要体现在以下几个方面
    公平保证每个进程得到合理的CPU 时间
    高效使CPU 保持忙碌状态即总是有进程在CPU 上运行
    响应时间使交互用户的响应时间尽可能短
    周转时间使批处理用户等待输出的时间尽可能短
    吞吐量使单位时间内处理的进程尽可能多很显然在任何操作系统中这几个目标不可能同时达到所以不同的操作系统会在这几个方面中做出相应的取舍从而确定自己的调度算法,常用的处理机调度算法有:
    先来先服务FCFS
    短作业优先SJF
    优先级
    时间片轮转法
    多级队列法
    多级反馈队列法先来先服务:FCFS 是最简单的CPU 调度算法,即按进程到来的先后次序进行调度,这样在系统中等待时间最长的进程被优先调度,而不管其所需运行时间的长短。
      作业优先SJF 算法是指当CPU 可供使用时SJF 算法把CPU 分给需要运行时间最短的进程。多级队列调度算法:把就绪队列划分成几个单独的队列一般根据进程的某些特性如内存大小和进程类型永久性地把各个进程分别链入其中某一个队列中,每个队列都有自己的调度算法,此外在各个队列之间也要进行调度。
      通常采用固定优先级的抢占式调度,例如某系统中有5 个队列,各个队列的优先级自上而下降低,只有当前3 个队列中都为空的时候队列4 中的进程才可以运行,而当队列4 中的进程在运行时,如果队列1 中进入了一个就绪进程,则队列4 中的进程要立刻让出CPU 使用权。
      多级反馈队列法允许进程在各队列间移动,其基本思想是把具有不同CPU工作时间这一特性的进程区分开来,如果一个进程要使用很长的CPU 时间,则应把它移至较低级的队列中,这种方式把I/O 繁忙型和交互式进程放在较高优先级的队列中同样在低优先级队列中长时间等待的进程可以移到较高优先级队列中UNIX 系统采用的是多级反馈队列轮转法。
      时间片轮转调度法:round-robin scheduling当两个或两个以上任务有同样优先级,内核允许一个任务运行事先确定的一段时间叫做时间额度quantum。

    哥***

    2018-04-28 04:11:53

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):