Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当发生进程切换,必须使用新进程的页表和页目录时,内核从哪里得知新进程的页目录位置?
我知道新进程的页面目录存储在物理内存中。但是内核怎么知道在哪里找到它呢?
通常,内核会保留描述系统上每个进程的状态结构。在该结构中的某处将有进程的“根”页表的地址。在 x86 机器上,这需要存储在 CR3 寄存器中才能切换到新的页表。有时这个寄存器被隐式保存和恢复,作为保存/恢复一堆 CPU 状态的更大操作的副作用,或者有时这个值由内核显式管理。