●3)、地址变换中所采用的新技术 ●每次地址变换都需要经过两次查询 次是在页目录中找到正确的页表 一次是在页表中找到正确的项 ●如果每次对虚拟地址的访问都做两次额 外的内存查询,这将使系统性能严重下 降。因此大多数处理器在地址变换时运 用了高速缓存技术
⚫ 3)、地址变换中所采用的新技术 ⚫ 每次地址变换都需要经过两次查询: ✓ 一次是在页目录中找到正确的页表, ✓ 一次是在页表中找到正确的项。 ⚫ 如果每次对虚拟地址的访问都做两次额 外的内存查询,这将使系统性能严重下 降。因此大多数处理器在地址变换时运 用了高速缓存技术
快表(TLB):关联存储器数据形式的高速缓 存。 ●所谓关联存储器,它的存储单元能被同时读取, 并与目标值比较。在快表中,向量中包含了大 多数最近用过虚拟页到物理页的映射,以及每 页的页保护类型。 ●快表中每个项都类似一个高速缓存项,它的标 识符保存了虚拟地址的一部分,它的数据部分 则保存了一个物理页号、保护域、有效位,通 常还有一个修改位,这些用来表明被高速缓存 的页表项所对应页的状态。如果一个页表项的 全局位被置为“1”,当进程切换时快表项仍然 有效
⚫ 快表(TLB):关联存储器数据形式的高速缓 存。 ⚫ 所谓关联存储器,它的存储单元能被同时读取, 并与目标值比较。在快表中,向量中包含了大 多数最近用过虚拟页到物理页的映射,以及每 页的页保护类型。 ⚫ 快表中每个项都类似一个高速缓存项,它的标 识符保存了虚拟地址的一部分,它的数据部分 则保存了一个物理页号、保护域、有效位,通 常还有一个修改位,这些用来表明被高速缓存 的页表项所对应页的状态。如果一个页表项的 全局位被置为“1”,当进程切换时快表项仍然 有效
四、用户内存分配方式 ●1)、虚拟地址描述符(D):(数据结构) 冷采用虚拟地址描述符的原因: 内存管理器采用请求式页面调度算法(间接) 内存管理器建立页表时不能确定哪些虚拟地址是 空闲的。(直接) VAD的功能: 内存管理器维持了另一组数据结构来描述哪些虚 拟地址已经在进程的地址空间中被保留,而哪些 没有。 懒惰计算方法:请求式页面调度方式
四、用户内存分配方式 ⚫ 1)、虚拟地址描述符(VAD):(数据结构) ❖ 采用虚拟地址描述符的原因: ➢ 内存管理器采用请求式页面调度算法(间接) ➢ 内存管理器建立页表时不能确定哪些虚拟地址是 空闲的。(直接) ❖ VAD的功能: ⚫ 内存管理器维持了另一组数据结构来描述哪些虚 拟地址已经在进程的地址空间中被保留,而哪些 没有。 ⚫ 懒惰计算方法:请求式页面调度方式
令使VAD的实现方法 √对每一个进程,内存管理器都维持有一组虚拟 地址描述信息,用来描述进程地址空间的状态。 虚拟地址描述信息被构造成一棵自平衡二叉树 以使查找更有效率。 冷VAD的使用: √当进程保留地址空间,或映射一个内存区域时, 内存管理器创建一个VAD来保存分配请示所提 供的信息。 √当线程首次访问一个地址,内存管理器必须为 包含这个地址的页面创建一个页项
❖使VAD的实现方法: ✓ 对每一个进程,内存管理器都维持有一组虚拟 地址描述信息,用来描述进程地址空间的状态。 虚拟地址描述信息被构造成一棵自平衡二叉树 以使查找更有效率。 ❖ VAD的使用: ✓ 当进程保留地址空间,或映射一个内存区域时, 内存管理器创建一个VAD来保存分配请示所提 供的信息。 ✓ 当线程首次访问一个地址,内存管理器必须为 包含这个地址的页面创建一个页项
2)、以页为单位的虚拟内存分配方式 冷进程的地址空间中页面状态 √空闲 √保留 √提交 冷虚拟内存分配方式: √应用程序可能首先保留地址空间,然后向此 地址空间提交物理页面。 保留地址空间:是为线程将来使用所保留的 块虚拟地址
2)、以页为单位的虚拟内存分配方式 ❖进程的地址空间中页面状态: ✓ 空闲 ✓ 保留 ✓ 提交 ❖虚拟内存分配方式: ✓ 应用程序可能首先保留地址空间,然后向此 地址空间提交物理页面。 • 保留地址空间:是为线程将来使用所保留的 一块虚拟地址