从内核调度想到的

本文探讨了Linux 2.6内核中O(1)调度算法的设计原理及其实现方式。该算法通过引入优先级数组和过期/活动数组,确保选择可执行进程的时间消耗与系统中的进程数量无关,从而大幅提升了系统的调度效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近重新读了《linux内核设计于实现》的进程调度章节,对于时间片的重新计算和多cpu的负载平衡,很受启发:

1,分而治之。对复杂问题,把其分散到各个细小的环节去实现,降低了复杂度,性能上有所提升,也不容易出错。

2,步步为营。这是从load_balance想到的,一步一步的脚踏实地的去完成一个功能。

linux的2.6及其后续的内核,实现了O(1)的调度算法,这种调度算法选取可执行进程的时间恒定,不依赖于系统中的进程数目。实现这种调度的核心是优先级数组的和过期/活动数组的引入,通过简单的指针交换,完成切替,不可谓不奇妙的设计。

不知道内核的早期设计者们花费了多大的努力才做到的...

支持开源,支持linux,希望更多人了解开源思想,加入linux阵营...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值