Linux CPU调度算法

简述

● CPU数量 <= 进程数

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

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

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

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

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

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

批处理

○先来先服务

○最短作业优先

○最短剩余时间优先

交互式

○轮转调度

○优先级调度

实时系统

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

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

相关推荐
xmweisi0217 分钟前
Ansible内置模块之 group
linux·运维·ansible·rhce·rhca·红帽认证
小猪写代码23 分钟前
Ubuntu 系统默认已安装 python,此处只需添加一个超链接即可
linux·python·ubuntu
孤寂大仙v1 小时前
【Linux笔记】——Linux线程理解与分页存储的奥秘
linux·运维·笔记
有谁看见我的剑了?2 小时前
ubuntu 22.04 wifi网卡配置地址上网
linux·运维·ubuntu
码农新猿类2 小时前
Ubuntu摄像头打开失败
linux·运维·ubuntu
jstart千语2 小时前
【消息队列】RabbitMQ基本认识
java·服务器·分布式·rabbitmq
PWRJOY2 小时前
Ubuntu磁盘空间分析:du命令及常用组合
linux·运维·ubuntu
ASDyushui2 小时前
Shell 编程之正则表达式与文本处理器
linux·正则表达式
wanhengidc3 小时前
SCDN能够运用在物联网加速当中吗?
运维·服务器·网络
leona_nuaa3 小时前
p2p虚拟服务器
服务器·网络协议·p2p