Что преимущества и оборотные стороны состоят в том, чтобы использовать файловые системы FuseFS?

Вы просто ищете файлы? Вы имеете возможность использовать find?

Что-то как (принятие GNU find):

find . -mindepth 1 -maxdepth 1 -name ".*" -printf "%P\n"
19
17.11.2010, 15:49
3 ответа

Я не положителен, если Вы имеете в виду реальные, дисковые файловые системы или какую-либо файловую систему. Я никогда не видел, что нормальная файловая система использует FUSE, хотя я предполагаю, что это возможно; основное преимущество FUSE - это, позволяет Вам представить что-то приложениям (или пользователь), который похож на файловую систему, но действительно просто вызывает функции в рамках Вашего приложения, когда пользователь пытается сделать, вещам нравится, перечисляют файлы в каталоге или создают новый файл. Plan9 известен за попытку сделать все доступным через файловую систему, и /proc псевдофайловая система прибывает от них; FUSE является путем к приложениям для легкого следования за тем шаблоном

Например, вот снимок экрана (очень невыразительной) файловой системы FUSE, которая предоставляет доступ к данным сайта SE:

Screenshot of FUSE filesystem in action

Естественно ни один из тех файлов на самом деле не существует; когда ls попросивший списка файлов в каталоге FUSE вызвал функцию в моей программе, которая сделала запрос API этого сайта для загрузки информации о пользователе 73 (меня); cat попытка читать из display_name и website_url вызванный больше функций, которые возвратили кэшированные данные из памяти без чего-либо дискового на самом деле существующего

17
27.01.2020, 19:44
  • 1
    Существуют реализации FUSE FAT, NTFS, iso9660, ext2, и т.д. –  Gilles 'SO- stop being evil' 18.11.2010, 00:26
  • 2
    Вы найдете мощные файловые системы реализованными в предохранителе: LessFS, GlusterFS, MooseFS. GFS Google (не POSIX) также работает в пространстве пользователя. –  Tobu 28.02.2011, 02:36
  • 3
    Где Вы находили то приложение?!?! –  Nathan Osman 06.05.2011, 05:01
  • 4
    @George, который я записал этому, когда я смешивал с ТАК API. Это не использует маршрутов кроме / пользователей, таким образом, Вы в основном видите все реализованные опции в том снимке экрана; это должно было только видеть, как трудно это будет –  Michael Mrozek♦ 06.05.2011, 06:32
  • 5
    @George, я поместил его на github –  Michael Mrozek♦ 06.05.2011, 07:18

Файловые системы Unix традиционно реализованы в ядре. FUSE позволяет файловым системам быть реализованными пользовательской программой.

Файловые системы в ядре лучше подходят для основных файловых систем для программ и данных:

  • Они могут использоваться на загрузочном носителе (программа, реализовывая файловую систему FUSE должна быть загружена из где-нибудь).
  • Они более устойчивы, в котором они не уйдут из-за катастрофического отказа процесса или быть уничтоженным по ошибке.
  • Они несколько быстрее.

Файловые системы FUSE имеют другие преимущества, главным образом автоматически возобновляемые вокруг их гибкости:

  • Они могут быть загружены и смонтированы обычными пользователями, таким образом, они удобны для файловых систем, которые пользователи склонны монтировать собой: для доступа к сети, для прохождения через архивных файлов, для съемных носителей, и т.д.
  • Если драйвер файловой системы FUSE откажет, то он не испугает Ваше ядро: Вы не будете видеть ничего худшего, чем ошибки ввода-вывода в приложениях, которые получали доступ к файловой системе.
  • Они могут быть запрограммированы очень быстро; существует привязка FUSE для многих языков сценариев, где полезный драйвер файловой системы FUSE может быть записан в нескольких сотнях строк кода.
  • Они могут быть развернуты очень быстро, и потому что нет никакой потребности во вмешательстве администратора для установки их и потому что они могут быть портированы легко между поддерживаемыми Ose.
  • Нет никаких проблем лицензирования, связанных с тем, чтобы быть статически связанным с ядром (это влияет на zfs).
19
27.01.2020, 19:44

FUSE не является действительно файловой системой по сути, но кодируйте, который позволяет файловым системам быть реализованными как процессы вместо модулей ядра.

Одно из самого полезного преимущества FUSE должно позволить коду GPL "смешиваться" с не GPL один. Например, Гну/Linux и http://zfs-fuse.net/ ZFS или NTFS-3G на многих Ose как OpenSolaris и *BSD http://www.tuxera.com/community/ntfs-3g-download/

Основной недостаток является влиянием производительности по сравнению с собственным компонентом (ядро) драйверы.

7
27.01.2020, 19:44

Теги

Похожие вопросы