赞
踩
虚拟地址的作用:从用户的角度扩大地址空间,本质是分时复用
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刚好每级页表都占一页(哇哦)
除了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。