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系統程式設計 第二版
第六章
進階的行程管理
在第 5 章介紹過行程的抽象概念,以及探討了核心用於建立、控制以及銷毀行程的
介面之後。本章接著會介紹建構這些概念的方法,我們首先會探討 Linux 行程排班器
process scheduler)以及它的排班演算法(scheduling algorithm),然後會介紹進階的
行程管理介面。這些系統呼叫可用於操作行程的排班行為,影響排班器的行為以便達成
應用程式或用戶所要求的目標。
行程的排班
行程排班器
process scheduler
)是核心的一個子系統,用於把處理器時間(processor
time)這個有限的資源分配給系統的各個行程。換言之,行程排班器(或簡稱排班器)
是核心的一個元件,用於選擇下一個所要運行的行程。除了決定哪些行程可以運行以及
何時運行,排班器還負責最大化處理器的使用率,並同時提供「多個行程並行且無間隙
地執行的」效果。
本章中,我們將會談到許多關於
可運行
runnable
)行程的事情。可運行行程就是未受
阻擋的行程;
受阻擋的行程
blocked process
)就是進入休眠狀態、等待核心完成 I/O
的行程。如果行程會跟用戶互動、或者會大量地讀寫檔案、或者會回應網路事件,它們
往往會浪費很多時間在等待資源變為可用,此期間它們處在無法運行的狀態。假定只有
一個可運行行程,那麼行程排班器的工作並不重要:執行該行程就是了!然而,當可運
行行程的數量超過處理器時,排班器便可以證明它存在的價值。此狀況下,顯然必定會
有些行程處在運行狀態,有些行程則處在等待狀態。決定哪些行程可以運行、何時運行 ...
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