寄存器分调用者保存和被调用者保存,可以根据变量生命周期分配到不同寄存器,减少保存变量开销

页表寄存器和页表中的所有地址 都是物理地址

TLB

能记录的映射条数有限

操作系统会编辑页表。为了保证与页表的一致性,tlb提供了flush接口,也就是将tlb设置为无效。这样做效率很低,ASID…

大页

占用tlb条数少,查页表所需的访存次数少

segmentation fault

以访问0地址为例,cpu会触发缺页异常,操作系统检查后发现访问了非法虚拟地址,即抛出segfault

延迟分配

demand paging

懒惰填写页表,因此需要额外记录真实虚拟空间,这是比实际页表映射更完整的

进程初始化时的虚拟内存空间

只有代码和数据,以及动态库,来自可执行文件,其他都是运行时创建的,不由可执行文件描述

物理内存管理

页 伙伴系统

小内存 SLAB

其他 空闲列表

cache

将物理地址划分为tag,set(index),offset

offset长度和缓存行长度挂钩,set长度和缓存组数有关

n路组相连中的路数way指的是缓存组中有多少行