什么是静态调度算法

什么是静态调度算法,第1张

实时 *** 作系统常用任务调度算法有哪些
*** 作系统常用的批处理作业调度算法
1.先来先服务调度算法
先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。在进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。该进程一直运行到完成或发生某事件而阻塞后才放弃处理机。
2.短作业(进程)优先调度算法

*** 作系统的进程调度算法直接关系到用户的使用体验。

如果把用户的体验时间,引入到计算机里面,我们引入以下几个概念。

周转时间,指作业从提交系统开始,直到作业完成为止的时间间隔。包括:

是指作业周转时间与作业实际运行服务时间的比值。
平均周转时间和平均带权周转时间是衡量批处理系统调度算法的重要准则。

先来先服务调度算法(First Come First Served, FCFS)是最简单的调度算法,可以用于作业调度和进程调度。
按照作业进入系统后备作业队列的先后次序来挑选作业,加入就绪队列,等待执行。

FCFS是非抢占式的,易于实现,效率不高,性能不好
有利于长作业(CPU繁忙性)而不利于短作业(I/O繁忙性)。

服务时间:作业需要运行的时间
完成时间 = 开始时间 + 服务时间
等待时间 = 开始时间 - 提交时间
周转时间 = 完成时间 - 提交时间
带权周转时间 = 周转时间 / 服务时间
响应比 = (等待时间 + 服务时间) / 服务时间 = 等待时间/服务时间 + 1

该算法每次从后备作业队列中挑选估计服务时间最短的一个或几个作业,
将他们调入内存,分配必要的资源,创建进程并放入就绪队列。
在进程调度中的原理类似。

SJF是非抢占式的,优先照顾短作业,具有很好的性能,降低平均等待时间,提高吞吐量。
但是不利于长作业,长作业可能一直处于等待状态,出现饥饿现象;
完全未考虑作业的优先紧迫程度,不能用于实时系统。

高响应比优先调度算法(Highest Reponse Ratio First, HRRF)是非抢占式的,主要用于作业调度。
基本思想:每次进行作业调度时,先计算后备作业队列中每个作业的响应比,挑选最高的作业投入系统运行。
响应比 = (等待时间 + 服务时间) / 服务时间 = 等待时间 / 服务时间 + 1

由响应比分析可知,该算法介于FCFS和SJF之间,但是每次需要计算每个作业的响应比,增加系统开销。

算法原理: 就是谁先来谁就先执行

算法优点 :易于理解且实现简单,只需要一个队列,公平
算法缺点 :有利于长进程,不利于短进程,有利于CPU 繁忙的进程,不利于I/O 繁忙的进程

算法原理: 对预计执行时间短的进程优先执行。
算法优点 :相比FCFS 算法,该算法可改善平均周转时间和平均带权周转时间,缩短进程的等待时间,提高系统的吞吐量。
算法缺点: 对长进程不利,可能长时间得不到执行产生饥饿,不能判断执行的优先级。

算法原理: 同时考虑每个作业的等待时间长短和估计需要的执行时间长短,从中选出响应比最高的作业投入执行。响应比R定义: R =(W+T)/T = 1+W/T
T为该作业估计需要的执行时间,W为作业在后备状态队列中的等待时间。执行之前系统计算每个作业的响应比,选择其中R最大者执行。这种算法是介于前面两种之间的一种折中算法。
算法优点: 长作业也有机会投入运行,避免了饥饿。
算法缺点: 每次调度前要计算响应比,增加系统开销。

算法原理: 设置一个时间片,每个进程轮流使用时间片,若一个时间片内进程还没结束,也会被其他的进程抢占时间片而退出执行,进入等待队列。
算法优点: 简单易行、平均响应时间短。
算法缺点: 不利于处理紧急作业。时间片的大小的设置对系统性能的影响很大,因此时间片的大小应选择恰当

算法原理: 根据优先级的来判断执行哪个进程。可以分为静态优先级和动态优先级,即优先级可以根据情况改变。比如如果一个进程等了很久,我们就可以把他的优先级适当的提高。

算法优点 :可以优先处理紧急事件,适用于实时 *** 作系统。

算法缺点 :可能导致那些优先级低的进程饥饿。

UNIX *** 作系统采取的便是这种调度算法。
算法原理

实现先说明执行队列优先级Q1>Q2>Q3>Qn,分配的时间片Qn>Qn-1>Q1

进程在进入待调度的队列等待时,首先进入优先级最高的队列Q1等待。若在Q1队列里面还没执行完,则下放到Q2里面,等Q1里面的进程都执行完了之后再执行Q2。以此类推。
若在低优先级的队列中的进程在运行时,又有新到达的作业,那么在运行完这个时间片后,CPU马上分配给新到达的作业(抢占式)。
在多级反馈队列调度算法中,规定第一个队列的时间片略大于多数人机交互所需之处理时间时,能够较好的满足各种类型用户的需要。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10597695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存