2.2.3进程调度算法

全知识整理目录

操作系统整理的目录,包括了整理的所有操作系统的知识。


概述

进程的几种状态有,就绪,运行,挂起(阻塞)。简单的看就三种状态,但是许多的资料还细分为就绪挂起,阻塞挂起,这些都是可以直接理解的,感觉没必要分得那么细。

几种调度算法

为什么要使用调度算法呢?CPU是一个有限的资源,那么谁来使用,什么时候使用就是需要解决的问题,而设计了几种算法来解决这个资源使用的问题。 

 先来先服务算法FCFS

这是生活当中就使用的一种算法。排队进电梯,就餐,排队进图书馆等。

优点:公平,简单,不会存在使用不到资源的进程。

缺点:对长作业优先,对短作业不利。

短作业优先SJF

即,谁需要CPU的时间少,谁就先获得资源。

优点:抢占式的情况下,短作业的优先调度算法,短作业的平均周转时间大大减少

缺点:长作业不利,有可能出现饥饿的情况(即长作业一直拿不到资源,前面和后边有无数的短作业需要执行,只要有短作业来,他就得不到资源)。

高响应比优先HRRN

根据相应比来,算谁获得资源。

相应比:(等待时间+要求服务的时间)/要求服务的时间

优点:非抢占,综合了短作业和长作业,不会饥饿。

缺点:根据相应比的计算公式,还是有利于短作业,只是相比短作业优先得到了优化。

优先级调度算法

看进程的优先级,优先级高的就先执行。所以常用于实时操作系统。

优先级大小:系统进程>用户进程;前台进程>后台进程;i/o繁忙进程>cpu繁忙进程。

时间片轮转RR

即每个进程都享有一定的资源使用时间,当过了时间自动进入等待状态(没运行完的),运行完的就直接完成。

缺点:时间片不好控制,太大则为先来先服务。太小,则导致频繁切换进程导致开销过大。

多级反馈队列

优点:不需要先估算进程的执行时间。

缺点:只有上层的队列全部为空的时候,当前队列才有可能会被执行,可能会导致饥饿的情况。

 各级队列从上到下,优先级依次降低,时间片长度依次递增。最后一级队列使用时间片轮转,其他队列使用先来先服务。新进程放在第一级队列。

原因:时间片用完就掉入下一级队列,对于队列而言,是先来先服务。而掉入了最后一级队列还没有执行完,也没有可以掉入的队列,就还是在当前队列重复执行,那么就变成了时间片轮转

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ybbgrain

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值