UnionFS: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Gerlo (discussione | contributi)
wikilink + ampliamento
Gerlo (discussione | contributi)
aggiunta progetto FiST
Riga 1:
'''UnionFS''' è un ''[[filesystem]]'' [[Linux]] che permette ''union mount'', ossia consente di simulare l'unione di più ''filesystem'' sottostanti, mantenendone la semantica [[Unix]]. Consente, cioè, di sovrapporre in modo trasparente file e cartelle di ''filesystem'' separati, detti ''branch'' (rami), per formare un singolo ''filesystem'' coerente. I contenuti delle cartelle che hanno lo stesso percorso nei rami uniti, saranno visti come se fossero nella stessa cartella del ''filesystem'' virtuale.
UnionFS è ancora un progetto in via di consolidamento, pertanto contiene ancora bug che ne sconsigliano l'uso in ambienti di produzione.
Questa implementazione delle ''union mount'' è parte del più grande progetto [[FiST]].
 
I vari rami possono essere ''filesystem'' in sola lettura oppure scrivibili. Le operazioni di scrittura nel ''filesystem'' unificato verranno redirette verso uno specifico ''filesystem'' scrivibile. Ciò consente di far apparire un ''filesystem'' come scrivibile, senza permettere la scrittura effettiva (''copy-on-write''): questa è una delle caratteristiche che ne fanno uno strumento utile quando, ad esempio, il supporto non è veramente scrivibile, come nel caso dei [[Compact disc|CD-ROM]], oppure quando si vuole usare una base comune a più filesystem, o infine per motivi di sicurezza. A volte, questa tecnologia viene usata come sistema ''ad hoc'' per la realizzazione di istantanee dello stato del ''filesystem'' (in gergo ''snapshot'').
Riga 9 ⟶ 10:
 
UnionFS, più precisamente, è uno stackable filesystem, ossia è un modulo del kernel che si posiziona, quindi, in kernel space tra il [[Virtual_File_System|Virtual File System]] (VFS, tradotto: ''filesystem'' virtuale) ed i ''filesystem'' reali ([[ext2]], [[ext3]], [[ReiserFS]], [[NFS]], [[ISO9660]]), intercettando le chiamate che il primo emette e rielaborandole prima di trasmetterle ai secondi (e viceversa). Opera come se mostrasse al VFS i ''filesystem'' reali sovrapposti come fossero dei lucidi, così che delle aree occupate da più filesystem sia visibile solo l'area di quello a più alta priorità.
 
Oltre a [[Linux]], questa tecnologia è usabile, teoricamente, anche su [[Solaris]] e su [[FreeBSD]].
 
 
Riga 15 ⟶ 18:
Il sistema operativo [[Plan_9|Plan 9]] dei [[Bell_Labs|Bell Labs]] usa gli ''union mount'' estensivamente per ottenere ''namespace'' personalizzati per ogni utente e processo. Lo stesso concetto è stato disponibile in BSD per almeno dieci anni (4.4BSD Union Mount).
 
Ci furono vari tentativi precedenti per aggiungere questa funzionalità a Linux, ma nessuno è stato sostenuto a lungo. Alcuni progetti per l'implementazione di questa tecnologia sono 3DFS, TFS e translucency, a cui si aggiungono alcune implementazioni in ''[[user_space|user space]]''. Da molto tempo [[Linux]] dispone di una finzionalitàfunzionalità del programma "mount" che permette di inserire una cartella in più di un posto del ''filesystem''. Questa funzionalità è presente anche in altri sistemi operativi, come [[MSDOS]], ma è un concetto completamente differente dalle ''union mount''.
 
 
Riga 21 ⟶ 24:
 
* {en} C. P. Wright et al. (2004). "Versatility and Unix Semantics in a Fan-Out Unification File System (pdf)." Tratta le implementazioni di UnionFS e la semantica.