25、用户态内存映射:如何找到正确的会议室?前面几节,我们既看了虚拟内存空间如何组织的,也看了物理页面如何管理的。现在我们需要一些数据结构,将二者关联起来。 mmap的原理在虚拟地址空间那一节,我们知道,每一个进程都有一个列表vm_area_struct,指向虚拟地址空间的不同的内存块,这个变...2025-10-31
24、物理内存管理(下):会议室管理员如何分配会议室?前一节,前面我们解析了整页的分配机制。如果遇到小的对象,物理内存是如何分配的呢?这一节,我们一起来看一看。 小内存的分配前面我们讲过,如果遇到小的对象,会使用slub分配器进行分配。那我们就先来解析它的工作原理。 还记得咱们创建进程的时候,会调用du...2025-10-31
23、物理内存管理(上):会议室管理员如何分配会议室?前一节,我们讲了如何从项目经理的角度看内存,看到的是虚拟地址空间,这些虚拟的地址,总是要映射到物理的页面。这一节,我们来看,物理的页面是如何管理的。 物理内存的组织方式前面咱们讲虚拟内存,涉及物理内存的映射的时候,我们总是把内存想象成它是由连续的一页...2025-10-31
22、进程空间管理:项目组还可以自行布置会议室上两节,我们讲了内存管理的三个方面,虚拟内存空间的管理、物理内存的管理以及内存映射。你现在对进程内存空间的整体布局应该有了一个大致的了解。今天我们就来详细看看第一个方面,进程的虚拟内存空间是如何管理的。 32位系统和64位系统的内存布局有的地方相似,...2025-10-31
21、内存管理(下):为客户保密,项目组独享会议室封闭开发上一节,我们讲了虚拟空间的布局。接下来,我们需要知道,如何将其映射成为物理地址呢? 你可能已经想到了,咱们前面讲x86 CPU的时候,讲过分段机制,咱们规划虚拟空间的时候,也是将空间分成多个段进行保存。 那就直接用分段机制呗。我们来看看分段机制的原理...2025-10-31