当前位置: 技术问答>linux和unix
进程的地址空间会自动调整大小吗??
来源: 互联网 发布时间:2015-12-20
本文导语: 如题,小弟一直不知道进程的地址空间是如何调整的。 比如一个程序启动时,它占用的地址空间确定了,0x0000~0x0800。该进程现在要读入一个大文件到内存,放入堆中。此时原来的堆地址是不够的,系统如何处...
如题,小弟一直不知道进程的地址空间是如何调整的。
比如一个程序启动时,它占用的地址空间确定了,0x0000~0x0800。该进程现在要读入一个大文件到内存,放入堆中。此时原来的堆地址是不够的,系统如何处理??是不是把整个进程的地址空间扩充??比如0x0000~0x3800,或者整个挪到0x4000~7800。
请各位大哥慷慨赐教:)
比如一个程序启动时,它占用的地址空间确定了,0x0000~0x0800。该进程现在要读入一个大文件到内存,放入堆中。此时原来的堆地址是不够的,系统如何处理??是不是把整个进程的地址空间扩充??比如0x0000~0x3800,或者整个挪到0x4000~7800。
请各位大哥慷慨赐教:)
|
每个进程都有自己独立的虚拟地址空间,比如说2G大小,实际使用的物理地址由操作系统的内存管理模块进行映射。对进程来说,所见的就是一块2G的内存空间。