摘要: 1.虚拟内存,在32位平台下,一个进程一般拥有3g的虚拟内存地址,这些虚拟内存地址将包含,代码区,数据区,堆区,栈区等,事实上一个进程在初始化的时候,虚拟内存地址需要通过一个地址映射表才能转换为实际的物理地址,一个进程在初始化的时候操作系统不会为其分配很多的物理地址,当程序中有动态分配内存的请求时,操作系统会调整分配给进程的物理地址。2.malloc的原理:malloc是c的一个库函数,不同平台下有不同的实现,基本思想是,先看看当前进程的堆空间有没有够用的内存,有的话就返回,否则向操作系统要新的内存,此时会调用sbrk,brk,mmap等函数来实现,其中sbrk是对brk的封装也是属于c的库函 阅读全文
posted @ 2013-12-30 10:35 xpray 阅读(439) 评论(0) 推荐(0) 编辑