发布时间: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。
实际内存没有这么大,因为页表项中还有有效位,而且页表项也占用了一部分的内存空间。