LINUX.ORG.RU

Создание интерфейса к пользовательскому процессу через VFS


0

0

Unix файловая система построена по принципу VFS (Virtual File System), согласно которому все иерархическое пространство имен делится между разнотипными фаловыми системами. При этом под файлом понимается некоторый источник/приемник данных, который в зависимоти от типа файловой системы может представлять как некоторую именнованную область на локальном жестком диске так и интерфейсную точку доступа к функциям ядра ( например файл устройства /dev/cdrom :) или еще чего-нибудь...

Слегка поразмыслив над этим у меня возник вопрос:

А существую ли решения, которые позволяют организоавть интерфейс подобный devfs или procfs к функциям некоторого пользовательского процесса? Другими словами отразить некоторую функциональность процесса в виде файлов VFS (Ну вроде Plan9 только под Linux или современные BSD ).

Единственное готовое решение которое я нашел - named pipe, но интуитивно чувствуется что идею можно немного угУбить.


>Единственное готовое решение которое я нашел - named pipe, но интуитивно чувствуется что идею можно немного угУбить.

Локальная smbfs, nfs, intermezzo, etc.

Murr ★★
()
Ответ на: комментарий от anonymous

>в чем преимущество локальной сетевой фс перед userspace?

В смысле преимущества? :) Поскольку не ясна задача, то непонятно какие есть преимущества/недостатки. Я просто привел готовые примеры клиент(ФС)<->сервер(userspace). Если нужно просто отобразить существующую директорию с какими-то специфическими ограничениями или возможностями, то можно просто подковырять существующий серверный код.

Murr ★★
()
Ответ на: комментарий от Murr

задача, насколько я понимаю, сделать некий набор "виртуальных"
файлов, наподобие /proc, чтение-запись для которых будет обрабатываться
неким userspace процессом. мой вопрос состоит в том, будет ли проще
ковырять код nfs-сервера либо воспользоваться чем-то наподобие FUSE

anonymous
()
Ответ на: комментарий от anonymous

>либо воспользоваться чем-то наподобие FUSE

Думаю, в большинстве случаев проще будет написать ядреный модуль. ;)

Murr ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.