# 内存管理

# 分层存储体系

CPU L1 L2 L3 内存 硬盘

L1 < 1mb 2-4 cycle(CPU周期,ns)

L2 <= 20mb 10-20 cycle

L3 <= 100mb 20-60 cycle

RAM 200-300 cycle

HD RW:10-50m cycle(m百万)

SSD 内存的10-1000倍

频繁切换进程会导致缓存的失效

# 地址空间

地址空间是进程可以用来寻址的独立地址集合(进程隔离,地址包)

不能接触物理内存:破坏操作系统,进程互相干扰

每个进程都会有自己独立的地址空间,所以看上去每个进程都在独享计算机资源。

操作系统会对地址访问进行重定位和保护:比如JUMP 12 -> JUMP 12 + 18000,如果JUMP 20012 > 20000会执行失败。

有两个寄存器:基地址寄存器和界限寄存器,分别代表地址空间的下限和上限,比如18000,20000。

进程通过中断实现寄存器的切换,每个进程的状态会保存在一张表中。

# 虚拟内存

虚拟化是为了提高资源利用效率。将内存分成很多小块,进程轮流使用。

比如将32kb的内存虚拟化为64kb,程序运行在虚拟地址空间,遇到内存地址就映射到物理空间。

「页表 page table 」存储了虚拟地址空间和物理空间的映射关系,物理内存的每一块称之为「页框 page frame」。

内存管理单元(MMU,Memory Management Unit)

上次更新: 2/13/2025, 3:29:47 AM