• 进程的调度算法


    1.先来先服务(FCFS)调度算法
    比如有5个任务,放一个队列里面,谁先进去的谁先执行
    在这里插入图片描述

    2.短作业优先(SJF)调度算法
    执行时间短的优先执行,但是这里有个小地方需要注意下,比如三个任务,【A,B,C】
    这里短作业,调度是怎么知道谁执行时间短的呢?
    先预估一下执行时间,预估了之后去执行,首先这里有个问题,是预估的时间和实际执行时间肯定是有差异的
    执行的时候还有个地方需要注意,短作业是根据一个任务最后剩下多少执行时间来做优先调度处理
    在这里插入图片描述

    3.优先级调度算法
    每一个任务都有优先级,优先级比较高的先执行,优先级低的后执行
    一般情况下,对用户有感的优先级比较高,用户无感的优先级略低
    在这里插入图片描述

    4.高相应比优先调度算法
    在这里插入图片描述

    5.时间片轮转调度算法
    一个队列中,存在多个进程,多个进程被分到了不同的时间片上,比如1秒钟,分为了200毫秒,30毫秒,等等这样拆分,拆分之后,给每一个进程分配对应的时间片再去执行,P1执行200毫秒,然后P2执行30毫秒
    那么会导致一个结果,就是最后面的Pn,注定是要等前面的在时间片上执行完了,才执行
    这里有一个问题,就是时间片是怎么分的?根据什么规则或者算法分的?怎么知道该给哪个进程分多少时间片最合适呢?
    看下图所描述的:时间片决定因素是根据系统相应时间,就绪队列进程数量,系统处理能力来计算的
    疑问:那么是否还有一个根据进程的历史执行时间来计算?比如,给一个进程分配了200毫秒时间片,但是他20毫秒就执行完了,那么这个再进行执行的时候,应该分配一个20~30之间的是否就足够了呢?
    处理机切换频繁:因为你的进程划分到了不同的时间片执行,所以分配给一个时间片上的任务执行时间完了,会切换到另一个时间片执行,这里的切换都是基于【中断】来切换的,简单说就是上下文切换;
    【中断】是一个【中断处理程序】,中断的时候,也是一段计算机指令在执行,整个任务所需要的条件都会被保存下来,然后等切回来的再执行,来回切换就会不断的执行【中断】程序,中断程序执行也会耗时的(虽然是毫秒级别)切的频繁反而会慢了
    redis:缓存框架,它的底层只有一个进程,一个进程一个线程,绑定单个处理机,就不切换,不切换就避免了切换的开销,可以支持非常高的并发
    ##-----------------------------------------------------------------------------------------------------------------##
    时间片轮转调度其实非常负责,这里只是简单的介绍
    在这里插入图片描述

    6.多级反馈队列调度算法
    注意:之前的5个调度算法,队列都是一个,这个是多个队列
    多级反馈队列调度,这个调度算法,有的会忽略掉优先级,因为这里会自动给你分配时间片,然后根据时间片+优先级分配第一,第二,第N个的队列,第一个队列里面肯定是时间片比较小的,如果没执行完,就给你分第二个队列了,然后在第二个队列在执行
    问题:两个任务A和B,优先级都是1,时间片,A分配了10毫秒,B分配了100毫秒,那么A和B是否分配到了第一队和第二队?
    个人理解:不会分配,因为都进来,是进入第一级队列,优先级高,时间片短的,肯定是在队列前面?也就是A和B,都在第一队列,但是B在A屁股后面执行,先执行A,如果第一队列中的A执行完了,B执行了100毫秒,没完,那么B进入第二队列,再去跑?
    在这里插入图片描述
    在这里插入图片描述

    目前最高级的,是【多级反馈队列调度算法】
    以上图片内容来自B站(B站学累了还能看看其他的,比如小姐姐)
    内容来自mashibingjiaoyu,非本人整理

  • 相关阅读:
    【SSM】SpringMVC系列——SpringMVC注解式开发
    Linux入门——基础指令
    《Java基础知识》Java ArrayList源码分析2
    .NET 团队公布.NET 9开发目标 并发布.NET9的首个预览版
    CompletableFuture使用详解
    MySQL之函数
    如何进行LLM大模型推理优化
    2022年湖北劳务备案资质办理之后如何延期?应对动态监管?
    PLC中获取输入信号上升沿或下降沿的具体方法示例
    如何一次性批量打印PDF、Word、Excel、PPT和图片 - 文件批量打印工具
  • 原文地址:https://blog.csdn.net/weixin_44887276/article/details/126587528