pfra页面回收算法

linux使用两个list来保存所有的page,一个是active list;一个是inactive list。pfra在回收page frame的时候首先是从inactive里开始的。每个page都有两个位来标识page属于的list,以及是否被访问过。它们是PG_active和PG_referenced.由于这两个位值的不同,page可以分为4种状态:

1.PG_active=0 PG_referenced=0

2.PG_active=0 PG_referenced=1

3.PG_active=1 PG_referenced=0

4.PG_active=1 PG_referenced=1

影响这些位的值的有3个函数:

mark_page_accessed()

page_referenced()

refill_inactive_zone()

函数影响状态转换的示意图可以参看

<understanding the linux kernel>693

你可能感兴趣的:(算法,linux,list)