我一直在查看cat /proc/iomem
的输出,并注意到系统RAM第一个块末尾的1 kB保留地址。起初,我认为这是我安装的一个侥幸,但我的研究似乎表明它相当普遍。但是,我还没有找到令人满意的解释,为什么它存在。以下是一个示例:[CentOS部署指南] [1]
00000000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000f0000-000fffff : System ROM
00100000-07ffffff : System RAM
00100000-00291ba8 : Kernel code
00291ba9-002e09cb : Kernel data
e0000000-e3ffffff : VIA Technologies, Inc. VT82C597 [Apollo VP3] e4000000-e7ffffff : PCI Bus #01
e4000000-e4003fff : Matrox Graphics, Inc. MGA G200 AGP
e5000000-e57fffff : Matrox Graphics, Inc. MGA G200 AGP
e8000000-e8ffffff : PCI Bus #01
e8000000-e8ffffff : Matrox Graphics, Inc. MGA G200 AGP
ea000000-ea00007f : Digital Equipment Corporation DECchip 21140 [FasterNet]
ea000000-ea00007f : tulip ffff0000-ffffffff : reserved
我的问题:
谢谢!我一直是堆栈溢出的长期读者,这是我第一次作为参与者:)
编辑:@MichaelPetch提供的信息回答了我的第二个问题。阅读有关EBDA部分的更多信息,让我看到这篇关于实模式的有用文章,以及分段粒度从1 B变为4 kB:Memory Map x86
在我看来,在切换到保护模式后,内核回收地址范围00000000-0009fbff以用于寻址系统RAM。这让我有了更多的问题: