快表(TLB, Translation Lookaside Buffer)
高速缓存,用于加速虚拟地址到物理地址的转换过程;
就是通过缓存常用的虚拟地址条目,从而优化效率;
没有快表的时候,需要访问两次内存;
快表检索时间 = λ
快表命中率 = a
内存访问有效时间 = λ * a + ( t+λ )( t-a ) + t
graph
A[虚拟地址] --> B{在快表中?}
B -->|是| C[直接获得物理地址]
B -->|否| D[访问内存中的页表]
D --> E[更新快表]
E --> C
动态分区分配算法
首次适应算法(First Fit) 从头开始查找,找到第一个足够大的空闲分区就分配
最佳适应算法(Best Fit) :查找最小的能满足要求的空闲分区
缺页和缺页中断
缺页:指进程当前访问的逻辑页面不在物理内存(RAM)中,而是在外存中,需要加载到内存中;
缺页中断:当发生缺页的时候,CPU会触发一个缺页中断,暂停当前进程的执行。 操作系统接管控制权,负责将缺失的页面从磁盘调入内存,并更新内存管理数据结构(如页表),最后恢复进程的执行。