物理内存分配与回收(5)之交换机制

      当物理内存出现不足时,Linux内存管理子系统需要释放部分物理页面内存。这一人任务由内核的交换守护进程kswapd完成,该内核守护进程实际是一个内核线程,它在内核初始化时启动,并周期的运行。就是为了保证系统中具有足够的空闲页面,从而使内存管理子系统能够正常运行法。

一.交换的基本原理

      在计算机技术的发展史上很早就有了把内存的内容与一个专用的磁盘空间交换技术,在Linux中,把用作交换的磁盘空间叫交换文件或交换区。

      当空闲内存数量小于一个固定的极限值时,就执行换出操作。换出操作包含把进程的整个地址空间拷贝到磁盘上。反之,当调度算法选择出一个进程时,整个进程又被从磁盘中交换出来。但是在现在,交换的单位是页面而不是进程。但交换还是需要付出一定的代价,尤其是时间的代价。页面交换是不得已而为之,因为页面交换用时间交换空间,所以在时间要求比较紧急的实时系统中,是不宜采用页面交换机制的。因为这一点,所以Linux给用户提供了一种选择,可以通过命令或系统调用开启或关闭交换机制。

     在页面交换中,页面置换算法是影响交换性能的关键性指标,其复杂性主要与换出有关。

     我们在这里所提到的页或页面指的是其中存放的数据,所谓页面的换入换出实际上是指页面中数据的换入换出。

1.那种页面被换出

     实际上,交换的最终目的是页面的回收。而在内存中并非所有的页面都是可以被换出的,只有与用户空间建立映射的页面才会被换出,而内核空间中内核所占的页面则常驻页面。

    可以把用户空间中的页面按其内容和性质分为以下几种。

(1)进程映像所占的页面,包括进程的代码段,数据段,堆栈段以及动态分配的“存储堆”。(进程的代码段

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值