一句话速记:虚拟地址通过 MMU 查询 TLB 及多级页表映射为物理地址。当地址未映射或对应页不在内存中时会触发缺页异常,内核校验 VMA 有效性后分配物理页帧并更新 PTE。glibc 的 malloc 默认以 128KB 阈值为界:小内存分配使用 brk 调整堆顶指针并依托内存池分配,易产生内存碎片;大内存分配直接使用匿名 mmap 映射,调用 free 时立即将空间归还给操作系统。
操作系统、内存