Linux 使用文件的MacOs内核用户空间通信

Linux 使用文件的MacOs内核用户空间通信,linux,macos,linux-kernel,kernel,mach,Linux,Macos,Linux Kernel,Kernel,Mach,我想从内核创建一个文件,这个文件必须从用户空间访问。其他通信方式(例如ioctl)不适合,因为用户空间应用程序只需要文件,而我没有它的源代码 我需要在MAC上做这个。如果我使用Linux,我会使用sysfs,但是在MacOs上他们没有sysfs,所以我决定使用devfs 我创建了示例soultion,一切都很好,但问题是设备文件(devfs文件)没有大小。用户空间代码检查文件大小并跳过此文件。我知道大小会有多大,但我不知道如何将其设置为devfs文件 我不想在真正的文件系统中创建文件,因为它可能

我想从内核创建一个文件,这个文件必须从用户空间访问。其他通信方式(例如ioctl)不适合,因为用户空间应用程序只需要文件,而我没有它的源代码

我需要在MAC上做这个。如果我使用Linux,我会使用sysfs,但是在MacOs上他们没有sysfs,所以我决定使用devfs

我创建了示例soultion,一切都很好,但问题是设备文件(devfs文件)没有大小。用户空间代码检查文件大小并跳过此文件。我知道大小会有多大,但我不知道如何将其设置为devfs文件

我不想在真正的文件系统中创建文件,因为它可能相当大。我只想将读写重定向到我的内部函数

FUSE()是be的理想选择,但这涉及到用户空间守护进程


有什么建议吗?

我想你正在开发kext?文件必须在内核中创建的具体原因是什么?或者,您可以将数据从内核传递到用户空间程序,并让它创建文件。是的,我正在开发一个内核扩展。一般来说,使用FUSE在usingspace中创建文件是可以的,我只是尽量不涉及新的层-将创建文件的守护进程,FUSE libabryOh,我明白了,您只是创建了一个kext,没有守护进程。