12.1 页
Linux内核用struct page
结构表示系统中的每个物理页:
struct page{
unsigned long flags;
atomic_t _count;
atomic_t _mapcount;
unsigned long private;
struct address_space *mapping;
pgoff_t index;
struct list_head lru;
void *virtual;
};
flag
域用于存放页的状态_count
域存放页的引用计数,当减为-1时,说明内核没有引用这一页,在新的分配中可以使用它。内核不应该直接检查它,而是调用page_count()
来检查。virtual
域是页的虚拟地址