【作业调度】

作业调度

在计算机系统中存在着三种调度:从层次来看,分别是作业调度中级调度和进程调度,其中,作业调度又称为高级调度,它的主要任务是从作业后备队列中选择作业进入主存。 本篇主要介绍作业调度~~
同样也是管理任务的系统,根据作业控制块中的信息,审查系统能否满足用户作业的资源要求,以及按照一定的算法:

1.先来先服务(FCFS)调度算法

(First come first serve)这个是最简单的方式,就是根据作业提交的顺序来进行。这种方法优先考虑了在系统中等待时间最长的作业,从后备队列选取队首的几个作业为他们分配内存和资源。

2.短作业优先(SJF)调度算法

(Short Job First)考虑到角度是作业的执行时间,它先去会选择执行时间比较短的作业,为其分配资源,因为在实际情况中,短作业占很多,先执行完短作业之后会可以减少大多数作业等待的一个时间,牺牲长作业来换取短作业的更快完成。
但是这样有一个很不友善的点:作业运行时长把握不住;对长作业非常不利,比如有一个长作业很早就进入了后备队列,会因为一直是“短作业优先”的原则,导致该长作业一直处于等待状态。还有无法满足紧迫作业优先。

3.优先级调度算法

这个是根据外部给予作业的优先级调度,这样可以保证高紧迫性的作业优先调度。优先级是静态的,是因为事先外部赋予的,无法在中途改变。

4.高响应比(HRRN)调度算法

FCFS考虑的是等待时间,SJF考虑的是执行时间。两者都有各自的优缺点,如果将两者结合就可以互补了,同时考虑两者的算法就是:(HighestResponse Ratio Next)调度算法
HRRN引入了动态优先级的概念,就是说每个作业的优先级可以改变,也就是说随着作业等待时间的增加,优先级也会增加,成正比。可表示为:
在这里插入图片描述
需注意:
要求服务时间指的是:作业执行所需要的时间。
在时间都一样的情况下,两个作业执行时,会优先调度等待时间更长的;
当两个等待时间相同的情况下,会看哪个作业执行时间最短;这样也就同时衡量了。

中级调度

中级调度的主要任务是在作业调度的基础上,决定哪些进程允许参与CPU的竞争,它的目的主要是为了平衡CPU当前的负荷;
进程调度又称为低级调度,它的作用是按照某种原则将CPU分给某个进程。

进程调度

进程调度决定就绪队列中哪个进程将获得处理机,并实际执行将处理机分配给该进程的操作。进程调度是操作系统中最基本的调度,在批处理及分时系统中都必须配置。
调度的目标和原则:
1、公平性:(fairness)确保每个进程都能获得公平的CPU时间片
2、高效性:(efficiency)使CPU100%的时间都在工作
3、响应时间:(response time)系统对用户的反应时间
4、吞吐量:单位时间处理的工作量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值