阅读 14

前端--由于页面淘汰导致的缺页中断计算

问题:

由于内存容量限制,页面的页数超过容量后就会进行页面淘汰。常见的页面淘汰机制有FIFO(First In First Out)和LRU(Latest Recently Used),当执行了页面淘汰算法之后就会造成缺页。

例子:

需要访问的页面顺序为:1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5。 条件是内存的容量限制为3,所以如果进行FIFO和LRU页面淘汰算法对页面进行超容量淘汰, 出现的缺页次数分别为?

思路:

  1. FIFO: 由于FIFO是和队列一样的先进先出原则:

    • 一旦来了新页面而且在内存中不存在,队首的页面被淘汰。
    • 一旦来了新页面但是页面在内存中存在,页面结构不改变。
    • 每次内存中出现了页面变动,缺页数+1。

    页面访问过程如下:

    1(缺页), 12(缺页), 123(缺页), 234(缺页), 341(缺页), 412(缺页), 125(缺页), 125(不缺页), 125(不缺页), 253(缺页), 534(缺页), 534(不缺页)

    缺页概率: 9/12

  2. LRU: 由于LRU是最近最少使用原则:

    • 一旦来了新页面而且在内存中不存在,队首的页面被淘汰。
    • 一旦来了新页面但是页面在内存中存在,将这个存在的页面调整到队末,此时不算缺页中断。

    页面访问过程如下:

    1(缺页), 12(缺页), 123(缺页), 234(缺页), 341(缺页), 412(缺页), 125(缺页), 251, 512, 123(缺页), 234 (缺页), 345(缺页)

    缺页概率: 10/12

关注下面的标签,发现更多相似文章
评论