参考:
设计
下面一张图可以展示分页技术的层级设计过程:
概念
页 (Page):
- 在进程的逻辑地址中,一段连续地址的集合。
- 页的大小一般提供三种规格:4K、2M、4M
Frame:
- 在内存的物理地址中,一段连续地址的集合。
- 一个 Page 与一个对应的 Frame 对应,Frame 的大小与 Page 也是相同的。
页表 (Page Table) 与页目录 (Page Directory):
页表:是一个有
1024
个32-bit
元素的列表,每一个元素都指向一个真实的物理地址;如果页表大小为
4K
,我们只能表示1024 * 4K = 2^22
,22-bit
的逻辑地址。而我们需要4G = 32-bit
的逻辑地址。因此如果只有一个页表,我们无法表示整个逻辑地址空间。页目录:因为页表无法映射所有逻辑地址而产生的二级目录,它也是一个有
1024
个32-bit
元素的列表,每一个元素都指向一个页表的地址;页表和页目录项一起工作,我们即可以映射整个
4G = 32-bit
的逻辑地址。