zoukankan      html  css  js  c++  java
  • FIFO、LRU、OPT页面调度算法及样例

    网上非常多介绍3种页面置换算法的样例和过程是不对的, 本文依据《操作系统概念》第七版对三种算法做介绍,并给出正确的样例以验证算法。


    一、FIFO先进先出页面置换算法,创建一个FIFO队列来管理内存中的全部页。

    在计算缺页率的时候最好把每一次页面调度的队列写出来,这样不easy出错。

    以下举例说明:

    如果页帧为3,引用串为:7,0,1,2,0。3,0,4,2


    页面走向:7。0。1,2。0,3。0,4,2。

                   -----------------------------------------------

    物理页:   7,7。7,2,2,2,2,4。4,

                           0,0,0。0,3,3,3,2,

                                 1。1,1。1,0,0,0。


    FIFO队列:7, 7。7,0。0,1,2,3。0,

                           0,0。1,1。2,3。0,4。

                                 1。2,2,3,0,4,2,

    首先7,0,1页面依次进入页帧,队列变为7,0,1,下一个引用2要调入。则队列头部的7出队。队列变为0,1,2,物理页内将7换成2。下一个引用0调入,已经存在页帧中。队列不变。下一个3调入,队列头的0出队,3入队列尾,队列变为1,2,3。页帧将0变为3。

    后面同理依次进行。


    二、LRU是Least Recently Used 最近最少使用算法 ( 待更新 )


    三、OPT是最佳页面替换算法(待更新)



    以下举一些样例及答案,可依据上述算法验证调度算法的正确性。


    1、在一个请求分页系统中,假如一个作业的页面走向为:1,2,3。6,4,7。3。2,1,4,7,5,6,5,2,1。当分配给该作业的物理块数为4时,分别採用最佳置换算法、LRU和FIFO页面置换算法,计算訪问过程中所发生的缺页次数和缺页率。

    答:最佳置换算法的情况例如以下表

    页面走向

    1

    2

    3

    6

    4

    7

    3

    2

    1

    4

    7

    5

    6

    5

    2

    1

    物理页0

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    物理页1

     

    2

    2

    2

    2

    2

    2

    2

    2

    2

    2

    2

    2

    2

    2

    2

    物理页2

     

     

    3

    3

    3

    3

    3

    3

    3

    4

    4

    5

    5

    5

    5

    5

    物理页3

     

     

     

    6

    4

    7

    7

    7

    7

    7

    7

    7

    6

    6

    6

    6

    缺页否

    Y

    Y

    Y

    Y

    Y

    Y

    N

    N

    N

    Y

    N

    Y

    Y

    N

    N

    N

    缺页次数为9。缺页率为9/16


    LRU算法的情况例如以下表:

    页面走向

    1

    2

    3

    6

    4

    7

    3

    2

    1

    4

    7

    5

    6

    5

    2

    1

    物理页0

    1

    1

    1

    1

    4

    4

    4

    4

    1

    1

    1

    1

    6

    6

    6

    6

    物理页1

     

    2

    2

    2

    2

    7

    7

    7

    7

    4

    4

    4

    4

    4

    2

    2

    物理页2

     

     

    3

    3

    3

    3

    3

    3

    3

    3

    7

    7

    7

    7

    7

    1

    物理页3

     

     

     

    6

    6

    6

    6

    2

    2

    2

    2

    5

    5

    5

    5

    5

    缺页否

    Y

    Y

    Y

    Y

    Y

    Y

    N

    Y

    Y

    Y

    Y

    Y

    Y

    N

    Y

    Y

    缺页次数为14,缺页率为14/16

    FIFO算法的情况例如以下表:

    页面走向

    1

    2

    3

    6

    4

    7

    3

    2

    1

    4

    7

    5

    6

    5

    2

    1

    物理页0

    1

    1

    1

    1

    4

    4

    4

    4

    4

    4

    4

    5

    5

    5

    5

    5

    物理页1

     

    2

    2

    2

    2

    7

    7

    7

    7

    7

    7

    7

    6

    6

    6

    6

    物理页2

     

     

    3

    3

    3

    3

    3

    2

    2

    2

    2

    2

    2

    2

    2

    2

    物理页3

     

     

     

    6

    6

    6

    6

    6

    1

    1

    1

    1

    1

    1

    1

    1

    缺页否

    Y

    Y

    Y

    Y

    Y

    Y

    N

    Y

    Y

    N

    N

    Y

    Y

    N

    N

    N

    缺页次数为10,缺页率为10/16


    二、在一个请求分页系统中,假如一个作业的页面走向为:4,3,2,1,4,3,5,4,3,2,1,5。当分配给该作业的物理块数M4,分别採用最佳置换算法、LRUFIFO页面置换算法,计算訪问过程中所发生的缺页次数和缺页率。

    答:最佳置换算法的情况例如以下表:

    页面走向

    4

    3

    2

    1

    4

    3

    5

    4

    3

    2

    1

    5

    物理页0

    4

    4

    4

    4

    4

    4

    4

    4

    4

    4

    1

    1

    物理页1

     

    3

    3

    3

    3

    3

    3

    3

    3

    3

    3

    3

    物理页2

     

     

    2

    2

    2

    2

    2

    2

    2

    2

    2

    2

    物理页3

     

     

     

    1

    1

    1

    5

    5

    5

    5

    5

    5

    缺页否

    Y

    Y

    Y

    Y

    N

    N

    Y

    N

    N

    N

    Y

    N

    缺页次数为6,缺页率为6/12

    LRU置换算法的情况例如以下表:

    页面走向

    4

    3

    2

    1

    4

    3

    5

    4

    3

    2

    1

    5

    物理页0

    4

    4

    4

    4

    4

    4

    4

    4

    4

    4

    4

    5

    物理页1

     

    3

    3

    3

    3

    3

    3

    3

    3

    3

    3

    3

    物理页2

     

     

    2

    2

    2

    2

    5

    5

    5

    5

    1

    1

    物理页3

     

     

     

    1

    1

    1

    1

    1

    1

    2

    2

    2

    缺页否

    Y

    Y

    Y

    Y

    N

    N

    Y

    N

    N

    Y

    Y

    Y

    缺页次数为8,缺页率为8/12

    FIFO算法的情况例如以下表:

    页面走向

    4

    3

    2

    1

    4

    3

    5

    4

    3

    2

    1

    5

    物理页0

    4

    4

    4

    4

    4

    4

    5

    5

    5

    5

    1

    1

    物理页1

     

    3

    3

    3

    3

    3

    3

    4

    4

    4

    4

    5

    物理页2

     

     

    2

    2

    2

    2

    2

    2

    3

    3

    3

    3

    物理页3

     

     

     

    1

    1

    1

    1

    1

    1

    2

    2

    2

    缺页否

    Y

    Y

    Y

    Y

    N

    N

    Y

    Y

    Y

    Y

    Y

    Y

    缺页次数为10,缺页率为10/12




  • 相关阅读:
    FastAPI 学习之路(十九)处理错误
    FastAPI 学习之路(二十六)全局依赖项
    FastAPI 学习之路(二十)接口文档配置相关
    FastAPI 学习之路(二十二)依赖项
    FastAPI 学习之路(二十一)请求体 更新数据
    FastAPI 学习之路(二十四)子依赖项
    Never worry about ASP.NET AJAX’s .d again
    Java C格式输入利用printf函数
    Oracle正则表达式函数
    javascript 事件驱动编程【转(原文为“事件驱动的javascript”)】
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7294235.html
Copyright © 2011-2022 走看看