Frank Ye

Results 1 issues of Frank Ye

在虚拟内存优化一节中,已经提到了多级页表的使用,但仍有一些细节可以补充。 并且强烈建议改变虚拟地址中 *页号* 和 *数组下标* 的说法和思路! ## 多级页表优点:查找高效 一如大家都提到的节省内存的优点,多级页表的设计同样大大提高了 CPU 对页面的查找效率 以**32位 CPU**的虚拟地址为例,一条**4字节**的虚拟地址其页表基址占**20位**: 如果采用一级页表的方式查找,其时间复杂程度为 O(2^20); 如果采用二级页表的方式查找,其时间复杂程度为 O(2*2^10) ## 多级页表如何分级 多级页表的分级方式由**CPU 位数**以及**页面大小**共同决定 >在过去32位 CPU 中,页面通常设置为*4KB* 还是以**32位 CPU**的虚拟地址为例,一条**4字节**的虚拟地址由**20位**页表基址和**12**位偏移地址构成, 那么是否有疑问:我们为什么只凭地址的高20位就能找到对应的页面呢? 在二级页表下,每级页表基址占**10位**,这里的基址是作为**索引**去对应的目录表项和页表项遍历查找的。 ![页式映射](https://user-images.githubusercontent.com/56144585/126334865-ed44186f-3539-4ca3-be4b-2ffb03fa0b90.png) 而具体每个目录表项和页表项的结构实际上如下图所示:...

bug
need to be improved