Linux操作系统 - 浅析分页机制
程序员文章站
2022-05-29 07:53:43
...
在想看下共享内存如何实现的时候,刚好想了解一下内存使用情况。
简介
分页机制让我们在程序开发的时候不需要管理内存的,也不需要操心内存够不够用它是实现虚拟存储的关键,位于线性地址与物理地址之间。
- 整个主内存区域划分成 4096 字节(4k)为一页的内存页面
- 程序申请使用内存时,就以内存页为单位进行分配
-
通过页目录表PDE和二级页表PTE实现转换
- 进程的虚拟地址需要首先通过其局部段描述符变换为 CPU 整个线性地址空间中的地址
-
然后再使用页目录表 PDE(一级页表)和页表 PTE(二级页表)映射到实际物理地址页上
页表中,每项的大小是32b,其中20b用来存放页面的物理地址,12b用于存放属性信息。页表含有1M个表项,每项4B。第一级表是页目录,存放在1页4k页面中,含有1K个表项。第二级是页表,也是1K个表项
总结
1.分页的作用,高效率地利用内存,可以运行比物理内存空间更大的程序;
2.分页机制的原理,利用两级页表将内存分割成4KB/页的大小,强制内存对齐提高效率;
3.页表结构,PDE与PTE在内存中各个位的主要作用,表项与页之间的对应关系。