操作系统---(32)多级页表及相关计算

1.一级页表结构

操作系统---(32)多级页表及相关计算_第1张图片

2.多级页表结构

计算:一个由32位二进制组成的地址空间,页面长度为4KB,每个页表项占用4B,则:
进程的页面总数可达 2的20次方 = 1MB个
整个页表最大占用 4MB

页号 页内地址
31-16 11-0

那么问题是:4MB的页表怎么存放?
一个帧只有4KB,所以4MB的页表需要离散存放。需占用 4MB/4KB=1K个帧。这就需要建立更高一级的页表,记录页表所占的帧号,叫做“页表的页表”即,二级页表

二级页表
操作系统---(32)多级页表及相关计算_第2张图片
二级页表地址形式
| 外层页号 | 内层页号 | 页内偏移|
如果二级页表也必须用多个帧俩存放,那就需要建立更高一级的页表。

3.计算题

操作系统---(32)多级页表及相关计算_第3张图片
操作系统---(32)多级页表及相关计算_第4张图片操作系统---(32)多级页表及相关计算_第5张图片

4.多级页表机制的地址重定位过程

处理机中要设有外部页表寄存器,存放当前进程的外部页表首地址。系统根据指令给出的逻辑地址:

  • 用逻辑地址中的外层页号a查外层页表,得到内层页表首地址。
  • 用逻辑地址中的内层页号b查内层页表,得到数据帧号。
  • 将数据帧的首地址加上偏移地址c得到物理地址。
    操作系统---(32)多级页表及相关计算_第6张图片

你可能感兴趣的:(操作系统)