linux页面管理

前言

这里很复杂,并且这里为了进程的稳定之类的,并且包括进程资源的平均之类的东西,每种装填的处理我也没研究特别清楚,这里仅仅记录下一些思路,具体问题我不在过分解析,

正文

这里先说下页面管理的装填,这里写图片描述
这里仅仅写出了四个队列,可是还有一个结构专门用来管理用于交换的page,这里不在详细说明,
主要介筛下,关于空闲队列,在分配时候有几个问题,在分配一个页面的时候,我们知道inactive_clean_list,也可以,但是,在需要分配几个页面的时候,就会遇到麻烦,因为一般我们需要几个连续的页面(虽说我们虚存可以改变地址映射)。第二关于分配多个连续页面时候,这里的连续的仓库的分配是一个很有意思的解决办法,专门有个数组,大小是10,里面盛放2^n的连续的页面。然后可以统一管理。
关于activity_list转化到inactive_dirty_list.这里通过函数refill_inactive()来实现。这里实现很复杂,他是依次试图从每个进程中,换出一些页面,然后轮流换出一遍,这里仅仅是转到inactive_dirty_list,并且没有转入到inactive_clean_list。然后通过page_launder()来转入到inactive_clean_list。当然在这之前,我们会通过一个更加简单操作,是吧inactive_dirty_list直接转入到到空闲队列,
至于从交换区转入内存,这里通过页面议程的page_falct()函数来实现的,这里流程比较简单,不在详细介绍。
page_launder()其中有吧页面保存到swap的能力

后记

这里函数实现比较复杂,我c语言语法也不太好,看的比较迷茫,并且也不是很想整理这些内容。不过整体思路还是比较简单,这里不在过多话费时间,以后有机会我自己研究下最新版本,更加实用!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值