★斗 系统代码包括操作系统映像、HAL和 用于引导系统的设备驱动程序。 系统映射视图用来映射Win32子系统可 加载的核心态部分Win32kys,以及它 使用的核心态图形驱动程序。 8 会话空间用来映射一个用户的会话信息。 进程页表和页目录描述虚拟地址映射的 8结构 超空间一个特殊的区域用来映射进程工 作集链表,并为创建临时映射物理页面
Microsoft Windows 2000/XP 16 • 系统代码 包括操作系统映像、HAL和 用于引导系统的设备驱动程序。 • 系统映射视图 用来映射Win32子系统可 加载的核心态部分Win32k.sys,以及它 使用的核心态图形驱动程序。 • 会话空间 用来映射一个用户的会话信息。 • 进程页表和页目录 描述虚拟地址映射的 结构。 • 超空间 一个特殊的区域用来映射进程工 作集链表,并为创建临时映射物理页面
★斗 ·系统工作集链表描述系统工作集的工 作集链表数据结构 系统高速缓存用来映射在系统高速缓存 中打开的文件的虚拟空间 82·分缓冲池可分页系统内存堆 系统页表项系统PTE缓冲池,用来映射 总系统页面 爷,非分页缓神池不可分页的系内存雄 17
Microsoft Windows 2000/XP 17 • 系统工作集链表 描述系统工作集的工 作集链表数据结构。 • 系统高速缓存 用来映射在系统高速缓存 中打开的文件的虚拟空间。 • 分页缓冲池 可分页系统内存堆。 • 系统页表项 系统PTE缓冲池,用来映射 系统页面。 • 非分页缓冲池 不可分页的系统内存堆
★斗 地址变换过程 核心进程 页目录索引 页表索引 字节索引 CR3 物理地址 要求的 PFN 8 要求的字节 PTE 页目录 页表 物理地址空间 (每个进程建立一张,1024项 (每个进程最多有512个,系统空间最多占用512 个,每张表1024项) 18
Microsoft Windows 2000/XP 18 地址变换过程 核心进程 页目录索引 页表索引 字节索引 CR3 物理地址 Index PFN PDE 页目录 (每个进程建立一张,1024项) Index PFN PTE 页表 (每个进程最多有512个,系统空间最多占用512 个,每张表1024项) Index 物理地址空间 要求的字节 要求的 页
进程1 进程 的页表 的页表 ★斗 PTE 0 PTE O 进程1的 进程2的 页目录 页目录 PDE 0 各进程私有 PDE O PDE 511 PDE 511 PDE 512 PDE 512 进程仍然没有访 问系统页表 8 系统页表 System PTE 0 System PTE
Microsoft Windows 2000/XP 19 进程 ... ... ... 进程 1 的页表 进程 2 的页表 PTE 0 进程 1 的 页目录 进程 2 的 页目录 PTE 0 PDE 0 PDE 0 System PTE 0 PDE 511 PDE 512 PDE n PDE n PDE 512 PDE 511 ......... ......... System PTE n ... 系统页表 进程仍然没有访 问系统页表 各进程私有
★斗 快表TLB 虚拟地址 匹配 TLB 虚页号:17 虚页5 页框290 虚页64 无效 虚页17 框1004 8 同时读取并比较 虚页7 无效 虚页6 页框14 虚页65 页框801 20
Microsoft Windows 2000/XP 20 快表TLB ... 虚页 5 页框290 虚页64 无效 虚页17 页框1004 虚页65 页框801 虚页 6 页框14 虚页 7 无效 TLB 虚页号:17 虚拟地址 同时读取并比较 匹配