内存映射IO - 谁将地址映射到物理地址空间?

时间:2016-05-17 14:14:09

标签: operating-system kernel device-driver

当我们说设备是内存映射时,

  1. 谁将地址映射到设备?
  2. 这些地址空间如何根据位置和大小决定?
  3. 这些地图存储在哪里?
  4. 这些地址空间是否因系统启动而异?

1 个答案:

答案 0 :(得分:1)

粗略地说,

  1. MMU硬件。
  2. 内核管理MMU硬件使用的MMU表。
  3. 在每个进程结构中。在Linux下,查看/proc/<pid>/maps以查看所有内存映射文件和设备。
  4. 他们可以,所以你不应指望他们被修复。
  5. 如需进一步阅读,建议您使用Linux设备驱动程序Memory Mapping and DMA chapterthis FAQthis stackoverflow question