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對比實驗