文章插图
VMA全称为virtual memory area , 指虚拟内存空间 , 又称作线性区 , 表示一个线性区间 。
从user process角度来说明的话 , VMA是user process 里一段 virtual address space区块 。virtual address space是连续的记忆体空间 , 当然VMA也会是连续的空间 。VMA对Linux的主要好处是 , 可以使记忆体的使用更有效率 , 并且更容易管理user process address space 。每个线性区描述符表示一个线性区间 。进程所拥有的线性区从来不重叠 , 并且内核尽力把新分配的线性区与相邻的现有线性区进行合并 。如果两个相邻线性区的访问权限匹配 , 就把它们合并在一起 。为了存放进程的线性区 , Linux既使用了链表(查找链表的时间复杂度是O(n)) , 也使用了红黑树(查找红黑树的时间复杂度是O(logn)) 。这两种数据结构包含指向同一线性区描述符的指针 , 当插入或删除一个线性区描述符时 , 内核通过红黑树搜索前后元素 , 并用搜索结果快速更新链表而不用扫描链表 。
【vma是什么 沥青混合料vma是什么】
- 最贵的笔记本电脑是什么牌子 最贵的笔记本电脑是哪个品牌
- 添加航旅纵横账号是什么意思 什么叫航旅纵横账号
- 猫咪100种行为语言 猫咪100种行为语言是什么
- 小娘惹剧情详细介绍小娘惹讲的是什么故事
- 电信人工服务电话是多少 电信人工服务电话是什么
- 北京烤鸭是什么菜系 北京烤鸭属于哪种菜系
- 千门万户曈曈日总把新桃换旧符是什么传统节日
- paamoo是什么手机名称 paamoo是什么手机
- 周朝历代皇帝列表 周朝历代皇帝顺序是什么
- 官换机是什么意思 官换机和新机的区别