内核如何为页表分配空间?

时间:2017-04-18 09:45:46

标签: memory linux-kernel mmu

我想说,首先,流程会被分配到顶级页面表的一页。

  GPD      PD1     PD2      PD3   
+-----+ +------+ +------+ +------+
+  0  + +------+ +------+ +------+
+  0  + +------+ +------+ +------+
+  0  + +------+ +------+ +------+
+-----+ +------+ +------+ +------+

总计:GPD的1页

现在,假设程序分配了2页(8KB)

  GPD      PD1     PD2      PD3 
+-----+ +------+ +------+ +------+
+  1  + +  22  + +------+ +------+
+  0  + +  62  + +------+ +------+
+  0  + +  0   + +------+ +------+
+-----+ +------+ +------+ +------+

总计:2页,GPD为1页,PD1为1页

现在,如果以前的程序需要另外2页:

  GPD      PD1     PD2      PD3 
+-----+ +------+ +------+ +------+
+  1  + +  22  + +  24  + +------+
+  2  + +  62  + +  0   + +------+
+  0  + +  16  + +  0   + +------+
+-----+ +------+ +------+ +------+

总计:3页,GPD为1页,PD1为1页,PD2为1页

真的是怎么做的?

0 个答案:

没有答案