美文网首页
两级页表

两级页表

作者: 我是聪 | 来源:发表于2021-07-18 03:48 被阅读0次

两级页表

单级页表存在的问题

问题

  • 单个进程的页表占据的内存空间过大,32位的4K页面,页表项长度为4B,也表要占据4M连续内存
  • 进程在一段时间内只访问几个页面,没有必要让整个页表都常驻内存

解决方案

  • 将页表进行分组

    • 每个内存块刚好放入一个分组(页大小4KB,每个页表项4B,每个页面存放1K个页表项)
    • 将各个组离散地存放到各个内存块中
  • 建立一张页目录表

    • 为离散分配的页表再建立一张页表

二级页表

image.png

步骤

  • 按照地址结构将逻辑地址拆分成三部分

  • 从PCB中读出页目录表起始地址

    • 根据一级页号查找页目录表
    • 找到下一级页表在内存中的存放位置
  • 根据二级页号查表,找到最终想访问的内存块号

  • 结合页内偏移量得到物理地址

注意

  • 采用多级页表机制,各级页表的大小不能超过一个页面

  • 两级页表的访存次数分析(假设没有快表机构)

    • 第一次访问内存

      • 访问内存中的页目录表
    • 第二次访问内存

      • 访问内存中的二级页表
    • 第三次访问内存

      • 访问目标内存单元

相关文章

  • 两级页表

    本文是在基本分页存储管理的基础上对分页管理的优化。在上篇文章中说到,操作系统会为每个进程建立一张页表,实现页号和内...

  • 两级页表

    两级页表 单级页表存在的问题 问题 单个进程的页表占据的内存空间过大,32位的4K页面,页表项长度为4B,也表要占...

  • 01-表和索引的结构

    一、表和索引是如何组织和使用 1、索引页和表页 表和索引行都存储在 页 中 页的大小可调 页的大小仅仅决定一个页可...

  • 第14期:数据页合并

    MySQL InnoDB 表数据页或者二级索引页(简称数据页或者索引页)的合并与分裂对 InnoDB 表整体性能影...

  • 页表和缺页中断

    虚拟内存空间的物理根本可以说就是页表了,没有页表虚拟地址空间是无法幻化出让人眼花缭乱的变化。 页表的样子 当然,页...

  • chrome tab键切换快捷键

    ctrl+1234678切换标签页1234678代表1234678页,9代表是最后一页面,ctrl+5(当前页强制...

  • 第3章 页表机制

    页表机制做了哪些事? 页表确定了什么是内存地址,以及可访问哪些部分的物理内存。 页表机制实现了哪些目标? 操作系统...

  • 64-bit kernel 4级页表 、5级页表 & 地址计算

    关于4级页表、5级页表 硬件检查:如果存在la57的flag,则表示该平台硬件上支持5级页表特性 内核检查:查看内...

  • 食材B2B商品页层级问题

    上次与人聊天,对方问到:中小餐馆购买食材,为何需要两级商品页而非只要一级商品列表页?特别对于天天下单、已经熟悉商品...

  • 操作系统简明-5.1页表 干货整理

    页表结构 在现实中,页表存在物理内存里,因此这里就衍生了一系列问题,页表占多大内存?怎么管理这些内存? 问题:开始...

网友评论

      本文标题:两级页表

      本文链接:https://www.haomeiwen.com/subject/axunpltx.html