对于32位的机器,采用两级页表结构是合适的;但对于64位的机器,采用两级页表是否仍可适用的问题,须做以下简单分析。如果页面大小仍采用4 KB即2的12次B,那么还剩下52位,假定仍按物理块的大小(2的12次位)来划分页表,则将余下的42位用于外层页号。此时在外层页表中可能有4096G个页表项,要占用16384GB的连续内存空间。这样的结果显然是不能令人接受的,因此必须采用多级页表,将外层页表再进行分页,也就是将各分页离散地装入到不相邻接的物理块中,再利用第2级的外层页表来映射它们之间的关系。
上面这段话中有这样一句:如果页面大小仍采用4 KB即2的12次 B,那么还剩下52位,假定仍按物理块的大小(2的12次位)来划分页表,则将余下的42位用于外层页号。
请问这句话中的“42位”是怎么得到的,我觉得应该是“40位”。