动态内存申请(malloc, calloc, new)之分配虚拟内存空间和物理内存空间
动态内存申请(malloc, calloc, new)之分配虚拟内存空间和物理内存空间1. 动态内存申请的底层系统调用动态内存申请函数根据申请的内存大小选择不同的系统调用,小于128K选择brk系统调用分配内存,大于128K选择mmap系统调用,使用strace可以清晰追踪到系统调用。2. 虚拟地址空间和物理地址空间将虚拟内存地址映射到物理内存地址,叫做内存映射,映射关系缓存在一个叫页表的结构中,由MMU模块进行管理;MMU规定内存的映射最小单位,通常为4K, 每次映射,都需要关联4K或4K整数倍的
原创
2020-07-14 21:06:47 ·
4683 阅读 ·
1 评论