vma是什么(vma是什么意思)

发布时间:
浏览次数: 790

好酷屋教程网小编为您收集和整理了vma是什么(vma是什么意思)的相关教程:VMA全称为virtualmemoryarea,指虚拟内存空间,又称作线性区,表示一个线性区间。    从userprocess角度来说明的话,VMA是use

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相关内容,如果对您有帮助,请帮忙分享这篇文章^_^

本文来源: https://www.haoku5.com/shenghuo/64099c8e18aa73cd7d036c75.html

相关推荐

    分享到: