内存映射设备的IO地址是否映射到进程的内核空间?

时间:2017-06-15 23:23:40

标签: linux assembly x86 operating-system

假设我有一个使用内存映射IO的设备。

我们知道在Linux中,每个进程都有3 GB的用户空间和1 GB的内核空间。

现在我假设该设备的地址将映射到进程的内核空间,以便进程(以用户模式运行)无法访问该设备。我是对的吗?

1 个答案:

答案 0 :(得分:5)

  

现在我假设该设备的地址将映射到进程的内核空间,以便进程(以用户模式运行)无法访问该设备。我是对的吗?

清除。由于设备存在于物理内存中,因此可以将它们映射到多个虚拟地址。适当特权的用户空间应用程序可以使用mmap() /dev/mem将部分I / O内存重新映射到其地址spce中。