Linux程序管理 (1)程序的誕生介紹瞭如何表示程序?程序的生命週期、程序的建立等等?

Linux支援多種排程器(deadline/realtime/cfs/idle),其中CFS排程器最常見。Linux程序管理 (2)CFS排程器介紹了優先順序、權重、虛擬執行時間、CFS排程器類;CFS程序建立以及如何排程;以及基於排程組的排程;最後介紹了PELT演算法。Linux程序管理 (7)實時排程簡單介紹了實時排程目前進展,以及一個對實時要求高要求的VR例項。

程序是和CPU架構強相關的,不同的CPU架構決定了程序管理和排程。

常見的CPU架構有AMP(Asymmetric Multiprocessing)、SMP(Symmetric Multiprocessing)、BMP(Bound Multiprocessing)和HMP(Heterogeneous Multiprocessing)。

AMP是非對稱多處理, 不同CPU可能執行獨立的作業系統;SMP是一個作業系統,管理所有CPU核;BMP是一個作業系統管理所有CPU核,但是應用鎖定於某個制定核心。

HMP目前主要是ARM big.LITTLE架構在使用。AMP和SMP區別是執行的作業系統可能不止一個;SMP和HMP的區別是HMP內部的CPU核並不完全對等。

Linux程序管理 (3)SMP負載均衡介紹瞭如何在SMP架構下進行負載均衡;。

關於ARM的big.LITTLE架構的排程器經歷了IKS(In Kernel Switcher)-->HMP/GTS(Global Task Scheduling)-->EAS(Energy Aware Scheduling)

HMP是ARM特有的架構,雖然已經被淘汰,也進行了介紹Linux程序管理 (4)HMP排程器

Linux程序管理 (6)EAS綠色節能排程器代表了未來的發展趨勢,。

延伸閱讀:《big.LITTLE Software Update》介紹了IKS和GTS,以及兩者之間的比較。Linaro的《Energy Aware Scheduling [EAS]》詳細介紹了EAS的來龍去脈。

NUMA(Non Uniform Memory Access Architecture)是一種截然不同的架構,NUMA將不同SoC納入一個系統,並且每個SoC都有自己的記憶體和IO。這在日常PC和嵌入式裝置基本遇不到。

Linux程序管理 (5)NUMA排程器介紹了,。

最後Linux程序管理 (8)最新更新與展望對核心的程序排程相關重大進展進行了展望。

目錄如下:

Linux程序管理 (1)程序的誕生

Linux程序管理 (2)CFS排程器

Linux程序管理 (3)SMP負載均衡

Linux程序管理 (4)HMP排程器

Linux程序管理 (5)NUMA排程器

Linux程序管理 (6)EAS綠色節能排程器

Linux程序管理 (7)實時排程

Linux程序管理 (8)最新更新與展望

Linux程序管理 (9)實時排程類分析,以及FIFO和RR對比實驗

Linux程序管理 (篇外)核心執行緒

 
 參考資料: