我们经常看到很多文章中都说某某设备将自己的寄存器映射到系统的某某地址空间中,然后,对该处地址的操作就相当于对该设备的寄存器的操作了。
对于任意一个给定的虚拟地址,操作系统是怎么分辨出他是一个普通的虚拟地址,还是一个某个设备的映射地址?另外,如果是一个设备的映射地址,它又是怎么知道这个映射地址是哪个设备的映射呢?
操作系统实现这种功能需要特定的硬件支持吗?如或许是PCI Bridge等等?还是直接使用操作系统内部的数据结构就能够区分普通地址,设备的映射地址了呢?
阅读(1664) | 评论(0) | 转发(0) |