内存管理笔记八、页面置换算法

内存管理笔记八、页面更换算法引言:在第七篇内存管理笔记,有介绍到分页的内存管理。其克服了外部碎片、程序不能大于物理内存等缺点。本篇笔记将简单介绍常见的页面更换算法思想。内存管理笔记八、页面更换算法一、页面需更换的原因二、页面更换期待达到的目标三、常见算法的思想3.1、随机更换算法3.2、先进先出算法(FIFO)3.3、第二次机会算法3.4、时钟算法3.5、最优更...
摘要由CSDN通过智能技术生成

内存管理笔记八、页面更换算法

引言:第七篇内存管理笔记,有介绍到分页的内存管理。其克服了外部碎片、程序不能大于物理内存等缺点。本篇笔记将简单介绍常见的页面更换算法思想。


一、页面需更换的原因

  在交换系统下,一个程序作为一个整体加载到内存。因此,在运行时,无需从磁盘上加载任何东西。而分页系统下,一个程序的所有页面并不一定都在内存中,因此,在执行的过程中有可能发生页面不在内存的情况。
  如果访问的页面不在内存中,则系统将产生缺页中断。缺页中断服务将负责把磁盘上的数据加载到物理内存中来。如果物理内存还有空闲空间,那就直接使用空闲的页面。但如果空闲页面已满,则需要挑选某个已经使用过的页面进行替换。


二、页面更换期待达到的目标

  如果挑选的页面是之后很快又要被访问的页面,那么系统将很快再次产生缺页中断。因为磁盘的访问速度远远低于内存的访问速度,缺页中断的代价是非常巨大的。因此,挑选哪个页面进行更换是有要求的
  页面更换时挑选页面的目标是什么呢?当然还降低随后发生缺页中断的次数或者频率。因此,我们选择的页面应当是随后相当长时间内不会被访问的页面。


三、常见算法的思想
3.1、随机更换算法

  最不负责任的算法是随机更换算法,在需要更换页面的时候,产生一个随机页面号,而替换与该页面号对应的物理页面号。这种算法计算需要替换页面号时速度很快,但是难以最小化随后缺页中断次数。

3.2、先进先出算法(FIFO)

  先进先出的实现机制是使用链表将所有在内存的页面按照进入时间的早晚,链接起来,然后每次置换链表头上的页面就行了,新加进来的页面则挂在链表的末端。在下图1中,如果下次需要寻找页面来替换,A将成为替换页面。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值