
内存管理
文章平均质量分 95
嵌入式与Linux那些事
这个作者很懒,什么都没留下…
展开
-
【内存管理】页面分配机制
Linux内核中是如何分配出页面的,如果我们站在CPU的角度去看这个问题,CPU能分配出来的页面是以物理页面为单位的。也就是我们计算机中常讲的分页机制。本文就看下Linux内核是如何管理,释放和分配这些物理页面的。大家都知道,Linux内核的页面分配器的基本算法是基于伙伴系统的,伙伴系统通俗的讲就是以2^order分配内存的。这些内存块我们就称为伙伴。原创 2024-06-23 22:28:53 · 1158 阅读 · 0 评论 -
【内存管理】内存布局
反过来, 通过物理页面找到映射它的所有虚拟页面叫反向映射(reverse-mapping, RMAP),它可以从page数据结构中找到映射这个page的虚拟地址空间,也就是我们讲过的VMA这个东西,ramp系统是为页面回收服务的,如果要回收一个匿名页面或者page cache的时候, 需要把映射这个页面的用户PTE断开映射关系才可以去回收。刚刚我们讲的都是以页为单位分配的内存。这是为了保证进程在真正使用的时候有足够的内存,因为进程在申请内存后并不一定立即使用,当真正使用的时候,可能部分内存已经被回收了。原创 2024-06-10 13:12:11 · 1351 阅读 · 0 评论 -
【内存管理】内存管理概述
反过来, 通过物理页面找到映射它的所有虚拟页面叫反向映射(reverse-mapping, RMAP),它可以从page数据结构中找到映射这个page的虚拟地址空间,也就是我们讲过的VMA这个东西,ramp系统是为页面回收服务的,如果要回收一个匿名页面或者page cache的时候, 需要把映射这个页面的用户PTE断开映射关系才可以去回收。刚刚我们讲的都是以页为单位分配的内存。这是为了保证进程在真正使用的时候有足够的内存,因为进程在申请内存后并不一定立即使用,当真正使用的时候,可能部分内存已经被回收了。原创 2024-06-10 13:11:37 · 1212 阅读 · 0 评论 -
【内存管理】页表映射
Linux内核中封装了很多宏来处理页表。原创 2024-06-10 13:10:37 · 1092 阅读 · 0 评论