Linux CPU调度算法

简述

● CPU数量 <= 进程数

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

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

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

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

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

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

批处理

○先来先服务

○最短作业优先

○最短剩余时间优先

交互式

○轮转调度

○优先级调度

实时系统

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

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

相关推荐
tg_xianheyun1 分钟前
阿里云国际账号注册代充值怎么选服务商?
服务器·阿里云·云计算·全球访问优化
xiaoye-duck2 分钟前
《Linux网络编程》吃透 Linux 网络传输全流程:完整梳理局域网通信、封装解包与跨网络传输原理
linux·网络
深念Y5 分钟前
订阅管理及节点过滤实践(技术笔记)
linux·网络·arm·优化·日志·工具·soc
IT小盘6 分钟前
17-AI应用防止越权访问知识库
服务器·网络·windows
酷可达拉斯11 分钟前
自动化运维-Ansible Role详解
linux·运维·服务器·自动化·ansible
为思念酝酿的痛19 分钟前
Socket编程--TCP
服务器·网络·tcp/ip
智能运维指南20 分钟前
智能体自治运维选型指南:2026年企业如何从“AI辅助”走向“AI自治”
大数据·运维·人工智能
suijishengchengde22 分钟前
k8s deployment或statefulset分组关停
运维·kubernetes
翼龙云_cloud27 分钟前
腾讯云国际代理商:CDB数据库自动备份和异地灾备配置 从快照到跨区域恢复
运维·数据库·云计算·腾讯云
牢姐与蒯31 分钟前
Linux首战之进度条
linux·运维·服务器