我最近正在研究 x86 和 x86-32 机器中的页表架构。
x86-32 分页架构:
x86-64 分页架构:
例如,在 x86 中,我们使用 10 位作为页目录/页表的偏移量。这意味着我们可以在页目录/页表中索引 1K 个条目。但鉴于页目录和页表地址必须与页对齐,操作系统必须为页目录/页表分配 4K 内存
我的理解正确吗?我是不是在某个地方搞错了数学。
如果我的理解正确,我有两个后续问题
- 如果系统中有很多进程(因此有很多页目录和表),这不是会浪费很多内存吗?
- 是否有任何操作系统实现可以利用这 3k 无法访问的内存做一些有趣的事情