Smart File System: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Stub di Smart File System |
Elisione obbligatoria, +portale |
||
(35 versioni intermedie di 24 utenti non mostrate) | |||
Riga 1:
Lo '''Smart File System''' o '''SFS''' è un [[file system]] con journaling usato sui sistemi [[Amiga]]. Come tutti i file system di tipo journaled, SFS una volta ricevuti da un applicativo i dati che devono essere conservati dal [[sistema operativo|SO]], provvede prima a memorizzare le operazioni che deve compiere su un [[file]] di log; in seguito effettua la scrittura fisica dei dati sulla periferica di memoria di massa (es.: [[disco rigido]]); e come mossa finale registra nuovamente sul file di log le operazioni che sono state effettuate.
== Storia ==▼
Il design di SFS è ottimizzato per essere performante e garantire [[scalabilità]] e integrità. Usa diverse grandezze di blocco a partire da 512 byte x blocco (2^9) fino a 32768 byte (2^15), e la grandezza massima totale della partizione è variabile.▼
SFS è un
Da maggio 2005 i codici sorgenti di Smart File System sono distribuiti con la licenza [[GNU Lesser General Public License|LGPL]].
Il valore "grandezza massima" che una partizione può assumere parte da 1 Terabyte (1024 Gigabyte) se applicata a blocchi di 512 byte, e può ulteriormente aumentare, a seconda della grandezza massima di blocco adoperata.▼
== Caratteristiche ==
Una delle caratteristiche più performanti è realizzata raggruppando voci di directory multiple in un singolo blocco e raggruppando blocchi di metadata insieme in cluster. Una bitmap è utilizzata per tenere traccia dello spazio libero, mentre viene tenuta traccia dei dati file usando [[extent]] (blocchi logici continui) disposti in una struttura ad albero B+ (detta anche ad albero "bilanciato") ereditata dalla tecnologia di database).▼
▲Il design di SFS è ottimizzato per essere
L'integrità è mantenuta da un log di rollback ("annullamento") di tutti i cambiamenti fatti ai metadata in un periodo di tempo determinato. Prima viene scritto il log sul disco, e in seguito i blocchi metadata sono sovrascritti direttamente. Se il sistema dovesse andare in crash, la volta successiva che il filesystem verrà montato si accorgerà della procedura incompleta e ritornerà con una procedura appunto di "rollback" (letteralmente come il riavvolgersi di un nastro) all'ultimo stato coerente. Per ragioni di performance viene garantita solo l'integrità dei metadata. Allo stato attuale i dati nei file possono ancora essere corrotti se una operazione di scrittura viene interrotta a metà.▼
▲Il valore "grandezza massima" che una partizione può assumere
Una interessante peculiarità dello Smart FS è l'abilità di deframmentarsi al volo, mentre il filesystem è in uso, permettendo tale operazione anche sui file che devono obbligatoriamente risiedere in posizioni fisse del disco rigido. Il processo di deframmentazione è quasi completamente "stateless" (eccetto che nella locazione del disco rigido su cui deve lavorare). Durante la deframmentazione l'integrità dei dati è assicurata contemporaneamente sia per i metadata, sia per i dati.▼
▲Una delle caratteristiche più performanti è realizzata raggruppando voci di [[directory]] multiple in un singolo blocco e raggruppando blocchi di [[metadata]] insieme in [[computer cluster|cluster]]. Una [[bitmap]] è utilizzata per tenere traccia dello spazio libero, mentre viene tenuta traccia dei dati file usando [[extent]] (blocchi logici continui) disposti in una struttura ad albero B+ (detta anche ad albero "bilanciato") ereditata dalla tecnologia di database
▲== Storia ==
▲L'integrità è mantenuta da un log di rollback ("annullamento") di tutti i cambiamenti fatti ai metadata in un periodo di tempo determinato. Prima viene scritto il log sul disco, e in seguito i blocchi metadata sono sovrascritti direttamente. Se il sistema dovesse andare in crash, la volta successiva che il filesystem verrà montato si accorgerà della procedura incompleta e ritornerà con una procedura appunto di "rollback" (letteralmente come il riavvolgersi di un nastro) all'ultimo stato coerente. Per ragioni di performance viene garantita solo l'integrità dei metadata. Allo stato attuale i dati nei file possono ancora essere corrotti se
▲
== Supporto nativo ==
Smart FS è stato scelto dagli sviluppatori di [[MorphOS]] come filesystem di base ed è quindi ovviamente uno dei filesystem supportati in modo nativo da tale sistema operativo. È inoltre disponibile una versione nativa per [[AmigaOS]]4 di SmartFS (versione 2.x) che permette il salvataggio di file più grandi di 2Gb grazie alla nuova versione di [[AmigaDOS]] presente in OS4.
== Voci correlate ==
* [[Amiga]]
* [[AmigaOS]]
* [[MorphOS]]
* [[Pegasos]]
* [[Journaling]]
== Collegamenti esterni ==
* [http://www.codewiz.org/articles/ar10/am_Articolo2.html PFS e SFS su codewiz.org] Versione testuale: [http://www.codewiz.org/articles/ar10_filesystems.txt Link all'articolo in formato txt]
* {{cita web|https://www.xs4all.nl/~hjohn/SFS/|Sito SFS di John Hendrikx}}
* {{cita web | 1 = http://home.wtal.de/js/index.phtml | 2 = Sito Ufficiale | accesso = 6 maggio 2005 | urlarchivio = https://web.archive.org/web/20041204082426/http://home.wtal.de/js/index.phtml | dataarchivio = 4 dicembre 2004 | urlmorto = sì }}
* [https://sourceforge.net/projects/smartfilesystem/ SFS su Sourceforge] Sito di SFS licenziato LGPL
* [http://obligement.free.fr/articles/sfs.php Recensione di SFS su rivista online Obligement Amiga] (in lingua francese)
* [http://www.gregdonner.org/os35faq/diskfileoperation.html Risposte a domande frequenti sull'AmigaOS 3.5] (sito in lingua inglese creato dal programmatore Greg Donner)
* [https://web.archive.org/web/20050403234907/http://www.intuitionbase.com/static.php?section=prefaq Installare un Filesystem su AmigaOS 4] (in lingua inglese)
* [https://web.archive.org/web/20150911000334/http://www.intuitionbase.com/static.php?section=en_SFS-walkthrough Smart File System, Walkthrough] (in lingua inglese)
* [http://www.freescale.com/files/32bit/doc/app_note/AN2751.pdf Linux su Pegasos II e accesso a partizioni SFS] (HowTo valido per Yellow Dog Linux 3)
{{portale|informatica}}
▲SFS è un sistema operativo libero scritto in C originariamente da John Hendrikx nel 1998. Quando questi si allontanò dalla scena Amiga nel 2000, rilasciò pubblicamente i sorgenti di SFS alla comunità. Lo sviluppo di SFS è stato continuato da sviluppatori indipendenti.
[[Categoria:Amiga]]
[[Categoria:File system]]
|