设备内存缓冲区和 /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 :1System RAM 
0009fc00-0009ffff : reserved
000a0000-000bffff :2Video RAM area
000c0000-000c7fff : Video ROM
000f0000-000fffff : System ROM
00100000-2dfeffff : System RAM
  00100000-002766f6 : Kernel code
  002766f7-00384807 : Kernel data
...
e3000000-e3003fff :3Creative 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
...
1

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

2

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

3

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

原文地址:https://www.cnblogs.com/cute/p/2022301.html