内存,硬盘是基础。
虚拟存储,是程序认识的地址,这部分的大小一般是比内存要大的。也就是说一个进程眼中,它能操作的内存空间大小一般比内存要大。多出来的这部分,就存在硬盘中。
swap space,是硬盘中划分出的一部分。当运行的程序由于切换而暂时不使用时,这个进程中的文件等数据可以不保存,下次再去读就是了;但是malloc的空间等就不行了,它必须以特定的格式存放起来,以便这个进程恢复,这个存放的地方就是swap。所以说电脑在切换到一个长期不用的程序时,是从swap和文件中恢复的。swap space就是“匿名”内存的交换空间。
因此,malloc能分配多大,即受虚拟存储大小限制,又收swap大小限制。
阅读(374) | 评论(0) | 转发(0) |