美文网首页
页面置换算法

页面置换算法

作者: 奋斗live | 来源:发表于2018-06-17 15:11 被阅读0次

在地址映射时,如果刚好CPU执行一个指令,需要用到该指令中的虚拟地址中对应的物理地址,但是该虚拟地址没有对应的物理地址的映射,则会让cpu产生一个缺页中断。操作系统必须在内存中选择一个页面将其换出内存,以便为即将调入的页面腾出空间,如果要换出的页面在内存驻留期间已经被修改过,就必须把它写回磁盘以更新该页面在磁盘上的副本,如果该页面没有被修改过,那么就不用回写。在这里,有以下几个算法来选择需要淘汰的页面。

假设系统为进程分配了三个物理块,访问页面顺序如下,
7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1

1、最佳置换算法(最优页面置换算法,Optimal,OPT)

在内存中,总是移除那些不可能用到的页面,如果没有这样的页面,则总是移除最长时间不需要访问的页面。如下图,


image.png

发生缺页中断次数为9,页面置换次数为6

2、先进先出置换算法(FIFO)

由操作系统维护一个所有当前在内存中的页面的链表,最新进入的页面放在表尾,最久进入的页面放在表头。当缺页中断发生时,淘汰表头的页面并把最新调入的页面加到表尾。如下图


image.png

发生缺页中断次数为15,页面置换次数为12

3、最近最久未使用算法(LRU)

这种算法的基本思想是:利用局部性原理,根据一个作业在执行过程中过去的页面访问历史来推测未来的行为。它认为过去一段时间里不曾被访问过的页面,在最近的将来可能也不会再被访问。所以,这种算法的实质是:当需要淘汰一个页面时,总是选择在最近一段时间内最久不用的页面予以淘汰。如下图:


image.png

发生缺页中断次数为12,页面置换次数为9

相关文章

  • 页面置换算法之LRU算法

    一.页面置换算法 三种常见的页面置换算法:FIFO、LFU、LRU参考:缓存算法(页面置换算法)-FIFO、LFU...

  • 基于虚拟存储区和内存工作区的页面置换算法

    一 需求分析 编写程序实现: 先进先出页面置换算法(FIFO) 最近最久未使用页面置换算法(LRU) 最佳置换页面...

  • 【操作系统,进程,多线程】

    1.内存的页面置换算法 (1)最佳置换算法(OPT)(理想置换算法):从主存中移出永远不再需要的页面;如无这样的...

  • 2018-05-21

    OS学习周报告-3 页面置换算法模拟-FIFO 页面置换算法是虚拟内存技术中重要的技术之一,该算法是在搜索页表发生...

  • 虚拟存储器的页面置换算法

    最佳置换算法 OPT 选择永远不再需要的页面或最长时间以后才需要访问的页面予以淘汰。 先进先出置换算法 FIFO ...

  • 基于JAVA实现的图形化页面置换算法

    最佳页面置换算法 思想: 最佳页面置换算法所选择的被淘汰页,将是以后永不使用的,或许是在最长时间内不再被访问的页面...

  • [源码和文档分享]基于JAVA实现的图形化页面置换算法

    最佳页面置换算法 思想: 最佳页面置换算法所选择的被淘汰页,将是以后永不使用的,或许是在最长时间内不再被访问的页面...

  • 4-1.页面置换算法

    ① 判断置换算法好坏的标准: 具有较低的页面置换频率。 ② 内存抖动: 页面的频繁更换,导致整个系统效率急剧下降,...

  • 页面置换算法

    页面置换算法 当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便...

  • 页面置换算法

    在地址映射时,如果刚好CPU执行一个指令,需要用到该指令中的虚拟地址中对应的物理地址,但是该虚拟地址没有对应的物理...

网友评论

      本文标题:页面置换算法

      本文链接:https://www.haomeiwen.com/subject/otfcqftx.html