昨天講完了TLB 以及MMU兩個與實體記憶體分配有關係的機制之後,今天要講一個比較少人談論,在Linux裡面有設置的兩個機制
所謂匿名分頁(anonymous page,台灣好像沒有對這個詞的正確翻譯,有的話拜託告知),是指在這個分頁裡面的資料在較低階的儲存區域,像是調換空間(swap space)或是硬碟裡面並沒有該份資料的存在,資料只存在在記憶體內。
匿名映射的方式通常會是應用在行程的堆疊(stack) 或是 堆(heap)中,在分配時匿名分頁時,依然使用 mmap()
函數, 並且傳入 MAP_ANONYMOUS
的標記,已完成創建匿名分頁的過程。
創建匿名分頁時,系統只會將該部分的虛擬記憶體映射到一個內部值都是0的特別實體記憶體分頁,該分頁稱作零頁(zero page)。