Skip to Content
LINUX系統程式設計 第二版
book

LINUX系統程式設計 第二版

by Robert Love
December 2013
Intermediate to advanced
496 pages
8h 57m
Chinese
GoTop Information, Inc.
Content preview from LINUX系統程式設計 第二版
192
|
第六章
行程—優先權較低的行程只須等待優先較高的行程用完它們的時段或者受到阻擋。此行
為明確描述了一個重要但心照不宣的 Unix 排班規則:所有的行程都必須前進。
完全公平排班器
完全公平排班器(Completely Fair Scheduler,簡稱 CFS)從根本上違背了傳統的 Unix
行程排班器。在大部分的 Unix 系統中,包括 CFS 導入之前的 Linux,行程排班機制會
用到兩個重要的每行程(per-process)變數:優先權(priority)及時段(timeslice)。
如上一節所討論的,在傳統的行程排班器中,行程會被分配到一個時段(代表處理器分
配給該行程的時間片段)。行程會運行到該時段用完為止。同樣的,行程會被分配到一
個優先權。行程排班器在運行優先權較低的行程之前,會先運行優先權較高的行程。該
演算法非常簡單,而且非常適合早期的分時 Unix 系統。如果系統需要良好的互動效能
及公平性,像是今日的現代桌上型電腦及行動裝置,那麼它的表現就令人不敢領教了。
CFS 導入了一個相當不同的演算法,稱為
公平排班
fair scheduling
):每個行程所分配
到的不再是時段,而是處理器時間的
比例
proportion
)。該演算法很簡單:若系統中有
N
個行程,則每個行程將會分配到處理器時間的
1/N
。然後 CFS 會使用
nice
值,替每個
行程所獲得的處理器時間比例加上權重。具有預設 nice 值(零)的行程所得到的權重是
1,所以它們的比例不會發生變化。具有較小 nice ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

優雅的SciPy|Python科學研究的美學

優雅的SciPy|Python科學研究的美學

Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普

Publisher Resources

ISBN: 9789862769812