什么是页表条目大小?

Pan*_*ato 11 paging operating-system

我找到了这个例子.

考虑具有32位逻辑地址空间的系统.如果此类系统中的页面大小为4 KB(2 ^ 12),则页表可能包含最多100万个条目(2 ^ 32/2 ^ 12).假设 每个条目由4个字节组成,每个进程可能只需要4 MB的物理地址空间.

每个条目的含义是4个字节,为什么每个进程可能需要最多4 MB的页表空间物理地址空间

Mat*_*hew 8

页表是从虚拟地址到物理地址的转换表,操作系统使用它来人为地增加系统中可用的主内存总量.

物理内存是位于内存(DRAM)中的地址的实际位,虚拟内存是操作系统所处的位置,用于告诉它们所处的位置,以便执行诸如允许2 ^ 64位地址空间之类的操作,尽管事实上^ 34位是通常使用的最大RAM.(2 ^ 32位是4千兆字节,因此2 ^ 34是16 GB.)每个进程的大多数默认页表大小为4096 kb,但如果进程需要更多进程空间,则页表条目的数量可能会增加.页表大小最初也可以分配更小或更大的数量或内存,只需4 kb通常是大多数进程的最佳大小.

请注意,页表是页面条目表.两者都可以有不同的大小,但页表大小最常见的是4096 kb或4 mb,并且通过添加更多条目来增加页表大小.


小智 8

至于为什么一个PTE(页表条目)是4个字节:

几个答案说这是因为地址空间是 32 位,而 PTE 需要 32 位来保存地址。

但是 PTE 不包含一个字节的完整地址,只包含物理页号。其余位包含标志或未使用。它不需要正好是 4 个字节。