深入浅出内存管理--页描述符(Page)

内核中采用struct page来描述物理内存页,它的主要成员如下(非全部成员):

  • unsigned long flags;
    标志位,内核中每个page的状态可以由此标志位来表示,列举几个标志位:
PG_locked 页被锁定,比如在磁盘I/O操作中涉及到的页,不能被页框回收算法回收。
PG_reserved 页留给内核代码或者没有使用,这种页是不受内存管理系统用于分配的,所以不能被回收算法回收。
PG_dirty 表示页已经被修改
PG_lru 页在活动或者非活动页链表中
PG_active 页在活动页链表中
  • atomic_t _count;
    页被引用的计数器,如果为-1代表该页空闲,每被一个进程引用该计数器就加1。
  • atomic_t _mapcount;
    页框中的页表项计数,该成员在页框回收时会用到,用于反向映射查找并释放对应的页表项。
  • struct address_space* mapping;
    当页被作为“映射页”或者作为匿名页时使用。
  • struct list_head lru;
    这是一个链表头,用于把该页加入都lru(最近最少使用)链表中,作为页面回收时使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值