![使用inb、inl、inw从用户空间访问内核空间](https://linux22.com/image/742/%E4%BD%BF%E7%94%A8inb%E3%80%81inl%E3%80%81inw%E4%BB%8E%E7%94%A8%E6%88%B7%E7%A9%BA%E9%97%B4%E8%AE%BF%E9%97%AE%E5%86%85%E6%A0%B8%E7%A9%BA%E9%97%B4.png)
inb
在 Linux 中使用、inl
、 和inw
访问内核空间的用户空间示例有哪些?
答案1
inb
,outb
朋友们并不用于内核↔用户空间通信,它们用于读取和写入特定于平台的IO端口。
这些功能的典型用途是与串行或并行端口(以及连接的设备)直接交互,而无需一路创建特定的内核设备驱动程序。
X 服务器还可以使用它们与视频(或可能的输入设备)硬件进行低级通信。
要从用户空间使用这些调用,需要做两件事:
Linux I/O 端口编程迷你 HOWTO将引导您完成基本知识,最后有一个简单的示例程序*。
请注意,使用此端口的程序直接与这些端口后面的任何硬件(或固件)进行通信。内核不会验证或以其他方式干扰这些调用。因此,误用它们可能会导致严重的问题。小心轻放。
*您需要#include <stdlib.h>
并 替换<asm/io.h>
为<sys/io.h>
才能编译。