进程退出后,泄漏在其中的内存会被os回收,小弟我的观点是不是准确的

进程退出后,泄漏在其中的内存会被os回收,我的观点是不是准确的 ?
malloc申请的内存在heap里,进程exit后,进程的heap区就还给os了,
所以泄漏就不存在了。

对不对 ?

------解决方案--------------------
每个进程起来用的内存都是虚的,不是有整个操作系统统一分配的,所以你的进程即使异常退出了,也不会影响整个OS的运行。其实也不存在进程的Heap区还给OS,因为他的Heap是专属进程的,进程结束了,也就没了,而且这个Heap不是从OS中的某部分内存分出来的
------解决方案--------------------
应该是对的。内存泄露只发生在在进程运行过程中
------解决方案--------------------
对于现在的操作系统而言是这样的;
不过比较老的就不是这样,所以当时内存泄露,是个很大的问题。
------解决方案--------------------
引用:
Quote: 引用:

每个进程起来用的内存都是虚的,不是有整个操作系统统一分配的,所以你的进程即使异常退出了,也不会影响整个OS的运行。其实也不存在进程的Heap区还给OS,因为他的Heap是专属进程的,进程结束了,也就没了,而且这个Heap不是从OS中的某部分内存分出来的

问下你这里的 不是有整个操作系统统一分配的 是不是“由”? 

再就是能详细解释下这句话不 ?

是由,打错了不好意思。
我的意思是,每个进程都有自己专属的内存空间。当操作系统创建一个新的进程出来,就为他分配了一定的内存(不是所有进程共用同一个内存),但是这个内存不占用操作系统本身内存,也不受物理内存的限制,只有当进程运行时访问到某些内存没有对应物理内存时,操作系统才将信息加载到物理内存中。我的表达能力有限,可能会带有误导性,给个关键字:虚拟内存,搜索下。
------解决方案--------------------
进程exit,进程的所有自有内存,都会释放掉,包括heap区。