寄存器分调用者保存和被调用者保存,可以根据变量生命周期分配到不同寄存器,减少保存变量开销
页表寄存器和页表中的所有地址 都是物理地址
TLB
能记录的映射条数有限
操作系统会编辑页表。为了保证与页表的一致性,tlb提供了flush接口,也就是将tlb设置为无效。这样做效率很低,ASID…
大页
占用tlb条数少,查页表所需的访存次数少
segmentation fault
以访问0地址为例,cpu会触发缺页异常,操作系统检查后发现访问了非法虚拟地址,即抛出segfault
延迟分配
demand paging
懒惰填写页表,因此需要额外记录真实虚拟空间,这是比实际页表映射更完整的
进程初始化时的虚拟内存空间
只有代码和数据,以及动态库,来自可执行文件,其他都是运行时创建的,不由可执行文件描述
物理内存管理
页 伙伴系统
小内存 SLAB
其他 空闲列表
cache
将物理地址划分为tag,set(index),offset
offset长度和缓存行长度挂钩,set长度和缓存组数有关
n路组相连中的路数way指的是缓存组中有多少行