在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。
首先引用定义,当发生缺页中断时,虽可随机选择一个页面来置换,但如果每次都选择不常使用的页面会提升系统的性能。如果一个被频繁使用的页面被置换出内存,很可能它在很短时间内又要被调入内存,这会带来不必要的开销。
那么我们知道,,CPU从基地址寄存器中拿到了一级页表的地址,从地址结构中取出一级页表的页表号,找到二级页表的起始物理地址;然后结合地址结构中的中间10位(二级页表上的页表号),可以找到对应的框的起始地址,最后结合页内偏移量,就可以计算出最终目标的物理地址。
那么页面常用置换算法有什么呢?介绍2种,LRU和FIFO、
我在草稿纸上书写了一下FIFO和LRU,可以看到LRU在操作中,可以尽可能减少缺页中断,同样的232152453252的顺序,LRU减少了2次中断。