Linux CPU调度算法

简述

● CPU数量 <= 进程数

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

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

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

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

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

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

批处理

○先来先服务

○最短作业优先

○最短剩余时间优先

交互式

○轮转调度

○优先级调度

实时系统

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

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

相关推荐
jamon_tan14 小时前
Linux下cmake构建方法
linux
JiaWen技术圈14 小时前
内核子系统 nf_tables 深度解析
linux·服务器·安全·运维开发
信徒_14 小时前
负载均衡技术选型
运维·负载均衡
计算机安禾14 小时前
【Linux从入门到精通】第32篇:Nginx入门——高性能Web服务器搭建
linux·服务器·nginx
动恰客流管家14 小时前
动恰3DV3丨客流统计系统:旺季人手不够淡季闲人太多?客流统计帮你科学优化人力成本
大数据·运维·人工智能·3d
乐维_lwops14 小时前
智变2026:中国IT运维管理软件行业全景洞察——从AI重塑到信创深水区
运维·人工智能
ZenosDoron14 小时前
Linux 中,rm -r 和 -f
linux·运维·服务器
Hello.Reader14 小时前
Ubuntu 上正确安装 Kali 虚拟机、Docker 与 kail 工具指南
linux·ubuntu·docker
WarPigs14 小时前
Windows IIS开启和配置服务器
运维·服务器
原来是猿15 小时前
Linux UDP Socket 编程入门:Echo Server/Client实现
linux·运维·udp