C 从内核发送到用户空间的信号是实时的吗?

C 从内核发送到用户空间的信号是实时的吗?,c,embedded-linux,C,Embedded Linux,我正在编写一个驱动程序,并尝试从内核向用户空间发送一些东西,我要做的是(这是我知道的唯一方法),从内核向用户空间发送一个信号,然后调用用户空间中某个地方的信号(…),它将捕获它并使用ioctl(…),现在是内核向用户空间发送东西的时候了 我的问题是,当信号发送时,它必须等待util user space call signal(),然后做些什么 还有内核和用户空间的其他方法吗?< /P> < P>你是否考虑让驱动程序只在文件描述符上发送一些字节(例如一些或字符设备)?还是使用?或与之互动 一种常

我正在编写一个驱动程序,并尝试从内核向用户空间发送一些东西,我要做的是(这是我知道的唯一方法),从内核向用户空间发送一个信号,然后调用用户空间中某个地方的信号(…),它将捕获它并使用ioctl(…),现在是内核向用户空间发送东西的时候了

我的问题是,当信号发送时,它必须等待util user space call signal(),然后做些什么


还有内核和用户空间的其他方法吗?< /P> < P>你是否考虑让驱动程序只在文件描述符上发送一些字节(例如一些或字符设备)?还是使用?或与之互动

一种常见的方法是在用户区域(启动时启动)中有一个助手进程来处理该文件描述符。该程序可能会使用一些多路复用系统调用,如


请注意,当您的驱动程序正在运行(并且您尝试发送一些信号)时,当前任务可能不是使用驱动程序的进程。因此,从内核区发送信号可能很棘手。

我认为发送信号是异步的。内核和用户之间交互的最简单方式之一是misc字符设备上的ioctl/read/write操作。您正在编写什么确切的驱动程序,您需要从内核向用户空间发送什么确切的内容,以及何时发送?请编辑您的问题以提供更多详细信息