0

カーネルからファイルを作成したいのですが、このファイルはユーザー空間からアクセスする必要があります。他の通信方法 (ioctl など) は適切ではありません。ユーザー空間アプリケーションはファイルしか必要とせず、そのソース コードを持っていないからです。

MACでこれを行う必要があります。Linux を使用していた場合は sysfs を使用しますが、MacO には sysfs がないため、devfs を使用することにしました。

私はサンプルのソウルションを作成し、すべてうまくいきましたが、問題は、デバイス ファイル (devfs ファイル) にサイズがないことです。ユーザー空間コードはファイル サイズをチェックし、このファイルをスキップします。サイズがどのくらいになるかはわかっていますが、devfs ファイルに設定する方法がわかりません。

ファイルは非常に大きくなる可能性があるため、実際のファイルシステムでファイルを作成したくありません。私が望むのは、読み取りと書き込みを内部関数にリダイレクトすることだけです。

FUSE ( http://en.wikipedia.org/wiki/Filesystem_in_Userspace ) は理想的ですが、これにはユーザー空間デーモンが含まれます。

助言がありますか?

4

0 に答える 0