2009-04-19 21 views
1

FreeBSD實現頁面着色和 分頁隊列。根據 處理器的L1和L2高速緩存的大小排列隊列 ;而當 需要分配一個新頁面時,FreeBSD會嘗試獲得一個爲 最佳對齊的緩存。解釋FreeBSD中的CPU緩存分頁,特別是分頁隊列

請問有人可以解釋一下上面幾行,分頁隊列的概念是什麼?

謝謝!

回答

3

操作系統必須管理CPU高速緩存的大小,以便減少cache misses(也解釋頁面着色)。更簡單地說,存儲在緩存中的數據(以頁爲單位)必須根據使用頻率,是否可能很快再次使用,以及重新檢索來自主存/ HD/SomeOtherDevice的數據。這些選擇在內存帶寬成爲瓶頸的應用中非常重要。

這種類型的事情通常是通過優先級隊列完成的,該優先級隊列實現由OS開發人員選擇的分頁替換策略。這些隊列決定了當新數據移動到緩存時將替換哪些頁面,以及數據位於緩存中的位置。如果您想了解正在使用哪種策略,您應該諮詢FreeBSD的文檔。

爲了對齊,高速緩存(或主存儲器)中的數據需要從特定邊界開始放置,以便高效訪問(即移入CPU寄存器)。如果數據未對齊,則需要額外的計算來對齊它。