页面大小和页表项的联系

发布时间:2024-01-10 11:30

页表项用来将逻辑地址转化为物理地址,具体实现步骤为:

  • 用逻辑地址高位的页号去页表项内索引,得到对应的物理帧(跟页一个概念)号
  • 将物理帧号与逻辑地址地位的偏移量相加得到实际的物理地址

那页表项存在哪里呢?
操作系统为了管理内存,将内存分成了若干页(经评论区指正,应为页框,而进程则被分成若干页!后面的页也都是页框!),每一个页都是固定大小的。而页表项也是要存在内存中的。考虑一种情况:页面大小是4KB,每个页表项是4B。我们知道页表项用来将逻辑地址转化为物理地址,所以页表项应该跟物理地址一一对应。而物理地址就是内存呐,内存是按照页来划分,所以一个页表项就是代表着一个页。现在,页表项大小是4B = 4*8 bit = 32bit,32位二进制可以表示 2 32 2^{32} 232个数,所以一共可以表示 2 32 2^{32} 232个页,这样就可以计算出内存大小为 2 32 2^{32} 232x4KB = 16TB。

实际内存没有这么大,因为页表项中还有有效位,而且页表项也占用了一部分的内存空间。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号