当我们说一个设备是存储器映射时,内存映射IO - 谁将地址映射到物理地址空间?
- 谁将地址映射到设备?
- 这些地址空间是如何根据位置和大小来决定的?
- 这些地图在哪里存储?
- 这些地址空间是否因系统引导而有所不同?
当我们说一个设备是存储器映射时,内存映射IO - 谁将地址映射到物理地址空间?
粗略地说,
/proc/<pid>/maps
以查看所有内存映射文件和设备。对于进一步的阅读,我建议从Linux设备驱动程序,this FAQ和this stackoverflow question的Memory Mapping and DMA chapter。
Linux? MMU?没有看到他们在问题中提到。 –
@MartinJames:在问题中缺少一些术语并不禁止他们在答案中的使用。 – Tsyvarev
您对Linux或Windows等特定操作系统感兴趣吗? – jamieguinan
我想了解内存映射IO的一般理解。如果你有特定的操作系统实现,那也是有用的! –
地址解码逻辑硬件处理映射。地址和范围可以是可配置的或固定的。确切的机制是架构/操作系统的依赖。 –