
winfsp v2.2B4
Прокси файловой системы Windows - FUSE для Windows
WinFsp · Прокси файловой системы Windows
WinFsp позволяет разработчикам создавать собственные файловые системы (т.е. «диски Windows») как программы пользовательского режима без необходимости знаний о программировании ядра Windows. Это аналогично FUSE (Файловая система в пространстве пользователя) для Linux и других UNIX-подобных систем.
winfsp.dev
Обзор
WinFsp — это платформа, предоставляющая поддержку разработки и выполнения для пользовательских файловых систем на компьютерах под управлением Windows. Обычно любую информацию или хранилище можно организовать и представить в виде файловой системы через WinFsp, при этом преимуществом является возможность доступа к этой информации через стандартные файловые API Windows любым приложением Windows.
Ядро WinFsp состоит из драйвера файловой системы режима ядра (FSD) и DLL пользовательского режима. FSD взаимодействует с ядром Windows и обрабатывает все взаимодействия, необходимые для представления себя в качестве драйвера файловой системы. DLL взаимодействует с FSD и предоставляет API, который можно использовать для обработки функций файловой системы. Например, когда приложение пытается открыть файл, файловая система получает вызов Open с необходимой информацией.
Использование WinFsp для создания файловой системы имеет множество преимуществ:
Простая разработка: Разработка файловых систем режима ядра для Windows — общеизвестно сложная задача. WinFsp делает разработку файловых систем относительно безболезненной. В этом Руководстве объясняется, как создать файловую систему.
Стабильность: Стабильное программное обеспечение без каких-либо известных сбоев режима ядра, утечек ресурсов или подобных проблем. WinFsp обязан этой стабильностью своей Архитектуре и строгому Режиму тестирования.
Корректность: Стремится к корректности файловой системы и совместимости с NTFS. Подробнее см. в документе Совместимость.
Производительность: Обладает отличной производительностью, которая во многих сценариях работы с файловыми системами конкурирует с NTFS или превосходит её. Узнайте больше о его Производительности.
Широкая поддержка: Поддерживает Windows 7–Windows 11 и архитектуры x86, x64 и ARM64.
Гибкий API: Включает API Native, FUSE2, FUSE3 и .NET.
Интеграция с оболочкой: Предоставляет средства для интеграции файловых систем пользовательского режима с оболочкой Windows. См. документ Архитектура службы.
Автономность: Автономное программное обеспечение без внешних зависимостей.
Широкое использование: Используется во многих проектах с открытым исходным кодом и коммерческих приложениях с миллионами установок (оценочно: проект WinFsp не отслеживает своих пользователей).
Гибкое лицензирование: Доступно под лицензией GPLv3 с особым исключением для свободного и открытого программного обеспечения. Также доступна коммерческая лицензия. За дополнительной информацией обращайтесь к Bill Zissimopoulos <billziss at navimatics.com>.
Установка
Загрузите и запустите установщик WinFsp. В установщике выберите опцию установки файлов «Developer». В них входит образцовая файловая система MEMFS, а также заголовочные файлы и библиотеки, позволяющие разрабатывать собственную файловую систему пользовательского режима.
Запуск файловой системы для тестирования
Вы можете протестировать WinFsp, запустив MEMFS из командной строки:
billziss@xps ⟩ ~ ⟩ net use X: \\memfs64\test
The command completed successfully.
billziss@xps ⟩ ~ ⟩ X:
billziss@xps ⟩ X:\ ⟩ echo "hello world" > hello.txt
billziss@xps ⟩ X:\ ⟩ dir
Directory: X:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 6/12/2022 5:15 PM 28 hello.txt
billziss@xps ⟩ X:\ ⟩ type hello.txt
hello world
billziss@xps ⟩ X:\ ⟩ cd ~
billziss@xps ⟩ ~ ⟩ net use X: /delete
X: was deleted successfully.
MEMFS (и все файловые системы, использующие лаунчер WinFsp, как описано в документе Архитектура службы) также можно запустить из Проводника, используя функцию «Map Network Drive».
Ресурсы
Документация:
Обсуждение: