设备内存缓冲区和 /proc/iomem

设备内存缓冲区和 /proc/iomem

https://osu.redhat.com/content/courses-zh-cn/rha130-4/section_0002/tag_lessons/section_0002/section_0001/tag_resource/section_0003?set_language=zh-cn

许多比较先进的设备都有自己的内存,这些内存一旦映射到系统的内存地址空间中,可以利用它们轻松地传递数据。显卡是典型的自己提供内存缓冲区的设备。

proc 文件系统文件 /proc/iomem 显示所有内存缓冲区映射到物理内存的设备,和分配给每个缓冲区的物理内存地址(以十六进制数字列出)。

[root@station root]# cat /proc/iomem

00000000-0009fbff :System RAM 

0009fc00-0009ffff : reserved

000a0000-000bffff :Video RAM area

000c0000-000c7fff : Video ROM

000f0000-000fffff : System ROM

00100000-2dfeffff : System RAM

  00100000-002766f6 : Kernel code

  002766f7-00384807 : Kernel data

...

e3000000-e3003fff :Creative Labs SB Audigy FireWire Port

e3004000-e30043ff : Linksys Network Everywhere Fast Ethernet 10/100 model NC100

  e3004000-e30043ff : tulip

e3005000-e30057ff : Creative Labs SB Audigy FireWire Port

e3006000-e30060ff : VIA Technologies, Inc. USB 2.0

  e3006000-e30060ff : ehci-hcd

e3007000-e30070ff : VIA Technologies, Inc. VT6102 [Rhine-II]

  e3007000-e30070ff : via-rhine

...

在看到这个文件以前,机器的主内存 (RAM 或“随机存取内存(Random Access Memory”)被视为“一个其它设备”,并与低层物理地址空间映射。

物理地址空间不需要连续(没有间隔地)使用。在这里系统 RAM 的映射被打断以便映射 VGA 显卡。这个设备的地址之前曾在物理地址空间出现,但由于某些原因不能被删除。

多数有缓存的先进设备会被映射到物理地址空间的上层地址。

你可能感兴趣的:(proc)