news 2026/4/1 5:52:53

操作系统(16)-- 进程间的调度算法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
操作系统(16)-- 进程间的调度算法

先来先服务

核心思想:按到达顺序排队,先来的进程优先获得CPU,运行直至完成或主动阻塞。

调度方式:非抢占式

优点:算法简单易于实现,对所有进程“公平”。

缺点:一个长进程会阻塞后面所有的短进程,导致平均等待时间较长。对io密集型进程不太友好

短作业优先

核心思想:从就绪队列中选择预计运行时间最短的进程运行。

调度方式:通常是指非抢占式版本

优点:理论最优,能给出最短的平均等待时间和平均周转时间

缺点:无法准确获知进程的“作业长度”,长作业可能因不断有短作业到达而无限期等待

最短剩余时间优先

核心思想:短作业优先的抢占式版本。当新进程到达时,比较其总运行时间与当前进程的剩余运行时间。若新进程更短,则抢占CPU。

调度方式:抢占式

优点:比SJF更能优化平均等待时间,响应性更好。

缺点:同样需要预知运行时间,且实现和上下文切换开销更大。

优先级调度

核心思想:为每个进程分配一个优先级(通常数字越小优先级越高)。调度时,选择优先级最高的进程。

调度方式:可分为非抢占式抢占式

轮转法

核心思想:为每个进程分配一个固定的CPU时间片。进程用完时间片后,被抢占并放到就绪队列末尾,然后调度队列中的下一个进程。

调度方式:抢占式

核心参数时间片大小

  • 时间片过大-> 退化为FCFS,响应性变差。

  • 时间片过小-> 上下文切换过于频繁,系统开销巨大,吞吐量下降。

优点:绝对公平,响应性好,适合交互式系统。

缺点:平均等待时间通常不是最优。

多级反馈队列调度

  • 综合了优先级、时间片轮转,并能根据进程的历史行为动态调整,是现代操作系统最接近实际使用的算法。

  • 规则

    1. 设置多个不同优先级的就绪队列,优先级从高到低。

    2. 每个队列有自己的时间片大小(高优先级队列时间片通常更小)。

    3. 新进程进入最高优先级队列

    4. 进程用完当前队列的时间片后,若未完成,则被降级到下一级队列(时间片可能增大)。

    5. 进程因I/O主动放弃CPU,则其优先级保持不变或提升(奖励交互式进程)。

    6. 调度时,总是先运行高优先级队列中的进程,仅当高优先级队列为空时,才运行下一级队列

  • 优点

    • 能自动区分进程类型:短作业(很快完成)、交互式/I/O密集型(频繁放弃CPU,保持高优先级)、CPU密集型(逐步降级)。

    • 兼具多项优点:对短作业和交互式进程响应快,同时不让长作业饿死。

  • 缺点:实现复杂,需要配置多个参数(队列数量、时间片大小、优先级调整策略)。

  • 类比:机场多级安检通道。VIP/头等舱通道(队列少,检查快但时间片短),经济舱通道(队列多,检查慢但时间片长)。如果一个旅客总在通道里磨蹭(用光时间片),会被请到更慢的队列;而快速完成安检又返回拿东西的旅客(类似I/O),可能被允许回到更快队列。

总结

算法抢占性优点缺点适用场景
先来先服务非抢占简单,公平平均等待时间长,护航效应早期批处理系统
短作业优先非抢占理论最优平均时间需预知时间,长作业饥饿批处理后台任务(运行时间可知时)
最短剩余时间优先抢占比SJF更优的平均时间需预知时间,实现复杂理论优化场景
优先级调度均可区分任务重要性低优先级进程可能饥饿实时系统,有明确优先级的任务
轮转法抢占公平,响应快时间片选择敏感,平均时间一般通用分时/交互式系统(经典选择)
多级反馈队列抢占自适应,综合性能好实现复杂,参数配置敏感现代通用操作系统(实际近似)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/30 17:03:44

CSDN官网热议:VoxCPM-1.5-TTS-WEB-UI是否将颠覆传统语音合成方式?

VoxCPM-1.5-TTS-WEB-UI:当语音合成走向“开箱即用” 在AI技术飞速渗透内容创作的今天,一个令人兴奋的变化正在发生——曾经需要博士级知识储备才能驾驭的文本转语音(TTS)系统,如今只需点几下鼠标就能运行。这不是科幻&…

作者头像 李华
网站建设 2026/3/27 16:57:50

BKA-Transformer-LSTM多变量时间序列预测Matlab实现

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &#x1…

作者头像 李华
网站建设 2026/3/27 11:06:38

把IP地址转换为字符串

程序如下​ #include <stdio.h>char str[15]{\0};struct in_addr {unsigned long int s_addr;};char *inet_ntoa(struct in_addr in);int main(){struct in_addr addr0;char *s;addr0.s_addr0x8002c2f2;sinet_ntoa(addr0);printf("%s",s);return 0;}char *inet…

作者头像 李华
网站建设 2026/3/30 12:00:42

论文查重率高于30%?别担心,运用这五个高效技巧,快速调整至合格水平

最新研究数据揭示&#xff0c;全球气温上升与极端气候事件发生率上升之间呈现明确的正相关性&#xff0c;科学分析进一步验证了温室效应加剧对异常气象模式形成的直接影响&#xff0c;这一发现为理解环境变迁与灾害性天气频发之间的内在联系提供了实证依据。 首先&#xff0c;…

作者头像 李华
网站建设 2026/3/31 12:40:49

基于Spring Boot的学生社团管理系统的设计与实现

背景分析随着高校学生社团活动的日益丰富&#xff0c;传统手工管理方式&#xff08;如纸质登记、Excel表格&#xff09;暴露出效率低、数据易丢失、信息共享困难等问题。Spring Boot作为现代Java开发框架&#xff0c;能快速构建高可用的管理系统&#xff0c;解决以下痛点&#…

作者头像 李华