Memory management 32位系统逻辑地址

Memory management 32位系统逻辑地址,memory-management,operating-system,x86,Memory Management,Operating System,X86,在32位系统中,逻辑地址分为| 10 | 10 | 12 |、页目录偏移、页表偏移和页偏移 由于x86系统中的页面是4K字节,为了表示4K条目,需要log2(4K)=12位,因此需要12位。 所以剩余位数=(32-12)=20 假设到目前为止我的理解是正确的,我的问题是10和10来自哪里? 为什么不是8和12或其他东西呢?这里的一致性允许更小更简单的代码(也可能是硬件) 如果仔细观察页面目录和页面表条目的格式,您会发现它们在x86上几乎相同 现在,如果您让一个pde指向PD,那么访问所有pde和

在32位系统中,逻辑地址分为| 10 | 10 | 12 |、页目录偏移、页表偏移和页偏移

由于x86系统中的页面是4K字节,为了表示4K条目,需要log2(4K)=12位,因此需要12位。 所以剩余位数=(32-12)=20

假设到目前为止我的理解是正确的,我的问题是10和10来自哪里?
为什么不是8和12或其他东西呢?

这里的一致性允许更小更简单的代码(也可能是硬件)

如果仔细观察页面目录和页面表条目的格式,您会发现它们在x86上几乎相同


现在,如果您让一个
pde
指向
PD
,那么访问所有
pde
pte
就变得微不足道了。我不知道这件事是不是在i80386设计的时候就计划好了,但它肯定会派上用场。

这里的一致性允许更小更简单的代码(也可能是硬件)

如果仔细观察页面目录和页面表条目的格式,您会发现它们在x86上几乎相同


现在,如果您让一个
pde
指向
PD
,那么访问所有
pde
pte
就变得微不足道了。我不知道这件事是不是在i80386设计的时候就计划好了,但它肯定会派上用场。

不是所有32位处理器都使用10-10-12,所以答案是“没有理由必须是10-10-12”。是的,如果页面大小不同,那么分区也会不同。但在上述情况下,10和10是随机选择的,还是有任何逻辑依据?并非所有32位处理器都使用10-10-12,因此答案是“没有理由必须是10-10-12”。是的,如果页面大小不同,那么划分也会不同。但在上述情况下,10和10是随机选择的,还是有任何逻辑?