linux 内核源代码情景分析——i386 的页式内存管理机制

可以看出,在页面目录中共有210 = 1024个目录项,每个目录项指向一个页面表,而在每个页面表中又共有1024个页面描述项。

 

由图看出来,从线性地址到物理地址的映射过程为:

1)从CR3取得页面目录的基地址;

2)以线性地址中的dir位段为下标,在目录中取得相应页面表的基地址;

3)以线性地址中的page位段为下标,在所得到的的页面表中取得相应的页面描述项;

4)将页面描述项中给出的页面基地址与线性地址中的offset位段相加得到物理地址;


目录项结构为:

目录项的直观表示如下图:

页表项的结构基本上于此相同,但没有“页面大小”位ps,所以第8位保留不用,但第7位(在目录项中保留不用)则为D标志,表示该页面已经被写过,所以已经“脏”了。

posted @ 2013-10-18 10:56  linux_rookie  阅读(265)  评论(0编辑  收藏  举报