linux cpu CFS 调度器有使用 令牌桶么?

根据搜索结果,Linux CPU 完全公平调度器(CFS)本身的设计和实现中,并没有使用令牌桶(Token Bucket)算法。CFS 的核心调度机制是基于红黑树和虚拟运行时间(vruntime)来实现任务的公平调度,它通过模拟一个理想的多任务CPU,使每个任务能公平地获得CPU时间片。

具体来说,CFS通过跟踪每个任务的虚拟运行时间,维护一个排序的红黑树,从树的最左边节点选择下一个运行的任务,从而实现公平调度。CFS没有使用基于时间片的令牌桶算法来控制调度时间,而是依赖于虚拟运行时间和负载权重计算来动态分配CPU资源。

不过,CFS在CPU资源带宽控制方面有相关的机制,比如CPU带宽控制(CONFIG_CFS_BANDWIDTH),该机制可用于限制某个进程或进程组的CPU使用比例,但这部分也并不是基于令牌桶算法,而是一种CPU使用时间的限制和借用机制。

总结:Linux的 CFS 调度器不使用令牌桶算法作为调度机制,主要采用虚拟运行时间和红黑树实现公平调度。令牌桶算法常用于流量控制、限速等场景,而非 Linux CFS 的 CPU 时间分配机制.

相关推荐
你的人类朋友7 小时前
先用js快速开发,后续引入ts是否是一个好的实践?
前端·javascript·后端
码事漫谈7 小时前
医疗设备控制系统中同步与异步通信的架构设计
后端
码事漫谈7 小时前
C++ 中 rfind 方法详解
后端
AAA修煤气灶刘哥8 小时前
服务器指标多到“洪水泛滥”?试试InfluxDB?
数据库·后端·面试
uzong8 小时前
技术面试,时间不足15分钟,面试官就挂掉了电话,原因竟然是……
后端·面试
Roye_ack8 小时前
【项目实战 Day12】springboot + vue 苍穹外卖系统(Apache POI + 工作台模块 + Excel表格导出 完结)
java·spring boot·后端·excel·苍穹外卖
kobe_OKOK_9 小时前
Django ORM 字段查询表达式(Field lookup expressions)
后端·python·django
qq_5470261799 小时前
SpringBoot+Redis实现电商秒杀方案
spring boot·redis·后端
Code blocks10 小时前
SpringBoot自定义请求前缀
java·spring boot·后端