malloc中brk和mmap的区别: 在 malloc 函数内部,它会通过系统调用向操作系统请求一块连续的虚拟内存空间, 并将这个虚拟内存映射到进程的地址空间中。在 Linux 系统中,这个映射的过程涉及到两个系统调用:brk 和 mmap。 brk 和 mmap 都是 Linux 系统中用于管理进程虚拟内存空间的系统调用。 它们的主要区别在于, brk 是将进程的数据段(data segment)调整到指定的地址, 而 mmap 是创建一个新的虚拟内存映射区域。 在 malloc 函数内部, 如果要分配的内存大小较小(通常小于 128KB),则会使用 brk 系统调用向数据段中添加一个新的内存区域, 否则会使用 mmap 系统调用创建一个新的虚拟内存映射区域。 总的来说,brk 和 mmap 都是 Linux 系统中用于管理进程虚拟内存空间的系统调用,它们的主要区别在于 brk 是将当前数据段末尾指针向后移动,而 mmap 是创建一个新的虚拟内存映射区域。
点赞 评论

相关推荐

09-18 20:41
百度_Java
要个offer怎么这...:哈哈哈哈哈哈,我也拿了0x10000000个offer,秋招温啦啦啦,好开心
我的秋招日记
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
08-20 19:41
那一天的Java_J...:简历完全流水账,学生思维很严重,还有很大的优化空间,可以多看看牛客的简历。
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务