首页 > 系统相关 >进程调度算法

进程调度算法

时间:2023-04-01 18:56:13浏览次数:34  
标签:优先级 队列 作业 调度 算法 时间 进程

1、先来先服务FCFS

非抢占式,按照请求顺序来进行调度。

有利于长作业,不利于短作业,短作业等待时间长。

2、最短作业优先

非抢占式,按照运行时间最短顺序调度。

长作业可能饿死,等待短作业一直得不到运行。

3、最短剩余时间优先

短作业的抢占式版本,按剩余时间调度。

4、时间片轮转

按FCFS原则排成队列,每次调度,把CPU时间分给队首进程,时间片用完,计时器发送时钟中断,停止该进程,放到末尾 。

5、优先级调度

每个进程分配优先级,按优先级调度。

为防止低优先级永远等不到调度,可以随着时间推移增加优先级

6、多级反馈队列

多级反馈队列结合改良时间片轮转+优先级调度

多个队列对应的时间片不同,时间片递增,第一个队列未执行完,移到下一个队列。

最上面的队列优先级最高

 

标签:优先级,队列,作业,调度,算法,时间,进程
From: https://www.cnblogs.com/fei1013/p/17279102.html

相关文章

  • 【入门】Go语言排序算法详解
    1、冒泡排序冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的两个元素,并在必要时交换它们的位置,直到没有任何一对元素需要交换为止。该算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。packagemainimport"fmt"//我们定义了一个名为`bu......
  • 【算法专题】容斥原理
    【算法专题】容斥原理题E.DevuandFlowershttps://codeforces.com/contest/451/problem/E前置知识:隔板法然后正难则反,把至多取\(a_i\)个转化为至少取\(a_i+1\)的反问题,就能套用隔板法的公式了。答案即为:#include<bits/stdc++.h>#definelllonglongusingname......
  • 递归算法
    递归算法 递归算法是一种通过调用自身来解决问题的算法。递归算法通常涉及到将一个问题划分为较小的子问题来解决,并在子问题中调用自身来完成。递归算法的基本思想是,将一个大问题转化为一个或多个相同结构的小问题,直到问题变得足够小以便直接解决。然后将这些小问题的解组合成......
  • 进程的等待
    关于进程等待在子进程运行结束后,进入僵死状态,并释放资源,子进程在内核中的数据结构依然保留.父进程调用wait()与waitpid()函数等待子进程退出后,释放子进程遗留的资源(taskstruct)wait与waitpidwait函数函数头文件#include<sys/types.h>#include<sys/wait.h>函数......
  • 算法导论-第1章-算法在计算中的作用
    第1章算法在计算中的作用1.1算法(Algorithms)非形式地说,算法(algorithm)是任何明确定义的计算过程,该过程取某个值或值的集合作为输入并产生某个值或某个值的集合作为输出。因此算法就是将输入转换为输出的一系列计算步骤。Informally,analgorithmisanywell-definedcomputa......
  • 算法导论-第2章-算法基础
    第2章算法基础2.1插入排序(Insertionsort)输入:\(n\)个数的序列\(<a_1,a_2,\cdots,a_n>\)输出:输入序列的一个排列\(<a_1^{'},a_2^{'},\cdots,a_n^{'}>\),满足\(a_1^{'}\lea_2^{'}\le\cdots\lea_n^{'}\)被排序的数称为关键字。在本书中,使用伪代码(pseudoc......
  • VBA 对象数组排序算法分享
     FunctionSrotObjectByProperty(objsToSortAsVariant,PropertyNameAsString,Optional降序AsBoolean=True)IfIsEmpty(objsToSort)ThenExitFunctionIfInStr(TypeName(objsToSort),"()")<1ThenExitFunction'IsArray()issom......
  • 算法笔记之并查集
    一、并查集的定义并查集是一种树型的数据结构,用于处理一些不相交集合(disjointsets)的合并及查询问题。常常在使用中以森林来表示。并查集,顾名思义,支持以下两种操作操作:并(Union):把两个不相交的集合合并为一个集合。查(Find):查询两个元素是否在同一个集合中。二、并查......
  • C# 当前进程是否有控制台窗口
    WPF应用程序,在VS的项目属性中,可以设置输出类型:那我们在代码中,如何判断应用的类型呢。有没有控制台?是否Windows应用程序还是控制台应用程序?Kernel32下函数GetConsoleWindow可以解决这个问题:[DllImport("kernel32.dll")]privatestaticexternIntPtrGetConsoleWindow();1......
  • 基于凸集上投影(POCS)的聚类算法
    POCS:ProjectionsontoConvexSets。在数学中,凸集是指其中任意两点间的线段均在该集合内的集合。而投影则是将某个点映射到另一个空间中的某个子空间上的操作。给定一个凸集合和一个点,可以通过找到该点在该凸集合上的投影来进行操作。该投影是离该点最近的凸集内的点,可以通过最小......