内存动态分配驻留在哪里?

Sum*_*Tea 4 operating-system dynamic-memory-allocation

我们知道malloc()并且new操作动态地从堆中分配内存,但是堆在哪里?每个进程在命名空间中是否有自己的私有堆用于动态分配,或者操作系统具有由所有进程共享的全局堆.更重要的是,我从教科书中读到,一旦发生内存泄漏,在下次重新启动计算机之前,丢失的内存将无法重复使用.这篇论文是对的吗?如果答案是肯定的,我们如何解释呢?

感谢您的回复.

问候.

Nav*_*een 8

内存是从进程虚拟内存的用户地址空间分配的.当进程终止时,操作系统将回收所有内存,无需重新启动计算机.