File Allocation Table: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m FAT spostata a File Allocation Table |
Nessun oggetto della modifica |
||
Riga 1:
La '''File Allocation Table''', detta anche '''FAT''', è un [[File system]] sviluppato per [[MS-DOS]] e utilizzato nei [[sistema operativo|sistemi operativi]] [[Microsoft Windows]] fino alla versione [[Windows ME]]. È considerato relativamente semplice, per questo è supportato da praticamente tutti i sistemi operativi moderni.
Esistono varie versioni di questo [[file system]], in base quanti bit sono allocati per numerare i cluster del disco: FAT12, FAT16, FAT32. Il VFAT è una versione del FAT16, ma virtuale.
La FAT in sé mantiene la traccia delle aree del disco disponibili e di quelle già usate dai file e dalle directory: la differenza fra FAT12, FAT16 e FAT32 consiste appunto in quanti bit sono allocati per numerare i cluster del disco. Con 12 bit, il filesystem può indirizzare al massimo 2<sup>12</sup> = 4096 cluster, mentre con 32 bit si possono gestire 2<sup>32</sup> = 4.294.967.296 cluster; l'aumento del numero di bit di indirizzo dei cluster si è reso necessario per gestire unità a disco sempre più grandi e capienti.▼
==Storia==
Il FAT ha debuttato nell'Agosto del [[1980]] con la prima versione di [[QDOS]] di [[Tim Paterson]], il predecessore del PC-DOS e di [[MS-DOS]] della [[Microsoft]], anzi, fu proprio la principale differenza tra il QDOS e il CP/M, di cui il QDOS era un clone.
L'idea fu presa da come la versione stand-alone di Microsoft BASIC utilizzava i [[floppy disk]] fino al [[1976]]. Nel Maggio del 1979, un anno prima di decidere di scrivere il QDOS, Tim Paterson aiutò Bob O'Rear a portare il loro linguaggio nella nuova architettura [[8086]].
▲La FAT in sé mantiene la traccia delle aree del disco disponibili e di quelle già usate dai file e dalle directory: la differenza fra FAT12, FAT16 e FAT32 consiste appunto in quanti bit sono allocati per numerare i cluster del disco. Con 12 bit, il
==
La prima versione del FAT fu la '''FAT12''', un file system per [[floppy disk]], aveva molte motivazioni: non supportava directory gerarchiche (con struttura ad albero), gli indirizzi per i [[cluster]] erano lunghi "solo" 12 [[bit]] (una lunghezza non standard, quindi manipolare il FAT diventata un po' più complicato) e la dimensione del disco era limitata a 32MB, ma i dischetti dell'epoca, grandi 5.25", contenevano meno di 160KB.
All'inizio del [[1983]], per supportare i nuovi computer [[IBM]] PC XT, con un [[hard disk]] da 10 MB, fu rilasciato l'MS-DOS 2.0 che introduceva le directory gerarchiche, anche se il formato del FAT non cambiò.
Nel [[1984]] la IBM rilasciò i PC AT, con un hard disk di 20 MB. In parallelo Microsoft introdusse l'MS-DOS 3.0, gli indirizzi per i cluster vennero aumentati a 16 bit, permettendo un numero maggiore di cluster (fino a 65,536) e conseguentemente un file system più grande. Comunque il numero massimo di settori e la dimensione massima (di una partizione, non più di un disco) non cambiò e rimase di 32 MB. MS-DOS 3.0 introdusse anche il supporto per i [[floppy disk|dischetti]] 5.25" ad alta densità da 1.2 MB, con 15 settori per traccia e quindi ancora più spazio per il FAT.
== File Allocation Table ==▼
===FAT16===
Nel [[1987]] arrivò il formato che ora viene chiamato ''FAT16'', nel Compaq DOS 3.31, nel [[1988]] i miglioramenti arrivarono anche con l'MS-DOS 4.0. La dimensione delle partizione venne limitata dalla dimensione di 8-bit dei settori per cluster, che quindi arrivarono a 64, dando 32 KB cluster con la solita dimensione di 512 byte per settore, fissando il limite "definitivo" per una partizione con il FAT a 2 GB. Più tardi, [[Windows NT]] aumentò la dimensione massima dei cluster a 64K (considerando il contatore come ''unsigned'', senza segno), ma il risultato non era compatibile con le altre implementazioni del FAT del tempo e di solito generava una grande frammentazione interna.
===VFAT===
Per supportare i nomi dei file lunghi, venne introdotto in [[Windows 95]] il '''VFAT''' ('''V'''irtual '''FAT'''), un FAT virtuale gestito dal driver della periferica. L'implementazione modificava il modo in cui il file system organizzava i contenuti di una directory.
==
Per superare i limiti sulla dimensione dei volumi imposta dal FAT16, [[Microsoft]] decise di creare un nuovo FAT chiamato '''FAT32'', con numeri per i cluster da 32 bit, anche se in realtà ne vengono utilizzati solo 28.
In teoria, questo dovrebbe permettere 268,435,438 (< 2<sup>28</sup>) cluster, cioè una dimensione totale dell'ordine dei 2 [[terabyte]], ma, a causa delle limitazioni dell'utility scandisk, non è permesso al FAT di superare i 4,177,920 (< 2<sup>24</sup>) cluster, spostando la dimensione massima a 124.55 [[gigabyte]]. In [[Windows 2000]] e [[Windows XP|XP]] il limite è stato allargato a 32 GB, ma questo limite è ancora troppo per le attuali capacità hardware.
==Supporti esterni==
Data la grande diffusione del FAT file system, praticamente tutti i sistemi operativi non Microsoft hanno supportato sia il FAT16, che il VFAT ed infine il FAT32 (questo con meno limitazioni di quelle previste ufficialmente). Con le prime distribuzioni di [[Linux]] venne creato un file system chiamato [UMSDOS]], un FAT con gli attributi Unix (permessi, proprietario, ...); il suo sviluppo venne bloccato con l'arrivo del VFAT, ma è tutt'ora supportato. Il [[sistema operativo]] [[Mac OS X]] utilizzava il FAT per i volumi non avviabili.
==La fine==
Con l'annuncio della [[Microsoft]] del cessato supporto a [[MS-DOS]] e l'introduzione del [[NTFS]] in tutti i sistemi operativi prodotti, è improbabile che venga sviluppata una nuova versione del FAT. Vista però l'estrema diffusione del FAT nei [[floppy disk]], nelle [[memoria flash|memorie flash]] o nei driver [[USB]] e essendo molto limitato il supporto del NTFS nei sistemi operativi non Microsoft, probabilmente questo file system verrà utilizzato ancora a lungo.
[[Categoria:File system]]
[[fr:File Allocation Table]]
[[en:File Allocation Table]]
[[es:FAT]]
[[nl:File Allocation Table]]
[[pl:File Allocation Table]]
[[pt:FAT]]
[[sv:FAT]]
|