Python
malloc源码 标签描述

简言 由于面试题会问到malloc的底层原理,今天就来记录一下,毕竟学习要“知其所以然”,这样才会胸有成竹。 Linux的虚拟内存管理有几个关键概念: 1.每个进程都有独立的虚拟地址空间,进程访问的虚拟地址并不是真正的物理地址;2.虚拟地址可通过每个进程上的页表(在每个进程的内核虚拟地址空间)与物理地址进行映射,获得真正物理地址;3.如果虚拟地址对应物理地址不在物理内存中,则产生缺页中断,真正分配物理地址,同时更新进程的页表;如果此时物理内存已耗尽,则根据内存替换算法淘汰部分页面至物理磁盘中。 先说结论 1.当开辟的空间小于128K时,调用brk()函数,malloc的底层实现是系统调用函数...