操作系统中的页面置换

历史

页面替换算法是1960年代和1970年代研究和辩论的热门话题。那主要是随着复杂的LRU(最近最少使用)的近似和工作集算法的发展而告终。从那时起,传统的页面替换算法所做的一些基本假设就失效了,从而导致了研究的复兴。特别是,基础硬件和用户级软件的以下行为趋势已影响页面替换算法的性能:

  • 主存储的大小增加了多个数量级。有了几GB的主内存,要求定期检查每个内存帧的算法变得越来越不实用。
  • 内存层次结构越来越高。CPU缓存未命中的代价要昂贵得多。这加剧了先前的问题。
  • 用户软件的引用位置已减弱。这主要归因于支持大量小功能的面向对象编程技术的普及,使用复杂的数据结构(如树和哈希表)会导致混乱的内存引用模式,以及垃圾收集方式的彻底改变。应用程序的内存访问行为。

由于操作系统内核体系结构的差异,页面替换算法的要求已更改。特别是,大多数现代OS内核具有统一的虚拟内存和文件系统缓存,需要页面替换算法从用户程序虚拟地址空间和缓存文件的页面中选择一个页面。后面的页面具有特定的属性。例如,它们可以被锁定,或者可以具有由日记记录强加的写顺序要求。此外,由于页替换的目的是使等待内存的总时间最小化,因此必须考虑分配内存的其他内核子系统对内存的要求。结果,现代内核(Linux,FreeBSD中的页面替换和Solaris)倾向于在通用内核内存分配器级别上工作,而不是在虚拟内存子系统的更高级别上工作。

简介

在计算机操作系统使用分页的虚拟内存管理,页面置换算法决定哪些内存页被换出,或写入到磁盘上,当一个页面被分配的内存需求。
当请求的页面不在内存中时发生页面替换(页面错误),并且空闲页面不能用于满足分配,这是因为没有页面,或者因为空闲页面的数量低于某个阈值。
当再次选择被替换的页面并调出页面时,必须将其调入页面(从磁盘读入),这涉及等待I / O完成。这决定了页面替换算法的质量:等待页面插入的时间越短,算法越好。页面替换算法查看有关硬件提供的页面访问的有限信息,并尝试猜测应该替换哪些页面以最大程度地减少页面遗漏的总次数,同时用成本(主存储和处理器时间)平衡算法本身。
从竞争分析的角度来看,页面替换问题是一个典型的在线问题,从某种意义上说,最佳确定性算法是已知的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值