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系統程式設計 第二版
進階的行程管理
|
199
處理器傾向
Linux 支援具多個處理器的單一系統。開機過程除外,支援多個處理器的大量工作由行
程排班器負責完成。在多處理器機器上,行程排班器必須決定每個 CPU 之上要運行哪
些行程。
有兩項挑戰源自此責任:排班器必須想辦法充分利用系統上所有處理器,因為當有一
個行程已備妥等待運行,卻有一個 CPU 閒置在一旁,這顯然沒有效率。然而,一個行
程一旦被安排上在某個 CPU 上運行,往後行程排班器也會將它安排在相同的 CPU 上運
行。這是有益的,因為把一個行程從一個處理器遷移到另一個處理器是要付出代價的。
這些代價中最大者與遷移的
快取效應
cache effect
)有關。由於現代 SMP 系統的設
計,與每個處理器相關的快取區是不同且獨立的。也就是,如果資料位於一個處理器的
快取區中,就不會位於另一個處理器的快取區中。因此,如果一個行程被移往一個新的
CPU,而且把新的資料寫入記憶體,那麼位於舊 CPU 之快取區中的資料就過時了。現
在若使用該快取區,則會導致資料遭到破壞。為了避免此現象,當一個快取區中快取了
一個新的記憶體團塊時,這會讓每個其他快取區中的資料失效。因此,任何時刻,特定
的一段資料只能出現在一個處理器的快取區中(假定資料全都被快取起來)。當有一個
行程從一個處理器移往另一個處理器,會因而付出兩種代價:被移動的行程不再能夠存
取被快取起來的資料,而且位於原來處理器之快取區中的資料必須作廢。因為必須付出
這些代價,所以行程排程器會盡可能為一個行程安排特定的 CPU 來運行它。 ...
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