当前位置:首页 » 操作系统 » 多算法调度

多算法调度

发布时间: 2022-05-13 03:53:06

A. 作业调度的算法有哪些

作业调度的算法有:算法有先来先服务、最短作业优先算法、最高响应比优先算法、基于优先数调度算法。

1、算法有先来先服务

最简单的调度算法,按作业的先后顺序进行调度,只考虑每个作业的等待时间而未考虑执行时间的长短。

2、最短作业优先算法

最短作业优先算法是对先来先服务算法的改进,其目标是减少平均周转时间。对预计执行时间短的作业优先分派处理机。通常后来的短作业不抢先正在执行的作业。 只考虑执行时间而未考虑等待时间的长短。

3、最高响应比优先算法

最高响应比优先算法是对先来先服务方式和最短作业优先算法方式的一种综合平衡。最高响应比优先法调度策略同时考虑每个作业的等待时间的长短和估计需要的执行时间长短,从中选出相应比最高的作业投入执行。

4、基于优先数调度算法

优先数调度算法常用于批处理系统中。在进程调度中,每次调度时,系统把处理机分配给就绪队列中优先数最高的进程。它又分为两种:非抢占式优先数算法和抢占式优先数算法。

(1)多算法调度扩展阅读:

作业调度是指按照时间周期(年、月、日、时、分、秒等)对作业进行分割,并根据业务需求、作业长度、存储管理及依赖性关系对作业的执行方式加以调度。主要任务是从作业后备队列中选择作业进入主存运行。作业调度的功能主要有以下几方面:

1、记录各作业在系统中的状态;

2、从后备队列中挑选一部分作业投入运行;

3、从被选中的作业做好执行前的准备工作;

4、在作业执行结束时,做善后处理工作。

进行作业调度有很多作业调度算法,这些作业调度算法要实现的目标是:

1、调度对所有作业都是公平合理的;

2、应使设备有较高的利用率(提供系统利用率);

3、每次运行尽可能多的作业(提高系统吞吐量);

4、较快的相应时间。

B. UCOS 支持多种调度算法么

现在这么多操作系统,调度的算法各有千秋,但是很多都生存下来了,。现实生活中的应用种类繁多,众口难调,针对不同的应用有不同的合适的调度算法,各自都有其生存的理由。所以不少比较完善的操作系统都支持好几种调度策略,以期望以一概全,要游走于牛A与牛C之间。。

C. 几种进程调度算法分析

前两天做操作系统作业的时候学习了一下几种进程调度算法,在思考和讨论后,有了一些自己的想法,现在就写出来,跟大家讨论下。 ,或者说只有有限的CPU资源,当系统中有多个进程处于就绪状态,要竞争CPU资源时,操作系统就要负责完成如何分配资源的任务。在操作系统中,由调度程序来完成这一选择分配的工作,调度程序所使用的算法即是调度算法。调度算法需要考虑的指标主要有尽量保证CPU资源分配的公平性;按照一定策略强制执行算法调度;平衡整个计算机系统,尽量保持各个部分都处于忙碌状态。而根据系统各自不同的特点和要求,调度算法又有一些侧重点和目标不同,因此,算法按照系统差异主要分为三大类: 批处理系统中的调度算法, 代表调度算法有:先来先服务、最短作业优先、最短剩余时间优先。 交互式系统中的调度算法, 代表调度算法有:轮转调度、优先级调度、多级队列、最短进程优先、保证调度、彩票调度、公平分享调度。 实时系统中的调度算法 ,代表调度算法有:速率单调调度、最早最终时限优先调度。 下面就上述提到的调度算法中挑出几个进行重点分析:保证调度保证调度是指利用算法向用户做出明确的性能保证,然后尽力按照此保证实现CPU的资源分配。利用这种算法,就是定一个进程占用CPU的时间的标准,然后按照这个标准去比较实际占用CPU的时间,调度进程每次使离此标准最远的进程得到资源,不断满足离所保证的标准最远的进程,从而平衡资源分配满足这个标准的要求。 保证调度算法的优点是:能很好的保证进程公平的CPU份额,当系统的特点是:进程的优先级没有太大悬殊,所制定的保证标准差异不大,各个进程对CPU的要求较为接近时,比如说系统要求n个进程中的每个进程都只占用1/n的CPU资源,利用保证调度可以很容易的实现稳定的CPU分配要求。但缺点是,这种情况太过理想,当系统的各个进程对CPU要求的紧急程度不同,所制定的保证较为复杂的时候,这个算法实现起来比较困难。 彩票调度彩票调度这种算法的大意是指向进程提供各种系统资源如CPU资源的彩票,当系统需要做出调度决策时,随机抽出一张彩票,由此彩票的拥有者获得资源。在彩票调度系统中,如果有一个新的进程出现并得到一些彩票,那么在下一次的抽奖中,该进程会有同它持有彩票数量成正比例的机会赢得奖励。进程持有的彩票数量越多,则被抽中的可能性就越大。调度程序可以通过控制进程的彩票持有数量来进行调度。 彩票调度有很多优点:首先,它很灵活,系统增加分给某个进程的彩票数量,就会大大增加它占用资源的可能性,可以说,彩票调度的反应是迅速的,而快速响应需求正是交互式系统的一个重要要求。其次,彩票调度算法中,进程可以交换彩票,这个特点可以更好的保证系统的平衡性,使其各个部分都尽可能的处于忙碌状态。而且利用彩票调度还可以解决许多别的算法很难解决的问题,例如可以根据特定的需要大致成比例的划分CPU的使用。 速率单调调度 速率单调调度算法是一种可适用于可抢占的周期性进程的经典静态实时调度算法。当实时系统中的进程满足:每个周期性进程必须在其周期内完成,且进程之间没有相互依赖的关系,每个进程在一次突发中需要相同的CPU时间量,非周期的进程都没有最终时限四个条件时,并且为了建模方便,我们假设进程抢占即刻发生没有系统开销,可以考虑利用速率单调算法。 速率单调调度算法是将进程的速率(按照进程周期所算出的每秒响应的次数)赋为优先级,则保证了优先级与进程速率成线性关系,这即是我们所说的速率单调。调度程序每次运行优先级最高的,只要优先级较高的程序需要运行,则立即抢占优先级低的进程,而优先级较低的进程必须等所有优先级高于它的进程结束后才能运行。 速率单调调度算法可以保证系统中最关键的任务总是得到调度,但是缺点是其作为一种静态算法,灵活性不够好,当进程数变多,系统调度变得复杂时,可能不能较好的保证进程在周期内运行。 最早最终时限优先调度 最早最终时限优先调度算法是一个动态算法,不要求进程是周期性的,只要一个进程需要CPU时间,它就宣布它的到来时间和最终时限。调度程序维持一个可运行的进程列表,按最终时限排序,每次调度一个最终时限最早的进程得到CPU 。当新进程就绪时,系统检查其最终时限是否在当前运行的进程结束之前,如果是,则抢占当前进程。 由于是动态算法,最早最终优先调度的优点就是灵活,当进程数不超过负载时,资源分配更优,但也同样由于它的动态属性,进程的优先级都是在不断变化中的,所以也没有哪个进程是一定可以保证满足调度的,当进程数超过负载时,资源分配合理度会急速下降,所以不太稳定。

D. 多核CPU调度有哪几种算法 比如单核的有优先级、先来先服务。那多核的有哪几种呢

一般多核任务调度算法有全局队列调度和局部队列调度。前者是指操作系统维护一个全局的任务等待队列,当系统中有一个CPU核心空闲时,操作系统就从全局任务等待队列中选取就绪任务开始在此核心上执行。这种方法的优点是CPU核心利用率较高。后者是指操作系统为每个CPU内核维护一个局部的任务等待队列,当系统中有一个CPU内核空闲时,便从该核心的任务等待队列中选取恰当的任务执行,这种方法的优点是任务基本上无需在多个CPU核心间切换,有利于提高CPU核心局部Cache命中率。目前多数多核CPU操作系统采用的是基于全局队列的任务调度算法。

E. 作业调度的算法都有哪些

作业调度的算法有:算法有先来先服务、最短作业优先算法、最高响应比优先算法、基于优先数调度算法。

1、算法有先来先服务

最简单的调度算法,按作业的先后顺序进行调度,只考虑每个作业的等待时间而未考虑执行时间的长短。

2、最短作业优先算法

最短作业优先算法是对先来先服务算法的改进,其目标是减少平均周转时间。对预计执行时间短的作业优先分派处理机。通常后来的短作业不抢先正在执行的作业。 只考虑执行时间而未考虑等待时间的长短。

3、最高响应比优先算法

最高响应比优先算法是对先来先服务方式和最短作业优先算法方式的一种综合平衡。最高响应比优先法调度策略同时考虑每个作业的等待时间的长短和估计需要的执行时间长短,从中选出相应比最高的作业投入执行。

4、基于优先数调度算法

优先数调度算法常用于批处理系统中。在进程调度中,每次调度时,系统把处理机分配给就绪队列中优先数最高的进程。它又分为两种:非抢占式优先数算法和抢占式优先数算法。

(5)多算法调度扩展阅读:

作业调度是指按照时间周期(年、月、日、时、分、秒等)对作业进行分割,并根据业务需求、作业长度、存储管理及依赖性关系对作业的执行方式加以调度。主要任务是从作业后备队列中选择作业进入主存运行。作业调度的功能主要有以下几方面:

1、记录各作业在系统中的状态;

2、从后备队列中挑选一部分作业投入运行;

3、从被选中的作业做好执行前的准备工作;

4、在作业执行结束时,做善后处理工作。

进行作业调度有很多作业调度算法,这些作业调度算法要实现的目标是:

1、调度对所有作业都是公平合理的;

2、应使设备有较高的利用率(提供系统利用率);

3、每次运行尽可能多的作业(提高系统吞吐量);

4、较快的相应时间。

F. 确定作业调度算法的原则是什么

①先来先服务算法。原则上按照作业进入输入井的次序调度,如果作业的资源得不到满足,将会推迟调度,它的资源得到满足的时候会优先被调度进来。

优点:具有一定的公平性。

缺点:系统的吞吐率低,平均周转时间长,有大作业到来的时,许多小作业推迟调度。

②计算时间短的作业优先.优先调度计算时间短的作业进行调度,资源不满足的情况下推迟调度。在这种调度算法下,要求用户要对作业的计算时间预先有一个估计,调度以此为依据。

优点:由于被选中的作业计算时间,所以不能尽快地完成并退出系统,降低了作业的平均等待时间,提高了系统的吞吐率。

缺点:大作业会不满意,而且极限情况下使得某些大作业始终得不到调度。

③响应比高者优先算法。该算法考虑了计算时间等待时间,既考虑了计算时间短的作业优先,又考虑了大作业长期等待的问题。所谓响应比是按照以下公式来定义的:

响应比R=等待时间/计算时间

这里的计算时间是估计的作业计算时间,从公式看,计算时间越短,响应比越高;而另一方面,大作业等待时间越长,响应比也会越大。一个作业完成以后,需要重新计算一下在输入井中的各个作业的响应比,最高的将优先调度。

④优先数调度算法。为每一个作业指定一个优先数,优先数高的作业先被调度。对于优先数相等的作业采用先来先服务的策略。优先数的制定原则是:作业的缓急程序,估计的计算时间,作业的等待时间,资源申请情况等因素综合考虑。

⑤均衡调度算法。使用不同资源的进程同时执行,减少作业等待同类设备而耗费的时间,加快作业的执行。

(6)多算法调度扩展阅读:

在操作系统中调度是指一种资源分配,因而调度算法是指:根据系统的资源分配策略所规定的资源分配算法。对于不同的的系统和系统目标,通常采用不同的调度算法,例如,在批处理系统中,为了照顾为数众多的段作业,应采用短作业优先的调度算法;又如在分时系统中,为了保证系统具有合理的响应时间,应当采用轮转法进行调度。

目前存在的多种调度算法中,有的算法适用于作业调度,有的算法适用于进程调度;但也有些调度算法既可以用于作业调度,也可以用于进程调度。

G. 什么是调度算法

调度算法

通常将作业或进程归入各种就绪或阻塞队列。有的算法适用于作业调度,有的算法适用于进程调度,有的两者都适应。

1.先来先服务(FCFS, First Come First Serve)

先来先服务(FCFS, First Come First Serve)是最简单的调度算法,按先后顺序进行调度。

1. FCFS算法

按照作业提交或进程变为就绪状态的先后次序,分派CPU;

当前作业或进程占用CPU,直到执行完或阻塞,才出让CPU(非抢占方式)。

在作业或进程唤醒后(如I/O完成),并不立即恢复执行,通常等到当前作业或进程出让CPU。最简单的算法。

2. FCFS的特点

比较有利于长作业,而不利于短作业。

有利于CPU繁忙的作业,而不利于I/O繁忙的作业。

2. 轮转法(Round Robin)

轮转法(Round Robin)是让每个进程在就绪队列中的等待时间与享受服务的时间成正比例。

1. 轮转法

Ø 将系统中所有的就绪进程按照FCFS原则,排成一个队列。

Ø 每次调度时将CPU分派给队首进程,让其执行一个时间片。时间片的长度从几个ms到几百ms。

Ø 在一个时间片结束时,发生时钟中断。

Ø 调度程序据此暂停当前进程的执行,将其送到就绪队列的末尾,并通过上下文切换执行当前的队首进程。

Ø 进程可以未使用完一个时间片,就出让CPU(如阻塞)。

Ø

2. 时间片长度的确定

Ø 时间片长度变化的影响

² 过长->退化为FCFS算法,进程在一个时间片内都执行完,响应时间长。

² 过短->用户的一次请求需要多个时间片才能处理完,上下文切换次数增加,响应时间长。

Ø 对响应时间的要求:T(响应时间)=N(进程数目)*q(时间片)

Ø 就绪进程的数目:数目越多,时间片越小

Ø 系统的处理能力:应当使用户输入通常在一个时间片内能处理完,否则使响应时间,平均周转时间和平均带权周转时间延长。

3. 多级反馈队列算法(Round Robin with Multiple Feedback)

多级反馈队列算法时间片轮转算法和优先级算法的综合和发展。

优点:

² 为提高系统吞吐量和缩短平均周转时间而照顾短进程。

² 为获得较好的I/O设备利用率和缩短响应时间而照顾I/O型进程。

² 不必估计进程的执行时间,动态调节。

1. 多级反馈队列算法

² 设置多个就绪队列,分别赋予不同的优先级,如逐级降低,队列1的优先级最高。每个队列执行时间片的长度也不同,规定优先级越低则时间片越长,如逐级加倍。

² 新进程进入内存后,先投入队列1的末尾,按FCFS算法调度;若按队列1一个时间片未能执行完,则降低投入到队列2的末尾,同样按FCFS算法调度;如此下去,降低到最后的队列,则按“时间片轮转”算法调度直到完成。

² 仅当较高优先级的队列为空,才调度较低优先级的队列中的进程执行。如果进程执行时有新进程进入较高优先级的队列,则抢先执行新进程,并把被抢先的进程投入原队列的末尾。

²

2. 几点说明

² I/O型进程:让其进入最高优先级队列,以及时响应I/O交互。通常执行一个小时间片,要求可处理完一次I/O请求的数据,然后转入到阻塞队列。

² 计算型进程:每次都执行完时间片,进入更低级队列。最终采用最大时间片来执行,减少调度次数。

² I/O次数不多,而主要是CPU处理的进程。在I/O完成后,放回优先I/O请求时离开的队列,以免每次都回到最高优先级队列后再逐次下降。

² 为适应一个进程在不同时间段的运行特点,I/O完成时,提高优先级;时间片用完时,降低优先级。

H. 实时操作系统常用任务调度算法有哪些

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

I. 调度算法的调度算法

在操作系统中调度是指一种资源分配,因而调度算法是指:根据系统的资源分配策略所规定的资源分配算法。对于不同的的系统和系统目标,通常采用不同的调度算法,例如,在批处理系统中,为了照顾为数众多的段作业,应采用短作业优先的调度算法;又如在分时系统中,为了保证系统具有合理的响应时间,应当采用轮转法进行调度。目前存在的多种调度算法中,有的算法适用于作业调度,有的算法适用于进程调度;但也有些调度算法既可以用于作业调度,也可以用于进程调度。
通常将作业或进程归入各种就绪或阻塞队列。
调度算法要求:高资源利用率、高吞吐量、用户满意等原则。
进程调度所采用的算法是与整个系统的设计目标相一致的:
1.批处理系统:增加系统吞吐量和提高系统资源的利用率;
2.分时系统:保证每个分时用户能容忍的响应时间。
3.实时系统:保证对随机发生的外部事件做出实时响应。

J. 进程调度的方式有哪两种试列举至少4种进程调度算法。

进程调度的方式有非剥夺方式和剥夺方式。
非剥夺方式:
分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生某事件而阻塞时,才把处理机分配给另一个进程。
剥夺方式:
当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。剥夺原则有:优先权原则、短进程优先原则、时间片原则。
进程调度算法:
1、先进先出算法(FIFO):
算法总是把处理机分配给最先进入就绪队列的进程,一个进程一旦分得处理机,便一直执行下去,直到该进程完成或阻塞时,才释放处理机。
举例:有三个进程P1、P2和P3先后进入就绪队列,它们的执行期分别是21、6和3个单位时间,对于P1、P2、P3的周转时间为21、27、30,平均周转时间为26。可见,FIFO算法服务质量不佳,容易引起作业用户不满,常作为一种辅助调度算法。
2、最短CPU运行期优先调度算法(SCBF--Shortest CPU Burst First):
该算法从就绪队列中选出下一个“CPU执行期最短”的进程,为之分配处理机。
举例:在就绪队列中有四个进程P1、P2、P3和P4,它们的下一个执行进程调度期分别是16、12、4和3个单位时间,P1、P2、P3和P4的周转时间分别为35、19、7、3,平均周转时间为16。该算法虽可获得较好的调度性能,但难以准确地知道下一个CPU执行期,而只能根据每一个进程的执行历史来预测。
3、时间片轮转法:
前几种算法主要用于批处理系统中,不能作为分时系统中的主调度算法,在分时系统中,都采用时间片轮转法。简单轮转法:系统将所有就绪进程按FIFO规则排队,按一定的时间间隔把处理机分配给队列中的进程。这样,就绪队列中所有进程均可获得一个时间片的处理机而运行。
4、多级反馈队列:
多级队列方法:将系统中所有进程分成若干类,每类为一级。多级反馈队列方式是在系统中设置多个就绪队列,并赋予各队列以不同的优先权。

热点内容
服务器cpu能供多少电脑使用 发布:2024-10-09 23:05:21 浏览:349
算法和嵌入式 发布:2024-10-09 23:04:34 浏览:553
谷歌内部服务器错误是什么意思 发布:2024-10-09 22:39:27 浏览:904
java中todate 发布:2024-10-09 22:01:49 浏览:854
android短信权限设置 发布:2024-10-09 21:45:43 浏览:849
安卓手机转移数据为什么自动断开 发布:2024-10-09 21:40:52 浏览:88
什么是海关防盗密码锁 发布:2024-10-09 21:32:24 浏览:852
shell脚本的加减 发布:2024-10-09 21:23:23 浏览:402
安卓平板和苹果的平板有什么区别 发布:2024-10-09 20:26:37 浏览:428
上传速度对网速的影响吗 发布:2024-10-09 20:09:38 浏览:564