[[File:IO_stack_of_the_Linux_kernel.svg|thumb|right|Il VFS nel Kernel di Linux]]
Un '''file system virtuale''' (in inglese '''Virtual file system''' o '''Virtual filesystem switch (VFS)''' è un componentelivello [[software]]astratto, cheprendendo permetteil alnome di virtual-[[kernel]]Virtualizzazione dela livello di [[sistema operativo|virtualizzazione]], (perche esempiosi il [[kernel Linux]]) un accessoposiziona al [[filedi system]]sopra attraverso delle funzioni standard e indipendenti dal realedel file system o dal supporto utilizzato per la memorizzazione dei dati.
Lo scopo del VFS è consentirequello di permettere alle applicazioni clientl'accesso a differenti tipologie di accederefile agestiti diversiin tipi didifferenti [[file system]] in modo uniforme. Un VFS può, adper esempio, può essere utilizzatousato per accederepermettere aiun dispositiviaccesso locale o di archiviazionerete locaeia edispositivi di retestorage in modomaniera trasparente cioè senza che l'applicazione [[client]] noti la differenza. Può essere usato per colmare le differenze in Windowsapplicazioni, neiche classicirichiedono sistemil'accesso operativia Mactali OS/macOS e [[Unix]]dispositivi, innotino modocome cheil leVFS applicazionirisponda possanoalla accedere ai file su file system localitipologia di tali tipologierichiesta.
Può essere usato come ponte tra i differenti file system dei diversi sistemi operativi, quali [[Microsoft Windows|Windows]], [[MacOS]], [[Unix|UNIX]] in modo che le applicazioni posso accedere a file nel file system in questione senza preoccuparsi delle caratteristiche e quindi interfacciarsi esclusivamente con il VFS.
Un VFS funge da [[interfaccia (informatica)|interfaccia]] tra il [[kernel]] e un file system fisico. Pertanto, è facile aggiungere il supporto per i nuovi tipi di file system al [[kernel]], ciò permette di evitare incompatibilità e problemi collegati. Ciò supera i tradizionali limiti di un file system fisico, il cui cambiamento che richiederebbe la ricompilazione del supporto del file system e, eventualmente, la modifica prima della ricompilazione, per consentirne il funzionamento con una nuova versione del sistema operativo; oppure il fornitore del sistema operativo potrebbe apportare modifiche retroattive al contratto, in modo che il supporto concreto del file system creato per una data versione del sistema operativo funzioni con le versioni future del sistema operativo.▼
▲UnQuindi il VFS fungepuò daessere specificato come [[interfaccia (informaticao contratto)|interfaccia]] tra il [[kernel]] e unil file system fisico. Pertanto, è facile aggiungere ilnuovi supportofile persystem ial nuovikernel tipiaggiungendo ditali file systeminformazioni al [[kernel]], ciòpermettepermettendo di evitare incompatibilità e problemi collegati. Ciò supera i tradizionali limiti di un file system fisico, il cui cambiamento che richiederebbe la ricompilazione del supporto del file system eed, eventualmente, la modifica prima della ricompilazione, per consentirne il funzionamento con una nuova versione del sistema operativo; oppure il fornitore del sistema operativo potrebbe apportare modifiche retroattive al contratto, in modo che il supporto concreto del file system creato per una data versione del sistema operativo funzioni con le versioni future del sistema operativo.