Smart File System: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Elisione obbligatoria, +portale
 
(17 versioni intermedie di 15 utenti non mostrate)
Riga 1:
Lo '''Smart File System''' o '''SFS''' è un [[filesystemfile 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 ==
SFS è un filesystem di libera distribuzione scritto in [[linguaggio C|C]] originariamente da [[John Hendrikx]] nel [[1998]]. Quando questi si allontanò dalla scena Amiga nel [[2000]], rilasciò pubblicamente i [[codice sorgente|sorgenti]] di SFS alla comunità. Lo sviluppo di SFS è stato continuato da sviluppatori indipendenti.
 
Da maggio 2005 i codici sorgenti di Smart File System sono distribuiti con la licenza [[GNU Lesser General Public License|LGPL]].
 
== Caratteristiche ==
 
Il design di SFS è ottimizzato per essere veloce e garantire [[scalabilità]] e integrità. Usa diverse grandezze di blocco a partire da 512 [[byte]] per blocco (2<sup>9</sup>) fino a 32768 byte (2<sup>15</sup>), e la grandezza massima totale della [[partizione (informatica)|partizione]] è variabile.
 
Il valore "grandezza massima" che una partizione può assumere è 1 Terabyte (1024 Gigabyte) se applicato a blocchi di 512 byte, e può ulteriormente aumentare, a seconda della grandezza massima di blocco adoperata.
 
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.
 
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 un'operazione di scrittura viene interrotta a metà.
 
Una Un'interessante peculiarità dello Smart FS è l'abilità di [[deframmentazione|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 veri e propri.
 
== 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. E'È 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 Esterniesterni ==
* [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]
 
*[http {{cita web|https://www.xs4all.nl/~hjohn/SFS/ |Sito SFS di John Hendrikx]}}
*[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 | 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ì }}
*[http://www.xs4all.nl/~hjohn/SFS/ Sito SFS di John Hendrikx]
* [httphttps://sourceforge.net/projects/smartfilesystem/ SFS su Sourceforge] Sito di SFS licenziato LGPL
*[http://home.wtal.de/js/index.phtml Sito Ufficiale]
* [http://obligement.free.fr/articles/sfs.php Recensione di SFS su rivista online Obligement Amiga] (in lingua francese)
*[http://sourceforge.net/projects/smartfilesystem/ SFS su Sourceforge] Sito di SFS licenziato LGPL
* [http://www.gregdonner.org/os35faq/diskfileoperation.html Risposte a domande frequenti sull'AmigaOS 3.5] (sito in lingua inglese creato dal programmatore Greg Donner)
*[http://obligement.free.fr/articles/sfs.php Recensione di SFS su rivista online Obligement Amiga] (in lingua francese)
* [httphttps://wwwweb.gregdonnerarchive.org/os35faqweb/diskfileoperation20050403234907/http://www.intuitionbase.com/static.htmlphp?section=prefaq RisposteInstallare aun domandeFilesystem frequentisu sull'AmigaOS 3.54] (sito in lingua inglese creato dal programmatore Greg Donner)
* [https://web.archive.org/web/20150911000334/http://www.intuitionbase.com/static.php?section=prefaq Installare unen_SFS-walkthrough FilesystemSmart suFile AmigaOSSystem, 4Walkthrough] (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)
*[http://www.intuitionbase.com/static.php?section=en_SFS-walkthrough Quattro passi in Smart File System] (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}}
[[Categoria:Amiga]]
[[Categoria:File system]]
 
[[en:Smart File System]]