Linux操作系统 - 浅析分页机制

在想看下共享内存如何实现的时候,刚好想了解一下内存使用情况。

简介

分页机制让我们在程序开发的时候不需要管理内存的,也不需要操心内存够不够用它是实现虚拟存储的关键,位于线性地址与物理地址之间。

  • 整个主内存区域划分成 4096 字节(4k)为一页的内存页面
  • 程序申请使用内存时,就以内存页为单位进行分配
  • 通过页目录表PDE和二级页表PTE实现转换

    • 进程的虚拟地址需要首先通过其局部段描述符变换为 CPU 整个线性地址空间中的地址
    • 然后再使用页目录表 PDE(一级页表)和页表 PTE(二级页表)映射到实际物理地址页上

      页表中,每项的大小是32b,其中20b用来存放页面的物理地址,12b用于存放属性信息。页表含有1M个表项,每项4B。第一级表是页目录,存放在1页4k页面中,含有1K个表项。第二级是页表,也是1K个表项
      

      这里写图片描述

总结

  1.分页的作用,高效率地利用内存,可以运行比物理内存空间更大的程序;

  2.分页机制的原理,利用两级页表将内存分割成4KB/页的大小,强制内存对齐提高效率;

  3.页表结构,PDE与PTE在内存中各个位的主要作用,表项与页之间的对应关系。

猜你喜欢

转载自blog.csdn.net/Fourier_Legend/article/details/82699190
今日推荐