因此,系统用了较复杂的数据结构来跟踪进程的虚拟地址.在task_struct 中包含一个指向mm_struct 结构的指针.进程的mm_struct 中则包含了进程可执行影像的页目录指针pgd.还包含了指向vm_area_struct 的几个指针,每个vm_area_struct 包含一个进程的虚拟地址区域.
一个进程有多个vm_area_stuct 结构.linux 要经常对进程分配..或调整vm_area_struct .这样对vm_area_stuct 的查找效率.对系统很有影像.所以在这里将所有的vm_area_struct 形成了一个查找效率较高的平衡二叉树结构.
我个人认为,在整个linux内核中这个地方.数据结构是最复杂的.如果把这一部分肯下来以后,整个内核便开始清晰了
推荐阅读
- 六 读核日记
- 七 读核日记 --linux的内存管理机制(1)
- 三 读核日记
- 治鱼病用“浸浴法”要注意八点
- 一 读核日记
- 二 读核日记
- 给欲购此机朋友们的一点建议 我用M300八个月以后的感受
- 什么面玲珑的成语
- 八级残疾证有什么用
- 钓鱼野战蓝鲫九一八速攻2怎么配比?