Operating system 开始添加内存中页面的地址?

Operating system 开始添加内存中页面的地址?,operating-system,Operating System,如果进程引用虚拟地址0x100F3557,则可拆分虚拟地址的三个字段的值为: Offset = 0x557 Page Table = 0x0F3 Page Directory = 0x040 此地址的页表条目的值为0x71248021 内存中页的起始地址是什么?假设x86分页,页表条目由页映射到的帧的(物理)地址加上一些控制信息组成。后者占据条目的下12位,即十六进制值的最后3位。因此 帧地址=0x71248000 控制信息=0x021 此处的提示告诉我们此页面是 当前,设置了位0,因此

如果进程引用虚拟地址
0x100F3557
,则可拆分虚拟地址的三个字段的值为:

Offset = 0x557
Page Table = 0x0F3
Page Directory = 0x040
此地址的页表条目的值为
0x71248021


内存中页的起始地址是什么?

假设x86分页,页表条目由页映射到的帧的(物理)地址加上一些控制信息组成。后者占据条目的下12位,即十六进制值的最后3位。因此

  • 帧地址=
    0x71248000
  • 控制信息=
    0x021
此处的提示告诉我们此页面是

  • 当前,设置了位0,因此存在活动映射
  • 只读,位1未设置
  • 用户模式可访问,位2未设置
  • (回写缓存,位3未设置)
  • (缓存,第4位未设置)
  • 已访问但未写入(设置位5,未设置位6)
  • (不是全局页面,第8位未设置)
因此,假设进行读取操作,进程将访问地址
0x71248000 | 0x557==0x71248557
,其中
0x557
是从虚拟地址提取的偏移量