虚拟内存 #
为了更加有效的管理内存并且降低内存出错的概率。
计算机存储器 #
- 速度快
- 容量大
- 价格便宜
类型,自上向下分别是寄存器,高速缓存,主存(RAM),磁盘。成本与访问速度负相关。
寄存器的容量:32 位:32x32 bit吗,64 位:64x64 bit
1 个字节(Bytes)等于 8 bit,因此 1kb 是 8x1024 bit
主存(RAM)与 CPU 直接交换数据的内部存储器。
- 物理内存
- 虚拟内存
虚拟内存核心原理 #
为每个程序设置一段"连续"的虚拟地址空间,把这个地址空间分割成多个具有连续地址范围的页 (Page),并把这些页和物理内存做映射,在程序运行期间动态映射到物理内存。当程序引用到一段在物理内存的地址空间时,由硬件立刻执行必要的映射;而当程序引用到一段不在物理内存中的地址空间时,由操作系统负责将缺失的部分装入物理内存并重新执行失败的指令。
内存交换(swap) #
在进程运行期间只分配映射当前使用到的内存,暂时不使用的数据则写回磁盘作为副本保存,需要用的时候再读入内存,动态地在磁盘和内存之间交换数据。