- 論壇徽章:
- 0
|
帥絕人寰 發(fā)表于 2014-04-29 10:29 ![]()
看懂了!
順便請教下, PG_swapcache和PG_swapbacked有什么區(qū)別? 各自代表什么?
PG_swapbacked表示一個(gè)頁是以交換區(qū)/交換文件作為后備空間的,類比于page cache頁,它是以存儲(chǔ)介質(zhì)中的文件作為后備空間的。
PG_swapcache表示一個(gè)頁在交換緩存中。
一個(gè)頁要被交換時(shí),并不是馬上寫出,而是先置于交換緩存中,此時(shí)PG_swapcache置位,并且,該進(jìn)程的該頁表項(xiàng)不會(huì)馬上修改為swap entry項(xiàng),
因?yàn)榭赡苓有其他進(jìn)程映射到該頁,所以得等所有進(jìn)程都unmap到該頁后,才會(huì)真正把該頁交換到交換區(qū)/交換文件,并且把 頁表項(xiàng)改為swap entry,
表示該頁現(xiàn)在在交換區(qū)/交換文件。
另一方面,當(dāng)進(jìn)程要訪問該頁時(shí),發(fā)現(xiàn)swap entry, 知道其在交換區(qū)/交換文件中,于是會(huì)把它調(diào)入到交換緩存中,同樣,該進(jìn)程此時(shí)不會(huì)馬上把swap entry
修改為頁表項(xiàng),因?yàn)榭赡芷渌M(jìn)程還未把該頁換入,所以該頁可能還要在交換緩存中呆一會(huì)。等到所以進(jìn)程都換入該頁時(shí),該頁才會(huì)從交換緩存中刪除。
大致如此。細(xì)節(jié)可能要修改。我研究下代碼再來更新。
|
|