Linux kernel 如何进行内核线程通信?

Linux kernel 如何进行内核线程通信?,linux-kernel,multithreading,Linux Kernel,Multithreading,如何让内核模块中的线程进行通信?我正在编写一个内核模块,我的体系结构将使用三个需要通信的线程。到目前为止,我的研究让我相信唯一的方法是使用共享内存(声明全局变量)和锁定机制来同步线程之间的读写。这方面的资料相当稀少 我有没有别的办法可以考虑?内核代码中最常见的标准是什么?你不能说你在哪个操作系统上编程。我假设Linux是最常见的unix系统 有几本关于Linux内核编程的好书。在线和纸质均可获得。处理并发性;你可以直接跳到第五章,不过最好先浏览第一章和第三章。后续章节也有相关章节(特别是中讨论的

如何让内核模块中的线程进行通信?我正在编写一个内核模块,我的体系结构将使用三个需要通信的线程。到目前为止,我的研究让我相信唯一的方法是使用共享内存(声明全局变量)和锁定机制来同步线程之间的读写。这方面的资料相当稀少


我有没有别的办法可以考虑?内核代码中最常见的标准是什么?

你不能说你在哪个操作系统上编程。我假设Linux是最常见的unix系统

有几本关于Linux内核编程的好书。在线和纸质均可获得。处理并发性;你可以直接跳到第五章,不过最好先浏览第一章和第三章。后续章节也有相关章节(特别是中讨论的等待队列)


Linux内核并发模型是基于共享变量构建的。同步方法有很多种:原子整数变量、互斥锁(用于非阻塞关键部分的自旋锁、用于阻塞关键部分的信号量)、读写器锁、条件变量、等待队列等。

是的,Linux,谢谢。我将查看等待队列和Linux设备驱动程序手册,谢谢。