Начинаю изучать - ещё до конца не въехал (только скомпилил и примеры позапускал): хотелось бы "заранее узнать" насколько мне будет удобна эта технология.
Итак:
1. В тестовых примерах я скармливаю программе каталог-точку монтирования и прога начинает там "хозяйничать".
А есть ли возможность как-то другой проге подсунуть под такое же "хозяйничание" - подкаталог этой точки монтирования?
Подозреваю, что опытным fuse'рам вопрос покажется диким, но всё же...?
2. Выдержит ли FUSE если открыть и сидеть "слушать" ну, скажем, несколько тысяч файлов? Тысячи 4-5? А 10000?
Пока всё.
Вообще-то интересная технология.
Несколько вопросов про Fuse
Модератор: Модераторы разделов
-
v04bvs
- Сообщения: 636
- ОС: Debian GNU/Linux
Re: Несколько вопросов про Fuse
Вроде да. Монтируется же в смонтированный / например /home, как раз подобный случай.
2. Выдержит ли FUSE если открыть и сидеть "слушать" ну, скажем, несколько тысяч файлов? Тысячи 4-5? А 10000?
Не совсем понял, что здесь подразумевается.. Во-первых в ядре где то есть лимит на количество открытых файлов, и по-моему он около 1000. Во-вторых FUSE все низкоуровневые функции будет слать библиотеке, и всё зависит от того, как она будет тормозить.
Я вообще с FUSE разбирался, когда у меня в голове переклинило чего то. Мне оказывается нужно было inotify. По словам "слушать файлы" на всякий случай предложу проверить, не оно нужно?
-
Zeus
- Сообщения: 694
Re: Несколько вопросов про Fuse
Мне понравилась идея mrcache:
SCADA под Linux
Хочу обкатать её на конторском проекте, чтобы, возможно, потом применить в вымучиваемой мною scada.
-
Zeus
- Сообщения: 694
Re: Несколько вопросов про Fuse
FUSE допускает открытие файла несколькими процессами (или потоками) сразу?
А "драйвер" этого файла сможет различить их при чтении (в функции read)?
И ещё такой вопрос:
у "драйвера" ещё не готовы данные - он, например, на семафоре, усыпляет процесс, вызывающий функцию read.
По готовности (семафор взводится - поток просыпается) - данные сливаются вызывающему процессу.
А как реализовать это в случае чтения файла несколькими потоками(процессами)?
Заводить кучку семафоров - по одному для каждой "сессии"? Или во FUSE есть какой-нибудь другой механизм?
А "драйвер" этого файла сможет различить их при чтении (в функции read)?
И ещё такой вопрос:
у "драйвера" ещё не готовы данные - он, например, на семафоре, усыпляет процесс, вызывающий функцию read.
По готовности (семафор взводится - поток просыпается) - данные сливаются вызывающему процессу.
А как реализовать это в случае чтения файла несколькими потоками(процессами)?
Заводить кучку семафоров - по одному для каждой "сессии"? Или во FUSE есть какой-нибудь другой механизм?
-
Zeus
- Сообщения: 694
Re: Несколько вопросов про Fuse
У меня тут подозрение возникло:
ведь каждое чтение/запись в/из файла, в т.ч. и FUSE'овского - это переключение контекста потока из пользовательского в ядерный и обратно?
Активная работа с файлами будет тормозить работу SCADA - гораздо быстрее будет взаимодействовать внутри одного процесса...
ведь каждое чтение/запись в/из файла, в т.ч. и FUSE'овского - это переключение контекста потока из пользовательского в ядерный и обратно?
Активная работа с файлами будет тормозить работу SCADA - гораздо быстрее будет взаимодействовать внутри одного процесса...
-
v04bvs
- Сообщения: 636
- ОС: Debian GNU/Linux
Re: Несколько вопросов про Fuse
Zeus писал(а): ↑02.08.2007 21:50У меня тут подозрение возникло:
ведь каждое чтение/запись в/из файла, в т.ч. и FUSE'овского - это переключение контекста потока из пользовательского в ядерный и обратно?
Активная работа с файлами будет тормозить работу SCADA - гораздо быстрее будет взаимодействовать внутри одного процесса...
А не слишком рано оптимизацией заниматься? ))
-
Zeus
- Сообщения: 694
-
Serik
- Сообщения: 149
- ОС: SuSE Linux
Re: Несколько вопросов про Fuse
FUSE сама ничего не делает, поэтому ей абсолютно все равно, сколько файлов вы откроете и что с ними будете делать.
FUSE вызывает ваш код, и от вас зависит сколько файлов выдержит ваша система.