分页 读操作系统概念第六版

来源:互联网 发布:ubuntu恢复删除的文件 编辑:程序博客网 时间:2024/05/01 23:28

 每个操作系统都有自己的方法来保存页表。绝大多数都为每个进程分配一个页表。页表的指针与其他信息(如指令计数器)一起存入进程控制块中。当分派程序需要启动一进程时,它必须首先装入用户寄存器,并根据所保存的用户页来定义正确的硬件页表值。

 

标准解决是采用小但专用且快速的硬件缓冲,这种缓冲称为翻译后备缓冲器(translation look aside buffer, TLB)。TLB是关联内存根据给定值查找时,他会同时与所有键进行比较。如果找到条目,那么就得到相应的值域。这种查找方式比较快,不过硬件也比较昂贵。通常,TLB的条目并不多,通常,TLB的条目数并不多,通常在64到1024之间。

 

TLB只包括页表中的一小部分条目。当CPU产生逻辑地址后,其页号提交给TLB。如果找到页号,那么也就得到了帧号,并可用来访问内存。整个任务与不采用内存映射相比,其时间长度缩短了10%。

 

如果页号不在TLB中(称为TLB失效),那么就需要访问页表。当得到帧号后,就可以用它来访问内存。同时,将页号和帧号后,就可以用它来访问。同时,将页号和帧号增加到TLB中,这样下次再用时就可很快查找到。如果TLB中的条目已满,那么操作系统会选择一个来替换。

 

原创粉丝点击