
winfsp v2.2B3
Proxy del file system di Windows - FUSE per Windows
WinFsp · Proxy per File System di Windows
WinFsp consente agli sviluppatori di scrivere i propri file system (ossia "unità Windows") come programmi in modalità utente e senza alcuna conoscenza della programmazione del kernel di Windows. È simile a FUSE (Filesystem in Userspace) per Linux e altri computer simili a UNIX.
winfsp.dev
Panoramica
WinFsp è una piattaforma che fornisce supporto allo sviluppo e all'esecuzione per file system personalizzati su computer Windows. Tipicamente qualsiasi informazione o archivio può essere organizzato e presentato come un file system tramite WinFsp, con il vantaggio che le informazioni possono essere accessibili tramite le API file standard di Windows da qualsiasi applicazione Windows.
Il nucleo di WinFsp consiste in un driver del file system in modalità kernel (FSD) e una DLL in modalità utente. L'FSD si interfaccia con il kernel di Windows e gestisce tutte le interazioni necessarie per presentarsi come un driver del file system. La DLL si interfaccia con l'FSD e presenta un'API che può essere utilizzata per gestire le funzioni del file system. Ad esempio, quando un'applicazione tenta di aprire un file, il file system riceve una chiamata Open con le informazioni necessarie.
Usare WinFsp per costruire un file system ha molti vantaggi:
Sviluppo facile: Sviluppare file system in modalità kernel per Windows è un compito notoriamente difficile. WinFsp rende lo sviluppo di file system relativamente indolore. Questo Tutorial spiega come costruire un file system.
Stabilità: Software stabile senza crash noti in modalità kernel, perdite di risorse o problemi simili. WinFsp deve questa stabilità al suo Design e al suo rigoroso Regime di Test.
Correttezza: Tende alla correttezza del file system e alla compatibilità con NTFS. Per dettagli vedere il documento Compatibilità.
Prestazioni: Ha prestazioni eccellenti che rivaleggiano o superano quelle di NTFS in molti scenari di file system. Leggi di più sulle sue Prestazioni.
Ampio supporto: Supporta Windows 7 fino a Windows 11 e le architetture x86, x64 e ARM64.
API flessibile: Include API Native, FUSE2, FUSE3 e .NET.
Integrazione con la shell: Fornisce strutture per integrare i file system in modalità utente con la shell di Windows. Vedi il documento Architettura del Servizio.
Autonomo: Software autonomo senza dipendenze esterne.
Ampiamente utilizzato: Utilizzato in molte applicazioni open-source e commerciali con milioni di installazioni (stima: il progetto WinFsp non traccia i suoi utenti).
Licenza flessibile: Disponibile sotto licenza GPLv3 con una eccezione speciale per Software Libero e Open Source. È disponibile anche una licenza commerciale. Si prega di contattare Bill Zissimopoulos <billziss at navimatics.com> per maggiori dettagli.
Installazione
Scarica ed esegui il programma di installazione di WinFsp. Nell'installer seleziona l'opzione per installare i file "Developer". Questi includono il file system di esempio MEMFS, ma anche file header e librerie che ti permettono di sviluppare il tuo file system in modalità utente.
Avvia un file system per test
Puoi testare WinFsp lanciando MEMFS dalla riga di comando:
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 (e tutti i file system che utilizzano il Launcher di WinFsp come documentato nel documento Architettura del Servizio) può anche essere lanciato da Explorer utilizzando la funzionalità "Mappa unità di rete".
Risorse
Documentazione:
Discussione: