本人学习及复习笔记,内容参考自《操作系统导论》英文原版(图片来源)及中文译版第18-22章,仅供学习参考。
文章目录
概念名字与简介
- 分页 paging···将一个进程的地址空间分割成固定大小的页(page)。
- 页帧 page frame···把物理内存看成定长槽块的阵列,包含一个虚拟内存页。
- 页表 page table···每个进程记录地址空间的每个虚拟页在物理内存中的位置的一个数据结构,作用是把虚拟页号映射到物理帧号。
- 虚拟页面号 VPN(virtual page number)···选择第几个页。
- 页内偏移量 offset···选择该页的哪个字节。
- 物理帧号 PFN···对应的物理地址。
- 线性页表···最简单的页表,本质上是数组。
- 页表项 PTE···一个页号与其对应的物理块号。
- 页表基址寄存器 PTBR···包含页表的初始位置的物理地址。
- 地址转换缓存 TLB···频繁发生的虚拟到物理地址转换的硬件缓存。
- 页目录 page directory···为每页页表包含了一项。记录页表的也在哪里,以及是否有效。
- 页目录项 PDE···包含有效位和页帧号。
- 页目录索引 PDIndex···索引页目录项的地址
- 页表索引 PTIndex···索引页表本身
分页介绍
地址空间与页帧
地址转换过程
地址空间大小为 2M ,包含 2N 个字节 => 虚拟地址空间有 M 位,VPN有 N 位,偏移量有 M-N 位 => 线性页表有2N个项
页表项 PTE
在页表中,一个页号与其对应的物理块号称之为一个页表项。它包含了:
名称 | name | 作用 |
---|---|---|
有效位 | valid bit | 该地址转换是否有效 |
保护位 | protection bit |