操作系统-进程调度算法

Posted 纯洁的小铺子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统-进程调度算法相关的知识,希望对你有一定的参考价值。

进程调度算法,一共有8种我这里只是简单来介绍下其中的几种!



这里说两个概念:

                1.抢占式:运行状态不会终止,直到运行结束

                 2.非抢占式:当前运行状态可以被打断的,转到就绪态度,防止资源浪费。


  1. 先来先服务算法:本人理解就是谁先来,谁优先,根据先后顺序,按照进入系统的先后顺序,最简单的进程调度算法之一(非抢占式)。


  2. 偏正规:该算法算是最简单的一种调度算法,它既可用于作业调度,也可以用于进程调度。在进程调度中采用 FCFS 算法时,将选择最先进入就绪队列的进程投入执行。FCFS 算法属于非抢占调度方式,其特点时简单、易于实现,但不利于短作业和 I/O 型的作业运行。FCFS 算法很少作为进程调度的主算法,但常作为辅助调度算法。

  1. 介绍下上面的:周转时间,带权周转时间,平均周转时间,平均周转时间。


     周转时间:完成时间-到达时间(列如P1进程:9-0=9);(驻留时间=周转时间)

     带权时间:周转时间/运行时间(列入P2进程:16/10=1.6)

    平均周转时间:周转时间/个数(9+16+20+49+57+60/6=35.166)

平均带权周转时间:带权周转时间/个数(1+1.6+3.33+2.45+2.59+7.5/6=1.66)

            1. 周转时间是作业在进入系统开始,到结束时的时间差

             2.带权周转时间是周转时间与运行时间之比,反应出这个作业长短,带权周转时间越大,这个进程越短,带权周转时间越小,进程作业越长。

比如上图P3的这个带权时间非常大,这个地方就展现了先来先服务的一个缺点。


------------------------------------------------------------------------------

   先来先服务算法:

优点:简单,算法实现容易。

 缺点:由于是根据先来先服务算法来的,对短作业进程 不友好。排在长作业后面的短作业进程需要等待很长的时间.




2.短作业优先算法(SJF shortest Job First)

    参考最短的那个作业时间,优先调用作业时间最短的那个进程

        意思就是说一个进程运行的时间,如果后面的进程都到了,那么选一个进程最短的运行,依次从最短到最长时间。

操作系统-进程调度算法

操作系统-进程调度算法

上下可以对比下

上面的平均周转时间是8s,

下面的平均周转时间9.25s.

     


P1运行完了时间是5,最下面P4已经到达了,因为他的到达时间也是5时。

依次是P2,P3运行(图片一中可能有错误,但是我说的就是这个意思)。



短作业优先算法的优点:1.拥有最短的平均时间。

缺点:1.对短作业有利,对长作业不利,容易产生“饥饿”现象。长作业得不到服务被“饿死”。




接下来介绍短进程优先算法的第二种(抢占式)称为

3.最短剩余时间算法:

        这个是上面的进化版本,如果新的进程加入或者同类进程,他的运行时间小于当前进程的运行时间,那么就终止当前进程,转而运行时间短的进程。

        这个意思就是:比如A运行8个小时,但是3个小时的时候B进来了,B运行4个小时,这个时候C是6小时到达,那么C运行,如果C运行多久以后,后面有进程到了那么久切断当前进程,转而其他进程

                           


下面这张是正确的,上面那张有误



4.最高响应比算法(Highest Reponse Ratio First, HRRF

    高响应比算法是基于FCFS和SJF之间的一种算法,每次要调入的时候都选择响应比高的调入,都会去计算他们的响应比。公式如下



               响应比=(运行时间+等待时间)/运行时间=周转时间/运行时间

                响应比=1+(等待时间/运行时间)

        

              相同等待时间,运行时间越短,越优先

              相同运行时间,等待时间越长,也是越优先。。




                       后面还有4种,以后再写。。。。。



以上是关于操作系统-进程调度算法的主要内容,如果未能解决你的问题,请参考以下文章

常用的操作系统进程调度算法

操作系统中常见的进程调度算法

操作系统---常见进程调度算法

(王道408考研操作系统)第二章进程管理-第二节2:调度算法评价指标

操作系统的常用的进程调度算法

(王道408考研操作系统)第二章进程管理-第二节3:调度算法详解2(RRHPF和MFQ)