Linux CFS排程演算法的理解

2021-10-10 03:03:37 字數 457 閱讀 1620

在加權的情況下,任務按照加權比例同時進行 ,例如a程序權重2,b程序權重1,a程序完成50%,b程序應該完成25%,加權後的實際分配的時間= ( 排程的總時間  * 該程序權重 )/總權重

那麼我們就可以得到公式

a程序實際分配時間 / b應該分配時間 = (排程的總時間*a程序權重)/(總權重*a程序應該分配時間)

b程序實際分配時間 / b應該分配時間 = (排程的總時間*b程序權重)/(總權重*b程序應該分配時間)

如果公平的話,就是兩者盡量相等,假設上面的兩個等式對等,我們就可以得到

(a程序分配的時間*g)/(a程序權重)=(b程序分配的時間*g)/(b程序權重)

g為常量

是不是linux cfs排程器的虛擬時鐘的計算方式好像:

virtime= 該程序分配的時間 * nice_0_load /當前程序的權重

已上是我的個人理解,如果不對,請指出,謝謝

linux CFS程序時間片排程策略

refer to linux 支援三種程序排程策略,分別是 sched fifo sched rr和sched normal。linux支援兩種型別的程序,實時程序和普通程序。實時程序可以採用sched fifo 和sched rr排程策略 普通程序採用sched normal排程策略。本文主要討論...

程序排程演算法理解

一.排程演算法分類 1.批處理 2.互動式 3.實時 二.演算法排程目標 所有系統 公平 策略強制執行 平衡 1.批處理系統 吞吐量 周轉時間 cpu利用率 2.互動式 響應時間 均衡性 3.實時系統 滿足截止時間 可 性 三.各種系統的排程演算法 1.批處理排程系統 1 先到先服務 fcfs 在所...

輕鬆理解作業排程演算法的優劣

先來先服務演算法 短作業優先演算法 最高響應比優先排程演算法 評價作業排程演算法的優劣,通常看平均周轉時間和帶權周轉時間 顧名思義,先來先服務演算法就是先來的作業先排程執行,後來的後執行。和佇列的先進先出的意思是一樣的。不過先來先服務演算法很少單獨使用,都是和其他演算法一起結合使用。我們來計算 a ...