现代任务调度算法红黑树vruntime,谁的vruntime越小谁就是头,随着运行,时间不断增大

非常棒的问题!你想了解 现代 Linux 中的任务调度算法,这是深入理解内核如何公平、高效管理 CPU 的关键部分。


🎯 总览:现代 Linux 使用的调度器是 CFS(Completely Fair Scheduler)

自 Linux 2.6.23 起,CFS 取代了旧的 O(1) 调度器,成为主流 Linux 的默认调度器。


✅ 1. Linux CFS(完全公平调度器)

CFS 的目标是:让所有进程尽可能“公平”地分享 CPU 时间


🧠 CFS 的核心思想:

  • 每个进程有一个 虚拟运行时间 vruntime
  • 谁的 vruntime 最小,谁最“该被调度”,先执行
  • 当进程使用 CPU,它的 vruntime 就增加,跑得越久,优先级越低
  • nice 值(静态优先级)会调整加权因子,影响 vruntime 增速

🧱 数据结构:

CFS 使用 红黑树(Red-Black Tree) 管理所有可运行进程:

rbtree<vruntime, task_struct>
  • 根节点是 vruntime 最小的进程
  • <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值