勵志

勵志人生知識庫

页表存放在哪里

物理內存

頁表是一種特殊的數據結構,它主要存放在物理內存中,用於保存邏輯頁與物理頁幀的對應關係。頁表本質上是一箇物理內存頁,其中包含了PTE(Page Table Entry),即頁表項,這些頁表項保存了虛擬內存與物理內存的映射關係。頁表也會參與內核的調度,可能會被換入(swap in)或換出(swap out)到磁盤,並且有可能被緩存在CPU高速緩存中以加速訪問。當內存緊張時,不常用的頁表可能會被換出到磁盤,而頂級頁表(如頁目錄表)必須常駐內存,不允許被換出。

在進程未獲得運行時,頁表的起始地址和長度存放在進程控制塊(PCB)中。當進程獲得執行後,系統會設置頁表寄存器來存放頁表在內存的起始地址和長度。

需要注意的是,雖然頁表主要存放在物理內存中,但它也與虛擬內存空間有關。虛擬內存空間是當物理內存不足時,向磁盤借用一部分存儲空間作爲內存使用。頁表中的頁表項(指針)所指向的內存可能位於磁盤空間中,即虛擬出來的內存區域。

總結來說,頁表主要存放在物理內存中,但它的管理和訪問也涉及到虛擬內存空間和頁表寄存器的設置。