[051][x86汇编语言]16.1.2 层次化分页结构:页目录、页表、页

学习笔记

《x86汇编语言:从实模式到保护模式》
https://www.jianshu.com/p/d481cb547e9f

层次化分页结构

图16-6 页目录、页表和页的对应关系.png
  • 每个任务都可以有4GB的虚拟内存空间;
  • 4GB的虚拟内存空间,按照单个页4KB的大小来分,可以分出0x100000个页;
  • 映射表就需要有对应的0x100000个表项;
  • 每个表项大小是4字节(Byte),可知完整的一张映射表大小为4MB=0x100000 * 4字节
  • 分层结构的主要手段是不采用单一的映射表,而是使用页目录表页表
  • 随机选取1024个页,将它们的物理地址记录在一个页表里;
  • 每个页表里的页表项占用4字节,每张页表大小是4096字节=1024*4字节;
  • 有多少张页表?1024张0x100000 ÷ 1024 = 1024 ;
  • 1024张页表的物理地址又被集中记录在页目录中;
  • 页目录一个页目录表项大小是4字节,内容是一张页表的物理地址

整个分页系统的全局视图

图16-7 整个分页系统的全局视图.png
  • 每个任务都拥有这样的层次化分页结构;
  • 页目录和页表也是普通的页,混迹于全部的物理页中;
  • 它们与普通页(存放代码和数据)的不同之处仅仅在于功能不一样;
  • 当任务撤销后,它们和任务所占用的普通页一样会被回收,并分配给其他任务;
  • 每个任务都有自己的TSS(任务状态段),里面有记录CR3寄存器的域;
  • CR3寄存器位于处理器内部,存放当前任务页目录的物理地址。

TSS 复习见 https://www.jianshu.com/p/adb70daa6d2c

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容