【发布时间】:2015-06-06 20:13:56
【问题描述】:
我见过一些关于 32 位页表的例子,大多数假设是 4 字节的页表条目。我想知道 64 位架构是否以相同的方式工作?如果我想在 64 位中实现 2 级和 3 级页表,页表大小范围有什么区别?
【问题讨论】:
-
‘32 位架构’和‘64 位架构’太模糊了。如果您的意思是 IA32 和 AMD64/EMT64,请多说。
-
一般情况下我可以使用 64 位地址吗? @user2864740
-
64 位机器并不意味着 64 位寻址。例如,在 AMD64 上,它是 48 位虚拟、52 位物理 IIRC(但是,嘿,我不是计算机工程师!)。 32 位 IA32 机器也有类似的不明确区别,其中可能有超过 32 位的物理寻址。我将从审查可用资源开始,并专注于更具体的问题(具有更具体的实施/目标)。
-
@user2864740 我觉得这次应该用i386
-
i386不支持 64 位。在Intel® 64 and IA-32 Architectures Software Developer Manuals 中研究page-directory entry和page-table entry的概念和数据结构可能是个好主意,因为它会为您提供一些对测验和后续(重新)搜索有用的技术术语。更轻量级的资源是OSDev.org wiki
标签: memory memory-management operating-system memory-address page-tables