pau*_*lAl 28 operating-system kernel device-driver linux-kernel
我已经了解了端口映射IO和内存映射IO之间的区别,但我无法弄清楚在现代操作系统(windows或linux)中如何实现内存映射Io
我所知道的是,物理内存的一部分被保留用于与硬件通信,并且有一个MMIO单元参与处理总线通信和其他与内存相关的东西
驱动程序如何与底层硬件通信?驱动程序将使用哪些功能?在使用它们之前,与视频卡通信的地址是固定的还是某种"协议"?
我还是很困惑
Gnu*_*rou 37
您的问题中的以下陈述是错误的:
What I know is that a part of the physical memory is reserved to communicate with the hardware
物理内存的一部分不保留用于与硬件通信.物理内存和内存映射IO映射到的物理地址空间的一部分是.这种内存布局是永久性的,但是用户程序不会直接看到它 - 相反,它们会运行到它们自己的虚拟地址空间,内核可以决定映射到任何地方,物理内存和IO范围.
您可能希望阅读以下文章,我认为这些文章包含大多数问题的答案:
归档时间: |
|
查看次数: |
19255 次 |
最近记录: |