本发明专利技术公开了一种基于时间监测的动态多级反馈队列进程调度方法,涉及进程调度技术领域。本发明专利技术包括为各反馈队列设定执行时间区间序列Tseq;根据执行时间区间序列Tseq将就绪进程存储到对应的反馈队列;按照反馈队列优先级依次取反馈队列中一就绪进程执行并记录各反馈队列就绪进程实际执行时间集合Tact;根据实际执行时间集合Tact计算各反馈队列中就绪进程实际平均执行时间序列Tactseq。本发明专利技术通过为各反馈队列设定执行时间区间序列Tseq同时根据实际执行时间集合Tact计算就绪进程实际平均执行时间序列Tactseq进而动态更新执行时间区间序列Tseq,解决了现有多级反馈队列因上下队列切换次数不合理导致系统开销过大降低系统效率的问题。
【技术实现步骤摘要】
一种基于时间监测的动态多级反馈队列进程调度方法
本专利技术属于进程调度
,特别是涉及一种基于时间监测的动态多级反馈队列进程调度方法。
技术介绍
操作系统调度算法有:FCFS(英文全称:FirstComeFirstServe,中文:先来先服务调度算法)、SPF(英文全称:ShortestProcessFirst,中文:短作业优先调度算法)、高优先权优先调度算法、RR(英文全称:RoundRobin,中文:时间片的轮转调度算法)、MFQS(英文全称:MultilevelFeedback-QueueScheduling,中文:多级反馈队列调度算法)等等。FCFS调度方法简单易行,实现起来容易,但是由于算法本身的缺点,如不利于长作业。随着大数据时代的到来,调度数量和复杂度都在激增,实现一种高效率高可靠行的算法势在必行。MFQS算法集成了几种算法的优点,是效率最高的一种调度算法,因此被广泛的应用于各种操作系统;另一方面,MFQS由于各方面综合性能最好,使其在各个系统中应用最多,最广泛。MFQS最大的问题在于队列时间片的选取。进程执行时间大小与队列时间片大小直接的关系直接影响进程在队列中上下队列的切换次数。上下队列切换作为评判调度算法优劣的标准之一,在很大程度上影响了整体调度的性能,减少上下队列切换次数将有利于缩减系统开销。
技术实现思路
本专利技术的目的在于提供一种基于时间监测的动态多级反馈队列进程调度方法,通过为各反馈队列设定执行时间区间序列Tseq同时根据实际执行时间集合Tact计算就绪进程实际平均执行时间序列Tactseq进而动态更新执行时间区间序列Tseq,实现了以单次执行完一个进程为主的时间片分割以及动态适配进程执行时间,解决了现有多级反馈队列因上下队列切换次数不合理导致系统开销过大降低系统效率的问题。为解决上述技术问题,本专利技术是通过以下技术方案实现的:本专利技术为一种基于时间监测的动态多级反馈队列进程调度方法,包括如下步骤:S000:在存储空间内设置n个用于存储进程的反馈队列;S001:实时监测进程池中是否有就绪进程;若是,则执行S002;若否,监测进程池中就绪进程;S002:评估进程池中就绪进程执行时间t;S003:为各反馈队列设定执行时间区间序列Tseq;S004:根据执行时间区间序列Tseq将S002中的就绪进程存储到对应的反馈队列;S005:按照反馈队列优先级依次取反馈队列中一就绪进程执行并记录各反馈队列就绪进程实际执行时间集合Tact;S006:根据实际执行时间集合Tact计算各反馈队列中就绪进程实际平均执行时间序列Tactseq:{tact1、tact2、tact3......tactn-1};S007:监测进程池中是否有就绪进程;若是,则执行S002;若否执行S005。优选地,S001中各反馈队列的执行时间区间序列Tseq包括如下步骤:若第一次获取并执行反馈队列中的就绪进程,则时间执行时间区间序列Tseq如下:第1级反馈队列执行时间区间:(0,t1];第2级反馈队列执行时间区间:(t1,t2];第3级反馈队列执行时间区间:(t2,t3];......第n-1级反馈队列:(tn-2,tn-1];第n级反馈队列:(tn-1,∞];若不是第一次获取并执行反馈队列中的就绪进程,则时间执行时间区间序列Tseq更改如下:t1=tact1、t2=tact2、t3=tact3......tactn-2=tactn-2、tactn-1=tactn-1;其中n为正整数,tn为初始设定的第n级反馈队列时间片;tactn为第n级反馈队列实际平均执行时间,tn=n*t1。优选地,S004中根据执行时间区间序列Tseq将S001中的就绪进程存储到对应的反馈队列包括如下过程:A000:判断执行时间t是否大于tn-1;若是,则t除以tn-1取余数trem并执行A001;若否,则执行A003;A001:判断余数trem是否为零;若是,则将就绪进程存储到第n级反馈队列中并执行A003;若否,则执行A002;A002:判断余数trem所属执行时间区间并将就绪队列存储到所属执行时间区间对应的反馈队列中;A003:判断执行时间t所属执行时间区间并将就绪队列存储到所属执行时间区间对应的反馈队列中。优选地,S005中按照反馈队列优先级依次取反馈队列中一就绪进程执行包括如下过程:从第1级反馈队列获取一就绪进程,执行完进程或执行时间片t1;从第2级反馈队列获取一就绪进程,执行完进程或执行时间片t2;......从第n-2级反馈队列获取一就绪进程,执行完进程或执行时间片tn-2;从第n-1级反馈队列获取一就绪进程,执行完进程或执行时间片tn-1。本专利技术具有以下有益效果:通过为各反馈队列设定执行时间区间序列Tseq同时根据实际执行时间集合Tact计算就绪进程实际平均执行时间序列Tactseq进而动态更新执行时间区间序列Tseq,实现了以单次执行完一个进程为主的时间片分割以及动态适配进程执行时间,减少了多级反馈队列因上下队列切换次数;提高多级反馈队列因上下队列切换合理性;降低系统开销、提高系统进程运行效率。当然,实施本专利技术的任一产品并不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的一种基于时间监测的动态多级反馈队列进程调度方法流程图;图2为本专利技术S004中根据执行时间区间序列Tseq将S001中的就绪进程存储到对应的反馈队列的流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。请参阅图1所示,本专利技术为一种基于时间监测的动态多级反馈队列进程调度方法,包括如下步骤:S000:在存储空间内设置n个用于存储进程的反馈队列;S001:实时监测进程池中是否有就绪进程;若是,则执行S002;若否,监测进程池中就绪进程;S002:评估进程池中就绪进程执行时间t;S003:为各反馈队列设定执行时间区间序列Tseq;S004:根据执行时间区间序列Tseq将S002中的就绪进程存储到对应的反馈队列;S005:按照反馈队列优先级依次取反馈队列中一就绪进程执行并记录各反馈队列就绪进程实际执行时间集合Tact;S006:根据实际执行时间集合Tact计算各反馈队列中就绪进程实际平均执行时间序列Tactseq:{tact1、tact2、tact3......tactn-1};S007:监测进程池中是否有就绪进程;若是,则执行S002;若否执行S005。其中,S001中各反馈队列的执行时间区间序列Tseq包括如下步骤:若第一次获取并执行反馈队列中的就绪进程,则时间执行时间区间序列Tseq如下:第1级反馈队列执行时间区间:(0,t1];第2级反馈队列执行时间区间:(t1,t2];第3级反馈队列执行时间区间:(本文档来自技高网...
【技术保护点】
1.一种基于时间监测的动态多级反馈队列进程调度方法,其特征在于,包括如下步骤:S000:在存储空间内设置n个用于存储进程的反馈队列;S001:实时监测进程池中是否有就绪进程;若是,则执行S002;若否,监测进程池中就绪进程;S002:评估进程池中就绪进程执行时间t;S003:为各反馈队列设定执行时间区间序列Tseq;S004:根据执行时间区间序列Tseq将S002中的就绪进程存储到对应的反馈队列;S005:按照反馈队列优先级依次取反馈队列中一就绪进程执行并记录各反馈队列就绪进程实际执行时间集合Tact;S006:根据实际执行时间集合Tact计算各反馈队列中就绪进程实际平均执行时间序列Tactseq:{tact1、tact2、tact3......tactn‑1};S007:监测进程池中是否有就绪进程;若是,则执行S002;若否执行S005。
【技术特征摘要】
1.一种基于时间监测的动态多级反馈队列进程调度方法,其特征在于,包括如下步骤:S000:在存储空间内设置n个用于存储进程的反馈队列;S001:实时监测进程池中是否有就绪进程;若是,则执行S002;若否,监测进程池中就绪进程;S002:评估进程池中就绪进程执行时间t;S003:为各反馈队列设定执行时间区间序列Tseq;S004:根据执行时间区间序列Tseq将S002中的就绪进程存储到对应的反馈队列;S005:按照反馈队列优先级依次取反馈队列中一就绪进程执行并记录各反馈队列就绪进程实际执行时间集合Tact;S006:根据实际执行时间集合Tact计算各反馈队列中就绪进程实际平均执行时间序列Tactseq:{tact1、tact2、tact3......tactn-1};S007:监测进程池中是否有就绪进程;若是,则执行S002;若否执行S005。2.根据权利要求1所述的一种基于时间监测的动态多级反馈队列进程调度方法,其特征在于,S001中各反馈队列的执行时间区间序列Tseq包括如下步骤:若第一次获取并执行反馈队列中的就绪进程,则时间执行时间区间序列Tseq如下:第1级反馈队列执行时间区间:(0,t1];第2级反馈队列执行时间区间:(t1,t2];第3级反馈队列执行时间区间:(t2,t3];......第n-1级反馈队列:(tn-2,tn-1];第n级反馈队列:(tn-1,∞];若不是第一次获取并执行反馈队列中的就绪进程,则时间执行时间区间序列Tseq更...
【专利技术属性】
技术研发人员:项道东,
申请(专利权)人:温州职业技术学院,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。