有关内存管理的一些问题

以下讨论基于《Linux内核完全注释(内核版本0.11)》一书(简称《内核》),作者赵炯。

1. 问:CPU页表高速缓冲 (在《内核》中这么描述)是否就是所谓的TLB(Translation Lookaside Buffer)?
    答:也许是的。
2. 问:如何更新TLB?
    答:CPU自己完成(想想软件维护CPU内部的数据结构,速度慢且没必要)。具体来说,在《内核》中写到只需重新加载页目录寄存器CR3即可,只需一条指令(0.11内核只有一个目录表,位于物理地址0处,于是将值为0的EAX赋给CR3作为这种更新通知,即使在这种情形下CR3始终没变过)。

posted @ 2007-06-28 19:59  quanben  阅读(119)  评论(0编辑  收藏  举报