当前位置:   article > 正文

Linux | 虚拟地址&页表_table walk unit

table walk unit

虚拟地址的作用:从用户的角度扩大地址空间,本质是分时复用

Linux的虚实转换需要mmu和页表。


mmu:是cpu中的硬件单元,由TLB和table walk unit组成。

TLB快表,属于是硬件缓存(贼快);table walk unit用于从内存中读取页表(table指页表),说白了mmu就是先找快表找不到再去读页表。


Linux普遍为4级页表,分别是:

   页内偏移      PTE        PMD       PUD       PGD
l_________l_______l_______l_______l_______l____________l
0             11 12      20 21      29 30      38 39      47 48                 63

PGD: page Global directory(47-39), 页全局目录
PUD: Page Upper Directory(38-30),页上级目录
PMD: page middle directory(29-21),页中间目录
PTE: page table entry(20-12),页表项

页表项:8B
一个页面的大小:4K
四级页表占的空间:4*(2^9)*8B = 16KB
虚拟地址空间的大小:(2^36)*4K = 256T

为什么是9位:因为默认Linux的页大小是4K,9位*8B刚好每级页表都占一页(哇哦)


除了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/163359
推荐阅读
相关标签
  

闽ICP备14008679号