這裡很複雜,並且這裡為了程序的穩定之類的,並且包括程序資源的平均之類的東西,每種裝填的處理我也沒研究特別清楚,這裡僅僅記錄下一些思路,具體問題我不在過分解析,
這裡先說下頁面管理的裝填,
這裡僅僅寫出了四個佇列,可是還有乙個結構專門用來管理用於交換的page,這裡不在詳細說明,
主要介篩下,關於空閒佇列,在分配時候有幾個問題,在分配乙個頁面的時候,我們知道inactive_clean_list,也可以,但是,在需要分配幾個頁面的時候,就會遇到麻煩,因為一般我們需要幾個連續的頁面(雖說我們虛存可以改變位址對映)。第二關於分配多個連續頁面時候,這裡的連續的倉庫的分配是乙個很有意思的解決辦法,專門有個陣列,大小是10,裡面盛放2^n的連續的頁面。然後可以統一管理。
關於activity_list轉化到inactive_dirty_list.這裡通過函式refill_inactive()來實現。這裡實現很複雜,他是依次試圖從每個程序中,換出一些頁面,然後輪流換出一遍,這裡僅僅是轉到inactive_dirty_list,並且沒有轉入到inactive_clean_list。然後通過page_launder()來轉入到inactive_clean_list。當然在這之前,我們會通過乙個更加簡單操作,是吧inactive_dirty_list直接轉入到到空閒佇列,
至於從交換區轉入記憶體,這裡通過頁面議程的page_falct()函式來實現的,這裡流程比較簡單,不在詳細介紹。
page_launder()其中有吧頁面儲存到swap的能力
這裡函式實現比較複雜,我c語言語法也不太好,看的比較迷茫,並且也不是很想整理這些內容。不過整體思路還是比較簡單,這裡不在過多話費時間,以後有機會我自己研究下最新版本,更加實用!!!
後台管理頁面1
1.html 標籤 2.css position background text align margin padding font size z index overflow hover opacity float clear both line height border color displ...
後台管理頁面布局
簡單的乙個頁面布局,頭部 左側選單欄,右側內容,頭部和選單欄固定位置,內容部分如果很長就會出現滾動條 兩種方法能實現,其實兩種差別只有乙個屬性不一樣。1.1 使用position fixed 1.先定義三個div標籤 2.設定頭部樣式,高48px,背景色藍色 頂部出現乙個藍色長條 3.在pg con...
Linux記憶體管理 14 匿名頁面生命週期
專題 linux記憶體管理專題 如果要將匿名頁面的生命週期進行劃分,大概就是誕生 使用 換出 換入和銷毀。核心中使用匿名頁面的地方有很多,產生缺頁中斷之後匿名頁面就誕生了 使用者程序訪問虛擬位址即可訪問到匿名頁面內容 在記憶體緊張的時候,需要 一些頁面來釋放記憶體,匿名頁面可能被換出 如果虛擬位址空...