实际上,从我之前了解的页表原理,大概也是这样的。
上图的话,有一个背景,就是让 一级页表的最后一个项,指向一级页表自身。因为在启用页表后,要改读写任何位置,包含改变页表的项的内容,都得经过 虚拟地址转换,这样做的话,就可以方便得 去改变一级页表的某个项的内容,不然的话,还得 做个一级页表二级页表的地址全映射。然后上图就是 这个场景中对虚拟地址的第 3 部分 做处理。
这个巧妙的过程,我看懂了。但是 为什么这里的页内偏移要乘以 4 ?
PS:内容来自书籍《 x86 从实模式到保护模式》
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.