Page Table

Introduction

對於 process 來說,他看到的是 Page 0, Page 1,…,但這些 page 實際上可以被放進任意的 frame 裡面,只要我們每個 process 都維護一個 page table 紀錄「哪個 page 放在哪個 frame」就可以了

page table 存放在 main memory

inverted page table 只維護唯一的 page table,也就是 per-OS

Registers

PTBR 和 PTLR 是 OS 用來定位在跑的 process 的 page table 位置的 registers

Page Table Base Register (PTBR)

儲存當前 process 的 page table 在記憶體中的起始位址physical address

Page Table Length Register (PTLR)

儲存 page table 的大小(有幾個 entry)

Structure of Page Table

Hierarchical Page Table

D-OS-Ch04cea-Hierarchical_Page_Table

Hashed Page Table

D-OS-Ch04ceb-Hashed_Page_Table

Inverted Page Table

D-OS-Ch04cec-Inverted_Page_Table