深入理解Linux内核-回收页框

本文介绍了Linux系统中页框回收算法(PFRA)的工作原理,包括如何选择目标页进行回收,以及通过反向映射技术来高效地管理页表项。此外还探讨了在内存不足时采取的不同策略,如周期性回收、删除程序和使用交换技术。
摘要由CSDN通过智能技术生成
Linux 系统在为用户态进程和内核分配动态内存的时候,所作的检查是马马虎虎的
对内核使用的许多磁盘高速缓存和内存高速缓存大小也同样不作限制。

页框回收算法(PFRA):
1、在所有内存使用完之前,就必须执行页框回收算法
2、选择目标页,它获取页框,并且使之空闲
3、候选回收页:任何属于磁盘和内存高速缓存的页,以及属于进程用户态地址空间的页
4、首先释放‘无害’页:先释放没有被任何进程使用的磁盘与内存高速缓存中的页
5、将用户态进程的所有页定为可回收页。
6、同时取消引用一个共享页框的所有页表项的映射,就可以回收改共享页框
7、只回收未用页。
8、LRU算法回收任何进程最旧页。

反向映射:
1、内核能快速定位到同一页框到所有页表项,就叫反向映射。
2、采用面向对象的反向映射技术

从目录项高速缓存回收页框
从索引节点高速缓存回收页框

周期回收:
1、

内存不足的时候删除程序:
1、尽管PFRA会尽量保留一定的空闲页框,但还是可能出现内存耗尽的情况,这个时候所有进程都无法执行,也就没有办法释放它门所拥有的页框

交换:
1、交换用来为非映射页在磁盘上提供备份
2、交换是页框回收的一个最高级特性。
3、交换可以用来扩展内存地址空间。虽然性能可能会慢几个数量级



交换子系统的功能:
1、在磁盘上建立交换区,用于存放没有磁盘映像的页
2、管理交换区空间,当需求发生时,分配与释放槽
3、提供函数用于从RAM中把页换出到交换区或从交换区换入到RAM
4、利用页表项(现已被换出的换出页页表项)中的换出页标识符跟踪数据在交换区中的位置。


交换区:
1、内存中换出的页存放在交换区中。
2、交换区可以是磁盘分区,可以是大型分区中的文件
3、最大个数通常为32个


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值