Linux CPU调度算法

简述

● CPU数量 <= 进程数

● 每次CPU都要决定下一个运行的进程,这个选择叫做CPU调度;这个选择工作就叫做CPU调度程序

● 如果一个进程中有多个线程的话,内核管理的线程就以线程为基本单位

● 进程通常分为两种,一种长时间占用CPU进行计算称为计算密集型,另一种CPU计算时间短但访问外接设备时间长、次数多称为IO密集型

● 随着芯片的计算速度越来越快,磁盘读写速度相对较慢,IO密集型进程数量越来越多,更加考虑优化IO密集型进程

● 因此不同的场景需要不同的调度策略

● 大致可以把环境分为三类:批处理、交互式、实时系统

批处理

○先来先服务

○最短作业优先

○最短剩余时间优先

交互式

○轮转调度

○优先级调度

实时系统

○准时比正确的运行更重要

● 进程切换需要从用户态到内核态进行处理再回到用户态,所以时间片不能太短;但也不能太长,所以时间片通常在20ms到50ms之间

相关推荐
where happens13 分钟前
centos创建目录并授予权限
linux·运维·服务器·centos
liebe1*129 分钟前
第七章 防火墙地址转换
运维·服务器·网络
好好学操作系统35 分钟前
autodl 保存 数据 跨区
linux·运维·服务器
dbitc37 分钟前
WIN11把WSL2移动安装目录
linux·运维·ubuntu·wsl
KingRumn37 分钟前
Linux同步机制之信号量
linux·服务器·网络
嵌入式学习菌38 分钟前
SPIFFS文件系统
服务器·物联网
旺仔Sec38 分钟前
2026年度河北省职业院校技能竞赛“Web技术”(高职组)赛项竞赛任务
运维·服务器·前端
BullSmall1 小时前
linux 根据端口查看进程
linux·运维·服务器
herinspace1 小时前
管家婆软件年结存后快马商城操作注意事项
服务器·数据库·windows
_F_y1 小时前
Linux:进程间通信
linux