程序在内存中的分布 文章目录 程序在内存中的分布 1. 内存地址 2. 堆和栈的不同 2.1 分配方式不同 2.2 空间大小不同 2.3 分配效率不同 2.4 能否产生碎片不同 2.5 生长方向不同 1. 内存地址 在现代的操作系统中,当我们说到内存,往往需要分两部分来讲:物理内存 和 虚拟内存。从硬件上讲,虚拟空间是 CPU 内部的寻址空间,位于 MMU 之前,物理空间是总线上的寻址空间,是经过 MMU 转换之后的空间。 虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。目前,大多数操作系统都使用了虚拟内存&