天天看點

【Linux核心】實體記憶體組織結構【Linux核心】實體記憶體組織結構

【Linux核心】實體記憶體組織結構

系統調用mmap

【Linux核心】實體記憶體組織結構【Linux核心】實體記憶體組織結構
【Linux核心】實體記憶體組織結構【Linux核心】實體記憶體組織結構

實體記憶體組織結構

體系結構

目前多處理器系統有兩種體系結構:

1)非一緻記憶體通路(Non-Unit Memory Access,NUMA):指記憶體被劃分成多個 記憶體節點的多處理器系統。通路一個記憶體節點花費的時間取決于處理器和記憶體節點的距離。

2)對稱多處理器(Symmetric Multi-Processor,SMP):即一緻記憶體通路 (Uniform Memory Access,UMA),所有處理器通路記憶體花費的時間是相同。

【Linux核心】實體記憶體組織結構【Linux核心】實體記憶體組織結構
【Linux核心】實體記憶體組織結構【Linux核心】實體記憶體組織結構

記憶體模型

記憶體模型是從處理器角度看到的實體記憶體分布,核心管理不同記憶體模型的方式存差異。

記憶體管理子系統支援3種記憶體模型:

1) 平坦記憶體(Flat Memory):記憶體的實體位址空間是連續的,沒有空洞。

2) 不連續記憶體(Discontiguous Memory):記憶體的實體位址空間存在空洞,這種模 型可以高效地處理空洞。

3) 稀疏記憶體(Space Memory):記憶體的實體位址空間存在空洞,如果要支援記憶體熱 插拔,隻能選擇稀疏記憶體模型。

繼續閱讀