VMA
深入Linux内核(内存篇)—用户内存空间之VMA
https://blog.csdn.net/liyuewuwunaile/article/details/107272123
struct page/VMA/AVC/AV之间的关系
- 父进程每个VMA都有一个anon_vma数据结构,vma->anon_vma指向。
- 和VMA相关的物理页面page->mapping都指向anon_vma。
- AVC数据结构anon_vma_chain->vma指向VMA,anon_vma_chain->anon_vma指向AV。
- AVC添加到VMA->anon_vma_chain链表中。
- AVC添加到AV->anon_vma红黑树中。
from: https://www.cnblogs.com/arnoldlu/p/8335483.html
一个进程中多个vma可以共享同一个anon_vma作为匿名映射的节点。
linux内存源码分析 - 内存回收(匿名页反向映射)
https://www.cnblogs.com/tolimit/p/5398552.html
fork后cow发生顺序,在一次测试中,比如对于data段(可读可写),父进程的cow先发生,然后子进程的才发生。