CN106354555B - 一种操作系统进程调度算法 - Google Patents

一种操作系统进程调度算法 Download PDF

Info

Publication number
CN106354555B
CN106354555B CN201610723435.8A CN201610723435A CN106354555B CN 106354555 B CN106354555 B CN 106354555B CN 201610723435 A CN201610723435 A CN 201610723435A CN 106354555 B CN106354555 B CN 106354555B
Authority
CN
China
Prior art keywords
scheduling
algorithm
dispatch
dispatching
determines whether
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610723435.8A
Other languages
English (en)
Other versions
CN106354555A (zh
Inventor
刘洋
刘孝保
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kunming University of Science and Technology
Original Assignee
Kunming University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kunming University of Science and Technology filed Critical Kunming University of Science and Technology
Priority to CN201610723435.8A priority Critical patent/CN106354555B/zh
Publication of CN106354555A publication Critical patent/CN106354555A/zh
Application granted granted Critical
Publication of CN106354555B publication Critical patent/CN106354555B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Abstract

本发明涉及一种操作系统进程调度算法,属于操作系统技术领域。本发明的技术方案是提供一种操作系统进程调度算法,通过综合5种进程调度算法,克服每种进程调度算法应用中的缺陷,提高进程调度程序进行进程调度的合理性,避免系统资源的浪费。

Description

一种操作系统进程调度算法
技术领域
本发明涉及一种操作系统进程调度算法,属于操作系统技术领域。
背景技术
在多道程序操作系统中,进程调度程序按照一定的算法,动态地把CPU分配给处于就绪队列中的某一个进程,使之执行。
当前,被广泛应用的进程调度算法有先来先服务,短作业优先,时间片轮转,优先级调度,最短剩余时间等算法,然而,先来先服务进程调度算法会导致操作系统的平均周转时间的增加;短作业优先进程调度算法和最短剩余时间进程调度算法难以预测进程的执行时间,导致长进程饥饿现象的产生;时间片轮转进程调度算法的时间片长短划分的不够合理,以及优先级调度进程调度算法的优先级数给定的不够合理,都会致使系统调度时系统开销的增加。
在多道程序操作系统中应用单一的进程调度算法,致使进程调度程序不能针对每一种情况进行合理的进程调度,导致系统资源的浪费。
发明内容
本发明要解决的技术问题是提供一种操作系统进程调度算法,通过综合5种进程调度算法,克服每种进程调度算法应用中的缺陷,提高进程调度程序进行进程调度的合理性,避免系统资源的浪费。
本发明是通过如下技术方案来实现的:
一种操作系统进程调度算法,所述方法具体步骤包括:
步骤101.令i=1,i为就绪队列进程的序号;
步骤102.读取就绪队列第i个进程Ti
步骤103.判断进程调度阈值Cim是否大于等于3,Cim表示就绪队列第i个进程Ti的调度阈值Cm, 调度阈值Cm为一个进程分别根据先来先服务、短作业优先、时间片轮转、优先级调度、最短剩余时间五种算法判断是否调度该进程至运行状态的结果的总和,
若Cim≥3,则调度第i个进程Ti至运行状态,若Cim<3,则进行下一步的判断;
步骤104.判断i是否小于n,n表示就绪队列中进程的个数,若i小于n,则i加1,并返回步骤102,否则调度第1个进程T1至运行状态;
步骤105.重复步骤102~步骤104。
进一步地,所述的调度阈值Cm的具体计算步骤包括:
步骤201.读取待调度的进程;
步骤202.应用先来先服务算法判定是否调度该进程,若调度该进程,则C1=1,否则C1=0;
步骤203.应用短作业优先算法判定是否调度该进程,若调度该进程,则C2=1,否则C2=0;
步骤204.应用时间片轮转算法判定是否调度该进程,若调度该进程,则C3=1,否则C3=0;
步骤205.应用优先级调度算法判定是否调度该进程,若调度该进程,则C4=1,否则C4=0;
步骤206.应用最短剩余时间算法判定是否调度该进程,若调度该进程,则C5=1,否则C5=0;
步骤207.计算调度阈值Cm,计算公式为Cm=C1+C2+C3+C4+C5
本发明具有以下有益效果:
本发明通过综合5种进程调度算法,克服每种进程调度算法应用中的缺陷,提高进程调度程序进行进程调度的合理性,避免系统资源的浪费。
附图说明
图1为进程调度算法流程示意图;
图2为调度阈值Cm的计算流程。
具体实施方式
下面结合附图和实施例,对本发明作进一步说明,但本发明的内容并不限于所述范围。
实施例1:如图1、图2所示,一种操作系统进程调度算法,所述方法具体步骤包括:
步骤101.令i=1,i为就绪队列进程的序号;
步骤102.读取就绪队列第i个进程Ti
步骤103.判断进程调度阈值Cim是否大于等于3,Cim表示就绪队列第i个进程Ti的调度阈值Cm, 调度阈值Cm为一个进程分别根据先来先服务、短作业优先、时间片轮转、优先级调度、最短剩余时间五种算法判断是否调度该进程至运行状态的结果的总和,
若Cim≥3,则说明5种算法中至少有3种以上的算法认为应该调度该进程至运行状态,由此确定调度该该进程至运行状态,此时则调度第i个进程Ti至运行状态,若Cm<3,则说明多数算法认为不应该调度该进程至运行状态,因此,进行下一步的判断;
步骤104.判断i是否小于n,n表示就绪队列中进程的个数,若i小于n,则i加1,并返回步骤102,若否则说明该进程为就绪队列队尾进程,说明没有其他的进程需要排序了,此时调度第1个进程T1至运行状态;
步骤105.重复步骤102~步骤104。
进一步地,所述的调度阈值Cm的具体计算步骤包括:
步骤201.读取待调度的进程;
步骤202.应用先来先服务算法判定是否调度该进程,若调度该进程,则C1=1,否则C1=0;
步骤203.应用短作业优先算法判定是否调度该进程,若调度该进程,则C2=1,否则C2=0;
步骤204.应用时间片轮转算法判定是否调度该进程,若调度该进程,则C3=1,否则C3=0;
步骤205.应用优先级调度算法判定是否调度该进程,若调度该进程,则C4=1,否则C4=0;
步骤206.应用最短剩余时间算法判定是否调度该进程,若调度该进程,则C5=1,否则C5=0;
步骤207.计算调度阈值Cm,计算公式为Cm=C1+C2+C3+C4+C5
以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

Claims (2)

1.一种操作系统进程调度算法,其特征在于:所述算法具体步骤包括:
步骤101.令i=1,i为就绪队列进程的序号;
步骤102.读取就绪队列第i个进程Ti
步骤103.判断进程调度阈值Cim是否大于等于3,Cim表示就绪队列第i个进程Ti的调度阈值Cm, 调度阈值Cm为一个进程分别根据先来先服务、短作业优先、时间片轮转、优先级调度、最短剩余时间五种算法判断是否调度该进程至运行状态的结果的总和,
若Cim≥3,则调度第i个进程Ti至运行状态,若Cim<3,则进行下一步的判断;
步骤104.判断i是否小于n,n表示就绪队列中进程的个数,若i小于n,则i加1,并返回步骤102,否则调度第1个进程T1至运行状态;
步骤105.重复步骤102~步骤104。
2.根据权利要求1所述的操作系统进程调度算法,其特征在于:所述的调度阈值Cm的具体计算步骤包括:
步骤201.读取待调度的进程;
步骤202.应用先来先服务算法判定是否调度该进程,若调度该进程,则C1=1,否则C1=0;
步骤203.应用短作业优先算法判定是否调度该进程,若调度该进程,则C2=1,否则C2=0;
步骤204.应用时间片轮转算法判定是否调度该进程,若调度该进程,则C3=1,否则C3=0;
步骤205.应用优先级调度算法判定是否调度该进程,若调度该进程,则C4=1,否则C4=0;
步骤206.应用最短剩余时间算法判定是否调度该进程,若调度该进程,则C5=1,否则C5=0;
步骤207.计算调度阈值Cm,计算公式为Cm=C1+C2+C3+C4+C5
CN201610723435.8A 2016-08-26 2016-08-26 一种操作系统进程调度算法 Active CN106354555B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610723435.8A CN106354555B (zh) 2016-08-26 2016-08-26 一种操作系统进程调度算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610723435.8A CN106354555B (zh) 2016-08-26 2016-08-26 一种操作系统进程调度算法

Publications (2)

Publication Number Publication Date
CN106354555A CN106354555A (zh) 2017-01-25
CN106354555B true CN106354555B (zh) 2019-07-05

Family

ID=57856109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610723435.8A Active CN106354555B (zh) 2016-08-26 2016-08-26 一种操作系统进程调度算法

Country Status (1)

Country Link
CN (1) CN106354555B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874129B (zh) * 2017-02-04 2020-01-10 北京信息科技大学 一种操作系统进程调度顺序确定方法及控制方法
CN107832154B (zh) * 2017-11-14 2020-07-17 浙江亿邦通信科技有限公司 一种多进程处理方法、处理装置及应用
CN109799805B (zh) * 2019-01-17 2020-09-29 湖南大学 一种可靠性感知的高性能汽车电子调度算法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101246437B (zh) * 2008-01-28 2010-06-09 中兴通讯股份有限公司 一种嵌入式实时系统进程均衡调度方法
CN101290668B (zh) * 2008-06-16 2011-08-17 中国移动通信集团湖北有限公司 一种分时作业动态调度方法和装置
CN101339521B (zh) * 2008-07-28 2011-04-20 华中科技大学 一种任务优先级动态调度算法
CN102063336B (zh) * 2011-01-12 2013-02-27 国网电力科学研究院 一种分布式计算多应用功能异步并发调度方法
US9111022B2 (en) * 2012-06-22 2015-08-18 Sap Se Simulation techniques for predicting in-memory database systems performance

Also Published As

Publication number Publication date
CN106354555A (zh) 2017-01-25

Similar Documents

Publication Publication Date Title
CN104021044B (zh) 一种作业调度方法及装置
CN106354555B (zh) 一种操作系统进程调度算法
CN101694631B (zh) 实时作业调度系统及方法
EP1705570A3 (en) Schedulability determination method and real-time system
CN103995742B (zh) 一种基于mcu的嵌入式实时调度控制装置及方法
CN107193655B (zh) 一种基于效用函数的面向大数据处理的公平资源调度方法
CN101923487A (zh) 一种综合嵌入式实时周期任务调度方法
CN104156264A (zh) 一种基于多gpu的基带信号处理任务并行实时调度方法
CN101963922A (zh) 任务处理方法和装置
CN108563494B (zh) 一种自适应动态调整的线程调度系统及方法
CN105955809A (zh) 线程调度方法和系统
Tsai et al. Scheduling multiple scientific and engineering workflows through task clustering and best-fit allocation
CN109032769A (zh) 一种基于容器的持续集成ci任务处理方法及装置
US20180321973A1 (en) Method and apparatus for scheduling tasks to a cyclic schedule
CN102184124B (zh) 任务调度方法及系统
CN109656716B (zh) 一种Slurm作业调度方法及系统
CN103777995B (zh) 虚拟化环境下基于群调度的同步优化调度系统和调度方法
Srivastav et al. Fair priority Round Robin with dynamic time quantum: FPRRDQ
CN107301085B (zh) 一种基于队列的云平台任务分配方法
CN104021041B (zh) 一种多任务操作环境状态的计算机调度方法
CN107544843A (zh) 一种分区系统调度算法
Pachchigar et al. Design and Implementation of Deadline based EDF Algorithm on ARM LPC2148
ABDALKAFOR et al. A NOVEL METHOD BASED ON PRIORITY FOR ENHANCEMENT ROUND-ROBIN SCHEDULING ALGORITHM.
Sun et al. Dynamic task flow scheduling for heterogeneous distributed computing: algorithm and strategy
CN112003987B (zh) 一种外呼调度装置和外呼调度方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant