Memory 内核如何为页表分配空间?
我想说的是,首先进程会被分配到顶级页面表的一个页面Memory 内核如何为页表分配空间?,memory,linux-kernel,mmu,Memory,Linux Kernel,Mmu,我想说的是,首先进程会被分配到顶级页面表的一个页面 GPD PD1 PD2 PD3 +-----+ +------+ +------+ +------+ + 0 + +------+ +------+ +------+ + 0 + +------+ +------+ +------+ + 0 + +------+ +------+ +------+ +-----+ +------+ +------+ +------+ 总计:GPD为1页 现在,
GPD PD1 PD2 PD3
+-----+ +------+ +------+ +------+
+ 0 + +------+ +------+ +------+
+ 0 + +------+ +------+ +------+
+ 0 + +------+ +------+ +------+
+-----+ +------+ +------+ +------+
总计:GPD为1页
现在,假设程序分配了2页(8KB)
总计:2页,GPD为1页,PD1为1页
现在,如果上一个程序需要另外两页:
GPD PD1 PD2 PD3
+-----+ +------+ +------+ +------+
+ 1 + + 22 + + 24 + +------+
+ 2 + + 62 + + 0 + +------+
+ 0 + + 16 + + 0 + +------+
+-----+ +------+ +------+ +------+
总计:3页,1页用于GPD,1页用于PD1,1页用于PD2
真的是这样吗
GPD PD1 PD2 PD3
+-----+ +------+ +------+ +------+
+ 1 + + 22 + + 24 + +------+
+ 2 + + 62 + + 0 + +------+
+ 0 + + 16 + + 0 + +------+
+-----+ +------+ +------+ +------+