赞
踩
缺页中断就是要访问的页不在主存,需要操作系统将其调入主存后再进行访问。在这个时候,被内存映射的文件实际上成了一个分页交换文件。
一句话概括:当前虚拟地址要找的数据不在物理内存中
进程运行过程中,如果发生缺页中断,而此时内存中有没有空闲的物理块是,为了能够把所缺的页面装入内存,系统必须从内存中选择一页调出到磁盘的对换区。但此时应该把那个页面换出,则需要根据一定的页面置换算法(Page Replacement Algorithm)来确定。
物理块+页面置换次数
题目如下:
把内存中驻留时间最久的页面置换算法予以淘汰
例子:
在分页中,采用FIFO页面置换算法,序列 1、3、2、1、2、1、5、1、2、3,当物理块为3时,计算缺页次数和缺页率?
算法执行如下操作步骤:
总共进行了三次页面置换,所以缺页数=3+3=6,缺页率为6/10=0.6;
优点:先进先出算法实现简单,是最直观的一个算法
缺点:性能最差,可能出现Belady 异常:当所分配的物理块数增大而页故障数不减反增的异常现象
选择最近且最久未被使用的页面进行淘汰
例子:
在分页中,采用LRU页面置换算法,序列 1、3、2、1、2、1、5、1、2、3,当物理块为3时,计算缺页次数和缺页率?
算法执行如下操作步骤:
总共进行了两次页面置换,所以缺页数=3+2=5,缺页率为5/10=0.5;
优点:LRU性能较好,但需要寄存器和栈的硬件支持。LRU是堆栈类的算法。理论上可以证明,堆栈类算法不可能出现Belady异常。FIFO算法基于队列实现,不是堆栈类算法。
当要调入一页而必须淘汰旧页时,应该淘汰以后不再访问的页,或距现在最长时间后要访问的页面,即被淘汰页面是以后永不使用或最长时间内不再访问的页面。
例子:
在分页中,采用OPT页面置换算法,序列 1、3、2、1、2、1、5、1、2、3,当物理块为3时,计算缺页次数和缺页率?
算法执行如下操作步骤:
总共进行了两次页面置换,所以缺页数=3+2=5,缺页率为5/10=0.5;
如有错误,欢迎指正!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。