进程是如何调度的?

本文详细介绍了进程调度的概念、准则和多种算法,包括FCFS、SPN、HRRN、RR、MQ、MLFQ、FSS,并探讨了实时调度和多处理机调度策略,如优先级反置及其解决方案。通过对这些经典算法的理解,有助于深入掌握操作系统中处理机调度的原理。
摘要由CSDN通过智能技术生成

本文是操作系统系列第四篇文章,介绍处理机调度进程相关算法。进程调度的算法和调度框架(Kubernetes)类似,可以相互借鉴。原文链接,更多内容见公号机器学习与系统,欢迎与我互动~

概念

发生进程切换时,本质是CPU资源占用者间的切换。此时需要保存当前进程在PCB中的执行上下文(CPU状态),然后恢复下一个进程的执行上下文。

处理机调度涉及两个方面,一是选择进程:从就绪队列中挑选下一个占用CPU运行的进程。二是选择CPU资源:从多个可用CPU中挑选就绪进程可使用的CPU资源。

准则

调度策略是指确定如何从就绪队列中选择下一个执行进程,可以理解为调度算法。评价算法的基准有以下几个:

  1. CPU使用率:CPU处于忙状态的时间百分比
  2. 吞吐量:单位时间内完成的进程数量
  3. 周转时间:进程从初始化到结束(包括等待)的总时间
  4. 就绪等待时间:进程在就绪队列中的总时间
  5. 响应时间:从提交请求到产生响应所花费的总时间

另外,处理机调度需要保证公平:

  1. 保证每个进程占用相同的CPU时间
  2. 保证每个进程的等待时间相同

算法

先来先服务算法(FCFS: First Come, First Served)

FCFS依据进程进入就绪状态的先后顺序排列,它简单、易于实现。

但是也存在一些缺点,以上图为例,进程到达次序不同,对周转时间影响较大。总结如下:

  1. 平均等待时间波动较大:短进程可能排在长进程后面
  2. I/O资源和CPU资源的利用率较低:CPU密集型进程会导致I/O设备闲置时,I/O密集型进程也等待

短进程优先算法(SPN)

SPN是F

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值