Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何与用户空间共享linux内核内存(只读)_Linux_Linux Kernel_Shared Memory_Procfs - Fatal编程技术网

如何与用户空间共享linux内核内存(只读)

如何与用户空间共享linux内核内存(只读),linux,linux-kernel,shared-memory,procfs,Linux,Linux Kernel,Shared Memory,Procfs,我需要将大约100KiB的内核内存共享给用户空间。用户空间守护进程将以只读方式每秒访问此内存几次(5-10次)。procfs是实现它的最佳方式吗?kmalloc和vmalloc是最好的方式 但在继续之前,请检查以下各项: 如前所述,procfs是共享数据的糟糕方式。它本身用于设置。procfs肯定不是实现它的最佳方式。因为很多原因,它甚至不是一个好的。有一种方法可以在内核和用户空间之间共享内存(不一定是只读的),但遗憾的是,我个人并不知道。但是,我猜在内核模块中会得到几个页面(您需要多少页面

我需要将大约100KiB的内核内存共享给用户空间。用户空间守护进程将以只读方式每秒访问此内存几次(5-10次)。
procfs
是实现它的最佳方式吗?

kmalloc和vmalloc是最好的方式

但在继续之前,请检查以下各项:


如前所述,procfs是共享数据的糟糕方式。它本身用于设置。

procfs
肯定不是实现它的最佳方式。因为很多原因,它甚至不是一个好的。有一种方法可以在内核和用户空间之间共享内存(不一定是只读的),但遗憾的是,我个人并不知道。但是,我猜在内核模块中会得到几个页面(您需要多少页面),要共享这些页面,请将这些页面(具有权限)添加到您感兴趣的进程的虚拟地址中。我不确定这是不是真的,也不知道会有什么复杂情况,但这可能会让你开始!可能重复的