操作系统--内存管理之页替换策略

操作系统–内存管理之页替换策略

内存管理使用分页机制时,将逻辑地址分成若干固定大小的页,并不是所有逻辑页对应的物理页都存在与内存中,有些可能会存放在硬盘中,这样做的好处是超越了实际物理内存大小限制,对于暂时不需要用到的页块不加载进内存也减缓了内存的压力。

页替换策略

希望做到的是尽然较少页快被访问时是出于硬盘当中,需要临时加载进内存,因为访问硬盘性能开销太大

只有当某个存在硬盘的页快需要加载进入内存,且此时内存已满时才考虑相应的页替换策略

最优假设

做优的策略是将最晚才会用到的页块换出,这样能保证换出的页块内的内容最近不会被访问

但是很显然是几乎不可能实现的 因为不知道具体那块才是最晚才会用到的

所以考虑页替换策略时都考虑效果能最接近最优加色

最近最少使用LRU

将最近最少使用的页块替换出内存

基于的是程序局部性原理
1:空间局部性,某个页快被访问 相邻的页快可能马上也被访问
2:时间局部性 某个页快被访问 很快可能会再次被访问

如何实现LRU?

需要在内存中维护一个链表,链表按照页面被访问的时间排序,最近的在表头 最晚的在表尾 这样开销太大

可以用过使用特殊的硬件来实现

1:每个页面设置一个移位寄存器
页面被访问时 高位设为1 隔一段时间将每个寄存器右移一位 需要页替换时将寄存器表示整数最小的换出
2:使用特殊栈保存页面号
最近使用的页面页面号放在栈顶 最久未使用的在底部

近似LRU

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值