• 操作系统-内存换出


    有换入就应该有换出

    1. get_free_page ?

    2. FIFO页面置换

    D换A不合适,因为接下来A也要进行使用,所以应该换最近用不到的C合适

    3. MIN页面置换

    4. LRU页面置换

    5. LRU的准确实现,用时间戳

    A是第一个时刻使用,B是第二个时刻使用,C是第三个时刻使用,然后又是A第四个时刻使用,然后是B第五个时刻使用,此时对应的是A:4、B:5、C:3

    接下来D来了,看哪一个数值最小就换出,所以D换入为6,C换出

    接下来过程类似

    6. LRU准确实现,用页码栈

    7. LRU近似实现-将时间计数变为是和否

    每次访问一页时,硬件自动设置该为1

    当选择淘汰页的时候,扫描该位,发现是1就清0,并向下继续扫描,当发现是0的时候就淘汰

    8. Clock算法的分析与改造

    也就是缺页很少的情况下,每个页都访问过,所有的R=1,此时再淘汰页的时候需要扫描一圈,把R=1置换为R=0,然后淘汰当前指针指的那一页,这样就退化成了FIFO

    所以再引入一个指针,速度快的用于清除R位


    9. 小结

    实现换入换出为了实现虚拟内存,

    实现虚拟内存为了实现段页结合,

    实现段页结合为了实现操作系统管理内存

    实现管理内存为了实现程序能够载入执行

    程序执行就是实现进程

  • 相关阅读:
    使用Post方法模拟登陆爬取网页
    微信公众号开发
    一致哈希
    两阶段提交协议、三阶段提交协议
    自动化部署脚本
    zabbix邮件报警
    Paxos算法
    MVC 全局异常处理及禁用显示头
    弹出层或者下拉菜单被下面的 层遮挡住了解决办法
    Bootstap datetimepicker报错TypeError: intermediate value(转)
  • 原文地址:https://www.cnblogs.com/mengd/p/12634480.html
Copyright © 2020-2023  润新知