一、快表

  为了解决虚拟地址到物理地址的转换速度,操作系统在 页表方案 基础之上引入了 快表 来加速虚拟地址到物理地址的转换。我们可以把快表理解为一种特殊的高速缓冲存储器(Cache),其中的内容是页表的一部分或者全部内容。作为页表的 Cache,它的作用与页表相似,但是提高了访问速率。由于采用页表做地址转换,读写内存数据时 CPU 要访问两次主存。有了快表,有时只要访问一次高速缓冲存储器,一次主存,这样可加速查找并提高指令执行速度。

  使用快表之后的地址转换流程是这样的:

  1. 根据虚拟地址中的页号查快表;
  2. 如果该页在快表中,直接从快表中读取相应的物理地址;
  3. 如果该页不在快表中,就访问内存中的页表,再从页表中得到物理地址,同时将页表中的该映射表项添加到快表中;
  4. 当快表填满后,又要登记新页时,就按照一定的淘汰策略淘汰掉快表中的一个页。

注:这种缓存的思路与redis是很像的。

二、多级页表

  使用多级页表可以压缩页表占用的内存

  每个进程都有4GB的虚拟地址空间,而显然对于大多数程序来说,其使用到的空间远未达到4GB。

  一级页表覆盖了整个4GB虚拟地址空间,但如果某个一级页表的页表项没有被用到,也就不需要创建这个页表项对应的二级页表了,即可以在需要时才创建二级页表,明显比单级页表省了很多占用内存。

  我们把二级页表再推广到多级页表,就会发现页表占用的内存空间更少了,这一切都要归功于对局部性原理的充分应用。

操作系统基础(八)快表和多级页表相关推荐

  1. 虚拟内存,页表,快表,多级页表,倒排页表

    虚拟内存 尽管基址寄存器和界限寄存器可以用于创建地址空间的抽象,还有另一个问题需要解决:管理软件的膨胀(bloatware).虽然存储器容量增长快速,但是软件大小的增长更快.需要运行的程序往往大到内存 ...

  2. 操作系统的内存管理机制(连续分配管理、页式、段式、段页式、快表、二级页表)

    来源:https://www.bilibili.com/video/BV1YE411D7nH 操作系统的内存管理机制(连续分配管理.页式.段式.段页式.快表.二级页表) 内存被分为系统区和用户区,系统 ...

  3. 干货!操作系统基础知识汇总!转给要面试的同学吧

    作者:Guide哥 来源:公众号 JavaGuide 很多读者抱怨计算操作系统的知识点比较繁杂,自己也没有多少耐心去看,但是面试的时候又经常会遇到.所以,我带着我整理好的操作系统的常见问题来啦!这篇文 ...

  4. 18.多级页表与快表

    [README] 1.本文内容总结自 B站 <操作系统-哈工大李治军老师>,内容非常棒,墙裂推荐: 2.操作系统内存管理:分页机制+多级页表+快表来实现: [0]分页的问题 1)分页的问题 ...

  5. 【学习笔记】第三章——内存 II(分页存储、快表与局部性原理、两级页表)

    文章目录 一. 分页存储概念 二. 地址转换 1)为什么页面大小为2的次幂? 三. 页表 1)页表项长度.页号"隐含" 四. 局部性原理与快表 五. 二级页表 1)单级页表存在的问 ...

  6. 【操作系统基础】页表 快表 多级页表

    文章目录 页表 页面的大小 页表特性 PTBR--寄存器 快表 TLB 命中率 基于页表的保护与共享 多级页表 页表 为什么说分页的逻辑地址是一维的地址: 从下图我们可以看出,把一个程序分为等大的页面 ...

  7. 操作系统(九) -- 多级页表与快表

    文章目录 单级页表的缺点 多级页表的提出 第一种尝试:页表里面只存放用到的页 第二种尝试:多级页表,页目录表+页表 多级页表的缺点 相连快速存储TLB(快表) 小结 参考资料 单级页表的缺点 前面说了 ...

  8. 操作系统-内存管理(快表的地址变换机构,两级页表,虚拟内存的基本概念,基本页式管理下的页表和页面置换算法)

    文章目录 1.快表地址变换机构 2. 两级页表 3. 虚拟内存的基本概念 基本分页存储管理 1.快表地址变换机构 快表,又称联想寄存器(TLB,translation lookaside buffer ...

  9. 操作系统(day11)--快表,两级页表

    具有快表的地址变换机构 时间局限性:会有大量连续的指令需要访问同一个内存块的数据的情况(程序中的循环) 空间局限性:一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也很有可能被访问.(因为很多 ...

  10. 【操作系统/计组】页面大小 与 页表项 ( 二级页表 、多级页表 )

    [操作系统/计组]页面大小 与 页表项 结论1(一级页表) 结论2(二级.多级页表) 例题 首先,不论一级页表还是多级页表: 页面大小 = 2^(页内地址位数) 页号有多少,页就有多少个 用于存放页的 ...

最新文章

  1. 2020年奇安信校招JAVA岗笔试
  2. The Pilots Brothers' refrigerator - poj 2965
  3. openwrt dhcp 无法获取ip_电脑的 ip 是怎么来的呢?我又没有配置过
  4. ann2snn的代码分析
  5. 公众号菜单 点击推送图片素材_公众号菜单栏如何设置
  6. Linux-socket使用
  7. 威纶和s7200通讯线_威纶触摸屏如何与西门子PLC进行通信,教你两种方法吧!
  8. 智能手机屏幕尺寸和分辨率一览表
  9. Configured.java
  10. ie不支持includes_IE11 – 对象不支持属性或方法“includes” – javascript window.location.hash...
  11. Manjaro 20 安装/切换中文输入法
  12. 为什么苹果蓝牙耳机连上还是公放_高版本AirPods无线蓝牙耳机二代、三代开团啦!...
  13. 端到端机器学习_使用automl进行端到端的自动化机器学习过程
  14. DSOX2022A示波器的使用
  15. 2020-09-28
  16. [项目管理-33]:需求管理与范围管理的异同
  17. Cisco Nexus vPC之Sticky Master
  18. 【Linux修炼】2.常见指令(中)
  19. 【无标题】鸿蒙培训1
  20. 调用matlab dll报错,c#调用MATLAB的dll时出错

热门文章

  1. java+vue+onlyoffice的简单集成
  2. linux重置ilo,重启HPE管理芯片ILO5的5种方法(Reset ilo)
  3. c语言常用延时程序,新手常用单片机延时程序
  4. 网页学习教程视频百度云下载,程序学习教程视频百度云下载(讲解非常的细,适合刚学习程序人员,从前端到后端都有,全看完你就是一名程序猿)
  5. Flutter获取网络图片:The following SocketException was thrown resolving an image codec:
  6. 快狗打车冲击港股,同城货运的战役才刚刚开始
  7. Jira 和 国内替代品TAPD的对比
  8. 简单的介绍一下腾讯的TAPD
  9. 职场险恶,程序员看完都惊呆了
  10. ocr---训练自己的数据实现文本检测(kears实现east网络)