c*********t 发帖数: 2921 | 1 【 以下文字转载自 Linux 讨论区 】
发信人: cookiesweet (apple), 信区: Linux
标 题: 问一个跟 memory (process address space) 的有关的问题
发信站: BBS 未名空间站 (Sat Dec 18 18:40:01 2010, 美东)
在Linux下,一个process运行的时候address space都会有stack section, data
section, test section, bss section,等等,以及由 malloc()所得到的 memory.
我的问题是,malloc()到底是从系统的什么地方得到的动态memory?是不是从所谓的
heap 得到的?
如果是这样,是不是 heap 就是整个系统共有的 memory pool,各个process可以从这里
动态的得到memory via malloc()?
谢谢! | X****r 发帖数: 3557 | 2 heap一般是指各个应用程序自己的。
malloc调用brk/sbrk或者mmap从操作系统那里分配内存。
【在 c*********t 的大作中提到】 : 【 以下文字转载自 Linux 讨论区 】 : 发信人: cookiesweet (apple), 信区: Linux : 标 题: 问一个跟 memory (process address space) 的有关的问题 : 发信站: BBS 未名空间站 (Sat Dec 18 18:40:01 2010, 美东) : 在Linux下,一个process运行的时候address space都会有stack section, data : section, test section, bss section,等等,以及由 malloc()所得到的 memory. : 我的问题是,malloc()到底是从系统的什么地方得到的动态memory?是不是从所谓的 : heap 得到的? : 如果是这样,是不是 heap 就是整个系统共有的 memory pool,各个process可以从这里 : 动态的得到memory via malloc()?
| c*********t 发帖数: 2921 | 3 谢谢你的回答!
到底heap是什么?是做什么用的? process运行的时候,什么时候用到heap?
按照你的理解,malloc不是从heap申请内存的?
再次谢谢!
【在 X****r 的大作中提到】 : heap一般是指各个应用程序自己的。 : malloc调用brk/sbrk或者mmap从操作系统那里分配内存。
| r****t 发帖数: 10904 | 4 你自己都回答的差不多了
【在 c*********t 的大作中提到】 : 谢谢你的回答! : 到底heap是什么?是做什么用的? process运行的时候,什么时候用到heap? : 按照你的理解,malloc不是从heap申请内存的? : 再次谢谢!
|
|