linux - 使用用户空间进程来协助内核模块

标签 linux kernel

我正在开发一款可在 Linux 下运行的高性能硬件。我们想缓存一些数据,但我们担心内存消耗——所以我们的想法是创建一个用户进程来管理缓存。这样,缓存可以位于虚拟内存中,而不是内核空间等。

问题是:最好的方法是什么?我的第一直觉是让内核模块创建一个字符设备文件,并让一个用户程序打开该文件,然后坐在一个 select 语句上等待命令到达它。但我担心这可能不是最佳选择。一位 friend 提到他知道基于套接字的接口(interface),但当被追问时他无法提供任何细节....

有什么建议吗?

最佳答案

我认为您正在寻找 netlink界面。参见 Why and How to Use Netlink Socket [原文如此]了解更多信息。在内核和用户空间之间对话时要注意安全问题;最近有一个vulnerabilityudev 忽略检查消息来自内核而不是用户空间时。

关于linux - 使用用户空间进程来协助内核模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/787155/

相关文章:

node.js - 无法从同一 Wi-Fi 连接到 Node 服务器

Php 在 linux 服务器上以错误的编码保存上传的文件

debugging - 了解内核oops错误代码

linux - 运行多线程应用程序的新四核处理器中的 linux 内核有多好

c# - 使用 C# 进行内核级编程

memory-management - 页面结构的有效载荷在哪里

ubuntu - 如何安装 Linux 内核头文件?

php - 映射 CIFS 共享上的 chown 不起作用

linux wget 未认证?

xml - 如何在 bash 脚本中将一个包含 '< >' 的文件附加到另一个文件