【发布时间】:2018-02-09 00:03:07
【问题描述】:
我了解分段的工作原理,并且分页是现代操作系统中内存访问的首选方式。但我不确定段寄存器未使用的方式:
- 它们只是出现未使用,因为它们通常具有基数 0 和限制 0xFFFFFFFF。请注意,在这种情况下,它们仍然参与物理地址计算,但它们是透明的并提供平面内存模型。
- 它们完全没有受到影响。
【问题讨论】:
-
您的第一点是正确的。我们无法在保护模式下禁用分段,因此我们将其配置为不妨碍。在长模式下,它被“剥离”,例如不检查 base 和 limit。
-
段寄存器是一种允许 16 位处理器处理超过 64KB 内存的黑客行为。这在 32 位或 64 位处理器上不再需要了,4 PB 对每个人来说都足够了。
-
段寄存器就像人类的附录:它们没有任何作用。
标签: x86 operating-system memory-segmentation