分頁表

维基百科,自由的百科全书
跳转到: 导航, 搜索
跳过字词转换说明

分頁表是一种数据结构,為使用電腦作業系統虛擬記憶體技術,將記憶體空間切割成分頁的形式,用於儲存虛擬記憶體及實體記憶體間的對應。虛擬記憶體為行程及CPU唯一存取的方法,實體記憶體則為RAM的記憶體位址。

[编辑] 分页表的角色

在一个使用虚拟内存的操作系统中, 每个进程都被假设给与一个庞大, 连贯的内存. 现实中每个进程的内存可能是分散在物理内存的不同区间当中, 甚至分页到其他储存设备(特别是硬盘)当中. 当进程读写内存地址的时候, 操作系统把虚拟内存地址翻译成物理内存地址. 分页表就保存着从虚拟内存地址到物理内存地址的映射.

[编辑] 翻译过程

处理器的内存管理单元(MMU)保存分页表中最近使用的内存地址. 这叫做分页缓存(TLB). 当一个虚拟地址需要被翻译成物理地址的时候, 首先搜索分页缓存, 有对应的时候叫做分页缓存命中, 返回物理地址. 然而在没有对应的时候, 分页缓存没有命中, 处理器会生成一个页面缺陷的中断. 操作系统会用一个中断处理程序来对应这种页面缺陷. 这个终端程序会从分页表中搜寻这个映射是否存在. 如果存在则对分页缓存写入(这必须完成因为硬件通过分页缓存才读写虚拟内存系统), 然后重启缺陷的指令. 接下来该指令就能通过分页缓存读写该内存地址.


个人工具
名字空间
操作
导航
帮助
工具
其他语言