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進程管理 (9)實時調度類分析,以及FIFO和RR對比實驗