linux 内核源代码情景分析——i386 的页式内存管理机制
2013-10-18 10:56
489 查看
可以看出,在页面目录中共有210 = 1024个目录项,每个目录项指向一个页面表,而在每个页面表中又共有1024个页面描述项。
由图看出来,从线性地址到物理地址的映射过程为:
1)从CR3取得页面目录的基地址;
2)以线性地址中的dir位段为下标,在目录中取得相应页面表的基地址;
3)以线性地址中的page位段为下标,在所得到的的页面表中取得相应的页面描述项;
4)将页面描述项中给出的页面基地址与线性地址中的offset位段相加得到物理地址;
目录项结构为:
目录项的直观表示如下图:
页表项的结构基本上于此相同,但没有“页面大小”位ps,所以第8位保留不用,但第7位(在目录项中保留不用)则为D标志,表示该页面已经被写过,所以已经“脏”了。
相关文章推荐
- Linux 内核源代码情景分析 chap 2 存储管理 (三)
- Linux 内核源代码情景分析 chap 2 存储管理 (四)
- Linux 内核源代码情景分析 chap2 存储管理 (6) --- 页面的定期换出
- linux内核情景分析{2,存储管理}
- Linux 内核源代码分析 chap 2 存储管理 (5)
- linux 内核源代码情景分析——linux 内核源代码中的C语言代码
- linux 3.4.10 内核内存管理源代码分析9:Slab内存释放
- linux 3.4.10 内核内存管理源代码分析10:slab通用长度内存分配
- 分析linux内存管理机制
- linux 内核源代码情景分析——几个重要的数据结构和函数
- linux 3.4.10 内核内存管理源代码分析7:Slab块的管理
- linux 内核源代码情景分析——越界访问
- Linux 内核源代码情景分析 chap2 存储管理(二)
- linux 内核源代码情景分析——linux 内存管理的基本框架
- linux内核情景分析{中断 系统调用 内存}
- Linux 内核源代码情景分析 chap 2 存储管理(一)
- linux 内核源代码情景分析——linux 内核源码中的汇编语言代码
- linux 内核源代码情景分析——用户堆栈的扩展
- Linux 内核源码情景分析 chap 2 存储管理 (四)
- linux 内核源代码情景分析——地址映射的全过程