【发布时间】:2013-12-26 11:58:28
【问题描述】:
我正在查看“/proc/iomem”条目,但对此有疑问。
我的 Linux PC 运行的是 Intel Xeon,系统 RAM 为 4GB。
我系统的/proc/iomem 条目看起来像
00000000-0000ffff : 保留 00010000-0009f3ff : 系统内存 0009f400-0009ffff : 保留 000a0000-000bffff : PCI 总线 0000:00 000c0000-000c7fff : 视频 ROM 000ca000-000cbfff : 保留 000ca000-000cafff : 适配器 ROM 000cb000-000cbfff : 适配器 ROM 000cc000-000cffff : PCI 总线 0000:00 000d0000-000d3fff : PCI 总线 0000:00 000d4000-000d7fff : PCI 总线 0000:00 000d8000-000dbff:PCI 总线 0000:00 000dc000-000fffff : 保留 000f0000-000fffff : 系统 ROM 00100000-7fedffff : 系统内存 01000000-01520fa4 : 内核代码 01520fa5-01c0e44f:内核数据 01d56000-0201d963 : 内核 bss 03000000-0b0fffff:内核崩溃 7fee0000-7fefefff : ACPI 表 7feff000-7fefffff : ACPI 非易失性存储 7ff00000-7fffffff : 系统内存 c0000000-febfffff : PCI 总线 0000:00 fec00000-fec0ffff : 保留 fec00000-fec003ff:IOAPIC 0 fed00000-fed003ff:HPET 0 fed00000-fed003ff:即插即用 00:08 fee00000-fee00fff : 本地 APIC fee00000-fee00fff : 保留 fffe0000-ffffffff : 保留现在,假设我的处理器有 32 条地址线(我觉得它有 40 条地址线 - 我从 /proc/cpuinfo 看到这个),这意味着我的处理器将能够寻址 4GB 的物理内存。
从我的“/proc/iomem”条目中,我看到只有 2GB 的系统 RAM 由我的 CPU 直接寻址。
现在我的疑问是
- 我的 CPU 如何处理其他 2 GB 的 RAM?我在哪里可以看到它的内存映射?
【问题讨论】:
-
为什么要使用 32 位内核?
-
这与 /proc/iomem 的输出有什么关系?
-
64 位输出看起来会有所不同……
标签: linux linux-kernel embedded-linux