Tabella di allocazione file

Salta alla navigazione Salta alla ricerca

Questo articolo è un'introduzione non tecnica all'argomento. Per l'articolo sull'enciclopedia principale, vedere Progettazione del file system FAT.
GRASSO
Developer (s) Microsoft, NCR, SCP, IBM, Compaq, Ricerca digitale, Novell, Caldera
Nome e cognome Tabella di allocazione file
varianti FAT a 8 bit, FAT12, FAT16, FAT16B, FAT32, ExFAT, FATX, FAT +
Introdotto 1977 con Standalone Disk BASIC-80
Identificatore di partizione MBR / EBR:
FAT12: 0x01 E.A. (Attributo esteso)
FAT16: 0x04 0x06 0x0E E.A.
FAT32: 0x0B 0x0C E.A.
BDP:
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
strutture
Contenuto della directory tavolo
Allocazione file Lista collegata
Blocchi difettosi Tagging del cluster
limiti
Max. dimensione del volume FAT12: 32 MiB (256 MiB per 64 KiB cluster)
FAT16: 2 GiB (4 GiB per 64 cluster KiB)
FAT32: 2 TiB (16 TiB per 4 settori KiB)
Max. dimensione del file 4.294.967.295 byte (4 GiB - 1) con FAT16B e FAT32[1]
Max. numero di file FAT12: 4.068 per 8 cluster KiB
FAT16: 65,460 per 32 cluster KiB
FAT32: 268,173,300 per 32 gruppi di KiB
Max. lunghezza del nome file 8.3 nomefile o 255 caratteri UCS-2 quando si utilizza LFN[nb 1]
Caratteristiche
Date registrate Data / ora modificata, data / ora di creazione (solo DOS 7.0 e versioni successive), data di accesso (disponibile solo con ACCDATE attivato),[2] data / ora di cancellazione (solo con DELWATCH 2)
Intervallo di date Dal 1980-01-01 al 2099-12-31 (2107-12-31)
Data di risoluzione 2 secondi per l'ultima volta modificata,
10 ms per tempo di creazione,
1 giorno per la data di accesso,
2 secondi per il tempo di eliminazione
forchette Non in modo nativo
attributi Sola lettura, Nascosto, Sistema, Volume, Rubrica, Archivio
Autorizzazioni del file system FAT12 / FAT16: diritti di accesso per file, directory e volume per lettura, scrittura, esecuzione, eliminazione solo con DR-DOS, PalmDOS, DOS Novell, OpenDOS, FlexOS, OS 4680, OS 4690, DOS simultaneo, DOS multiutente, gestore di sistema, REAL / 32 (Esegui solo con FlexOS, OS 4680, OS 4690, password di file / directory individuali non con FlexOS, OS 4680, OS 4690, classi di permesso World / Group / Owner solo con la sicurezza multiutente caricata)
FAT32: parziale, solo con DR-DOS, REAL / 32 e OS 4690
Compressione trasparente FAT12 / FAT16: per volume, SuperStor, Stacker, DoubleSpace, DriveSpace
FAT32: no
Crittografia trasparente FAT12 / FAT16: per volume solo con DR-DOS
FAT32: no

File Allocation Table (FAT) è un'architettura di file system del computer e una famiglia di file system standard del settore che la utilizzano. Il file system FAT è uno standard continuo che prende in prestito il codice sorgente dal file system legacy originale e si dimostra semplice e robusto.[3] Offre prestazioni utili anche in implementazioni leggere, ma non può offrire le stesse prestazioni, affidabilità e scalabilità di alcuni moderni file system. Tuttavia, è supportato per ragioni di compatibilità da quasi tutti i sistemi operativi attualmente sviluppati per personal computer e molti dispositivi mobili e sistemi embedded, e quindi è un formato adatto per lo scambio di dati tra computer e dispositivi di quasi tutti i tipi ed età dal 1981 fino ad oggi.

Originariamente progettato nel 1977 per l'uso su floppy disk, FAT è stato presto adattato e utilizzato quasi universalmente su dischi rigidi durante le ere DOS e Windows 9x per due decenni.[4] Con l'evolversi delle unità disco, le funzionalità del file system sono state ampliate di conseguenza, ottenendo tre principali varianti di file system: FAT12, FAT16 e FAT32. Lo standard FAT è stato anche ampliato in altri modi, pur mantenendo la retrocompatibilità con il software esistente.

Con l'introduzione di computer e sistemi operativi più potenti, nonché lo sviluppo di file system più complessi, FAT non è più il file system predefinito per l'utilizzo su computer Microsoft Windows.[5]

I file system FAT si trovano ancora comunemente su floppy disk, flash e altri moduli e schede di memoria a stato solido (incluse le unità flash USB), oltre a molti dispositivi portatili e incorporati. FAT è il file system standard per fotocamere digitali secondo le specifiche DCF.

Panoramica

concetti

Articolo principale: Progettazione del file system FAT

Il nome del file system deriva dall'utilizzo prominente del file system di una tabella di indici, il Tabella di allocazione file (GRASSO), allocati staticamente al momento della formattazione. La tabella contiene voci per ciascuno grappolo, un'area contigua di archiviazione su disco. Ogni voce contiene il numero del prossimo cluster nel file, oppure un indicatore che indica la fine del file, lo spazio su disco non utilizzato o le aree speciali riservate del disco. Il root directory del disco contiene il numero del primo cluster di ciascun file in quella directory; il sistema operativo può quindi attraversare il FAT, cercando il numero di cluster di ciascuna parte successiva del file del disco come un catena di cluster fino alla fine del file. In modo molto simile, sottodirectory sono implementati come file speciali contenenti il voci di directory dei loro rispettivi file.

Originariamente concepito come un file system a 8 bit, il numero massimo di cluster è stato notevolmente aumentato con l'evolversi delle unità disco, aumentando così il numero di bit utilizzati per identificare ciascun cluster. Le successive varianti principali del formato FAT prendono il nome dal numero di bit di elementi di tabella: 12 (FAT12), 16 (FAT16) e 32 (FAT32). Ad eccezione del precursore FAT a 8 bit originale, ognuna di queste varianti è ancora in uso.Lo standard FAT è stato anche ampliato in altri modi, pur mantenendo la retrocompatibilità con il software esistente.

usi

Il file system FAT ha una lunga storia (oltre tre decenni) di utilizzo su desktop e computer portatili ed è frequentemente utilizzato in soluzioni embedded.

Il FAT offre prestazioni e robustezza ragionevolmente buone, anche in implementazioni molto leggere.[3] È quindi ampiamente adottato e supportato da praticamente tutti i sistemi operativi esistenti per personal computer, nonché da alcuni computer domestici e una moltitudine di sistemi embedded. Questo lo rende anche un formato utile per le schede di memoria a stato solido e un modo conveniente per condividere i dati tra i sistemi operativi.

I file system FAT sono il file system predefinito per i supporti rimovibili (ad eccezione di CD e DVD) e, come tali, si trovano comunemente su floppy disk, superfloppy, memory e schede di memoria flash o unità flash USB e sono supportati dalla maggior parte dei dispositivi portatili come PDA, fotocamere digitali, videocamere, lettori multimediali o telefoni cellulari. Mentre FAT12 è onnipresente su floppy disk, FAT16 e FAT32 sono generalmente presenti sul media più grande.

FAT è stato anche comunemente utilizzato su dischi rigidi in tutte le ere DOS e Windows 9x, ma il suo uso su hard disk è diminuito dall'introduzione di Windows XP, che utilizza principalmente il più recente NTFS. FAT è ancora utilizzato in hard disk che dovrebbero essere usati da più sistemi operativi, come in ambienti Windows, GNU / Linux e DOS condivisi.

A causa dell'uso diffuso di supporti formattati con FAT, molti sistemi operativi forniscono supporto per FAT tramite gestori di file system ufficiali o di terze parti. Ad esempio, OS / 2, GNU / Linux, FreeBSD e BeOS forniscono supporto integrato per FAT, anche se supportano anche sistemi di file più sofisticati come ext4 o btrfs. Mac OS 9 e macOS supportano i file system FAT su volumi diversi dal disco di avvio. AmigaOS supporta FAT attraverso il pacchetto CrossDOS.

Per molti scopi, il file system NTFS è superiore a FAT in termini di funzionalità e affidabilità; i suoi principali svantaggi sono la complessità e il sovraccarico delle dimensioni per i piccoli volumi, nonché il supporto molto limitato di qualsiasi altra cosa rispetto alle versioni basate su NT di Windows, dal momento che le specifiche esatte sono un segreto commerciale di Microsoft. La disponibilità di NTFS-3G a partire dalla metà del 2006 ha portato a un supporto NTFS molto migliorato nei sistemi operativi di tipo Unix, alleviando considerevolmente questa preoccupazione. Non è ancora possibile utilizzare NTFS in sistemi operativi simili a DOS senza driver di terze parti, il che a sua volta rende difficile l'uso di un floppy DOS per scopi di ripristino. Microsoft ha fornito una Console di ripristino per ovviare a questo problema, ma per motivi di sicurezza ha limitato in modo significativo ciò che potrebbe essere fatto tramite la Console di ripristino di emergenza per impostazione predefinita. Lo spostamento delle utilità di ripristino per l'avvio di CD basati su BartPE, Linux (con NTFS-3G) o WinPE sta erodendo questo inconveniente, ma la complessità di NTFS ne impedisce l'implementazione in sistemi operativi leggeri o nella maggior parte dei sistemi embedded.

Il file system DCF adottato da quasi tutte le fotocamere digitali dal 1998 definisce un file system logico con 8,3 nomi di file e rende obbligatorio l'uso di FAT12, FAT16, FAT32 o exFAT per il suo livello fisico al fine di massimizzare l'interoperabilità della piattaforma.[6]

Il FAT viene anche utilizzato internamente per la partizione del sistema EFI (tipo di partizione 0xEF) nella fase di avvio dei computer conformi a EFI.[7]

I filesystem FAT nascosti vengono anche utilizzati nella partizione di boot UEFI sui PC moderni in cui la specifica UEFI richiede firmware compatibile per poter leggere partizioni FAT12, FAT16 e FAT32 compatibili.

Per i floppy disk, il FAT è stato standardizzato come ECMA-107[8] e ISO / IEC 9293: 1994[9] (che sostituisce la ISO 9293: 1987[10]). Questi standard coprono FAT12 e FAT16 con un supporto di soli file di nome 8.3; i nomi di file lunghi con VFAT sono parzialmente brevettati.[11]

Nomenclatura

Tecnicamente, il termine "file system FAT" si riferisce a tutte e tre le principali varianti del file system, FAT12, FAT16 e FAT32, e la maggior parte delle parti le distingue chiaramente se necessario.Al contrario, Microsoft non distingue più tra tutti e tre dall'introduzione di FAT32 e fa riferimento a FAT12 e FAT16 come "FAT", mentre "FAT32" viene trattato in modo particolare nelle finestre di dialogo e nella documentazione. Ciò può a volte creare confusione se il tipo effettivo del file system utilizzato non è menzionato o non può essere specificato esplicitamente (ad esempio, "Vuoi formattare come FAT o FAT32?" Invece di "Vuoi formattare come FAT12, FAT16? o FAT32? ").

Un'altra causa comune di confusione esiste all'interno del gruppo di file system FAT16, dal momento che il termine "FAT16" si riferisce a entrambi, l'intero gruppo di file system FAT con voci cluster a 16 bit, o in particolare solo l'implementazione originale di esso con 16 voci di settore -bit, quando diventa necessario distinguere tra l'implementazione originale e quella successiva. Mentre tecnicamente la variante più recente con voci di settore a 32 bit si chiama "FAT16B", viene comunemente indicata con il nome "FAT16", in particolare poiché la variante originale è vista raramente oggi e tipicamente usata solo su piccoli media quando si fa marcia indietro è richiesta la compatibilità con DOS prima di 3.31.

Inoltre, il termine "VFAT" ha portato a vari malintesi,[nb 2] come a volte viene erroneamente utilizzato come se descrivesse un'altra variante del file system FAT da distinguere dai file system FAT12, FAT16 e FAT32, mentre in realtà non specifica un altro file system, ma un'estensione opzionale, che può funzionare su in cima a qualsiasi file system FAT, FAT12, FAT16 o FAT32. I volumi che utilizzano i nomi di file lunghi VFAT possono essere letti anche dai sistemi operativi che non supportano l'estensione VFAT, per quanto tempo qualsiasi sistema operativo che supporta il file system sottostante (FAT12, FAT16 o FAT32).

Un'altra causa di malintesi deriva da una apparente ridondanza e da possibili ambiguità nella definizione dei volumi FAT.Il tipo generale di file system (FAT12, FAT16 o FAT32) è determinato dalla larghezza delle voci del cluster nel FAT. Valori soglia specifici per la quantità di cluster[7] (come memorizzato nel BPB) sono stati definiti per determinare quale tipo di FAT è utilizzato. Anche se altre proprietà come la dimensione del volume, il conteggio dei settori, il formato BPB, il nome del file system in un EBPB, o -in caso di media partizionato- l'ID della partizione utilizzato può sembrare spesso una distinzione ben adattata anche i criteri, non possono essere utilizzati in modo affidabile per derivare il tipo di file system da tutti gli scenari.[7] Sebbene non comune, è tecnicamente possibile definire un volume FAT12 o FAT16 usando un "FAT32 EBPB" (che è una specie di termine improprio per la variante EBPB introdotta con DOS 7.1), che viene normalmente utilizzata solo per i volumi FAT32.[nb 3] Inoltre, mentre gli ID delle partizioni talvolta indicano proprietà speciali come l'accesso nascosto, sicuro, CHS o LBA a un sistema operativo e in quanto tali vengono spesso utilizzati in combinazione con determinate varianti del file system, in genere non vengono utilizzati per specificare un tipo di file sistema da soli, ma piuttosto per mantenere i sistemi operativi (vecchi o stranieri) non a conoscenza di un ID partizione dall'accesso a partizioni che non possono gestire o con cui non dovrebbero funzionare.[12] È quindi necessario distinguere generico Tipi di file system FAT come FAT12, FAT16 o FAT32 da Tipi di partizione FAT come FAT12, FAT16, FAT16B, FAT16X, FAT32, FAT32X, ecc.

tipi

Vedi anche: Cronologia dei sistemi operativi DOS

FAT originale a 8 bit

FAT a 8 bit
Developer (s) Microsoft, NCR, SCP
Nome e cognome Tabella di allocazione file a 8 bit
Introdotto 1977/1978: NCR Basic +6 per NCR
1978: Disco standalone BASIC-80 (voci di directory a 16 byte)[13][14]
(1978: solo disco interno BASIC-86 standalone)
1979-06-04: Disco standalone BASIC-86 per SCP (voci di directory a 16 byte)
1979: MIDAS (voci di directory a 32 byte)
limiti
Max. dimensione del file 8 MB
Granularità delle dimensioni del file record-granularity (128 byte)[13][14]
Max. lunghezza del nome file 6.3 nomefile (file binari), 9 caratteri (file ASCII)[13][14]
Max. profondità della directory nessuna sottodirectory
Caratteri consentiti nei nomi dei file ASCII (0x00 e 0xFF non consentito nel primo carattere)[13][14]
Caratteristiche
Date registrate No
attributi Scrittura protetta, conversione EBCDIC, lettura dopo scrittura, binario (casuale piuttosto che sequenziale)[13][14]

Il file system FAT originale (o Struttura FAT, come è stato inizialmente chiamato) è stato progettato e codificato da Marc McDonald,[15] basato su una serie di discussioni tra McDonald e Bill Gates.[15] È stato introdotto con elementi di tabella a 8 bit[13][14][15] (e numeri di cluster di dati validi fino a 0xBF[13][14]) in un precursore di Microsoft Disco autonomo BASIC-80 per un successore basato su 8080[nb 4] del terminale di ingresso dati VI modello NCR 7200, dotato di floppy disk da 8 pollici (200 mm), nel 1977[16]/1978.[nb 4] Nel 1978, Disco autonomo BASIC-80 è stato portato su 8086 usando un emulatore su un DEC PDP-10,[17] dato che al momento non erano disponibili 8086 sistemi reali.Il file system FAT è stato utilizzato anche in MDOS / MIDAS di Microsoft,[15] un sistema operativo per piattaforme 8080 / Z80 scritto da McDonald dal 1979.Il Disco standalone BASIC la versione supportava tre FAT,[13][14][18] mentre questo era un parametro per MIDAS. Secondo quanto riferito, MIDAS era anche pronta a supportare varianti FAT a 10-bit, 12-bit e 16-bit.Mentre la dimensione delle voci della directory era di 16 byte Disco standalone BASIC,[13][14] MIDAS invece occupava 32 byte per entrata.

Tim Paterson di Seattle Computer Products (SCP) è stato introdotto per la prima volta nella struttura FAT di Microsoft quando ha aiutato Bob O'Rear ad adattare il Disco autonomo BASIC-86 porta di emulazione sul prototipo della scheda CPU 8086 del bus S-100 di SCP durante una settimana ospite presso Microsoft nel maggio 1979.[17] Il prodotto finale è stato mostrato presso lo stand di Lifeboat Associates alla National Computer Conference di New York[17] il 4-7 giugno 1979, in cui Paterson apprese dell'implementazione FAT più sofisticata in MDOS / MIDAS[15] e McDonald gli ha parlato del design del file system.[16]

FAT12

FAT12
Developer (s) SCP, Microsoft, IBM, Ricerca digitale, Novell
Nome e cognome Tabella di allocazione file a 12 bit
Introdotto 1980-07 (QDOS 0.10, voci di directory a 16 byte)
1981-02-25 (86-DOS 0.42, voci di directory a 32 byte, diversi settori riservati)
circa. 1981-08 / 10 (PC DOS 1.0, voci di directory a 32 byte, 1 settore riservato)
1982-03-03 (MS-DOS 1,25, voci di directory a 32 byte, 1 settore riservato)
Identificatore di partizione MBR / EBR:
FAT12: 0x01 e.a.
BDP:
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
limiti
Max. dimensione del volume 16 MiB (con 4 cluster KiB)
32 MiB (con 8 cluster KiB)
Max. dimensione del file limitato dalla dimensione del volume
Granularità delle dimensioni del file 1 byte
Max. numero di file 4,068 per 8 cluster KiB
Max. lunghezza del nome file 8.3 nomefile con caratteri OEM,
255 caratteri UCS-2[nb 1] quando si utilizza LFN
Max. profondità della directory 32 livelli o 66 caratteri (con CDS),
60 livelli o più (senza CDS)
Caratteristiche
Date registrate Data modificata (non con 86-DOS prima di 0.42), ora modificata (non con PC DOS 1.0 e 86-DOS), data / ora di creazione (solo DOS 7.0 e successive), data di accesso (disponibile solo con ACCDATE abilitato),[2] data / ora di cancellazione (solo con DELWATCH 2)
Intervallo di date Dal 1980-01-01 al 2099-12-31 (2107-12-31)
Data di risoluzione 2 secondi per l'ultima volta modificata,
10 ms per tempo di creazione,
1 giorno per la data di accesso,
2 secondi per il tempo di eliminazione
attributi Sola lettura (dal DOS 2.0), Nascosto, Sistema, Volume (da MS-DOS 1,28 e DOS PC 2.0), Directory (da MS-DOS 1,40 e DOS DOS PC 2.0), Archivio (da DOS 2.0)
Autorizzazioni del file system Diritti di accesso a file, directory e volume per Read, Write, Execute, Delete solo con DR-DOS, PalmDOS, Novell DOS, OpenDOS, FlexOS, OS 4680, OS 4690, DOS simultaneo, DOS multiutente, Gestore di sistema, REAL / 32 (Esegui solo con FlexOS, OS 4680, OS 4690, password di file / directory individuali non con FlexOS, OS 4680, OS 4690, classi di permesso World / Group / Owner solo con la sicurezza multiutente caricata)
Compressione trasparente Per volume, SuperStor, Stacker, DoubleSpace, DriveSpace
Crittografia trasparente Per volume solo con DR-DOS

Tra aprile e agosto 1980, prendendo in prestito il concetto FAT per il sistema operativo 8086 di SCP, QDOS 0.10,[17] Tim Paterson ha esteso gli elementi del tavolo a 12 bit,[19] ridotto il numero di FAT a due, ridefinito la semantica di alcuni dei valori di cluster riservati e modificato il layout del disco, in modo che la directory root ora si trovasse tra il FAT e l'area dati per la sua implementazione di FAT12. Paterson ha anche aumentato il nome del file di nove caratteri (6.3)[13][14] limite di lunghezza a undici caratteri per supportare nomi di file in stile CP / M 8.3 e blocchi di controllo file. Il formato utilizzato in Microsoft Disco fisso BASIC Il precursore del file system a 8 bit non era supportato da QDOS. Nell'agosto del 1980, QDOS era già stato rinominato 86-DOS.[20] A partire da 86-DOS 0.42, la dimensione e il layout delle voci della directory sono stati modificati da 16 byte a 32 byte[21] per aggiungere un timbro data del file[21] e aumentare il limite di dimensioni del file teorico oltre il limite precedente di 16 MB.[21]86-DOS 1.00 divenne disponibile all'inizio del 1981. Più tardi nel 1981, 86-DOS si evolse in MS DOS DOS e IBM PC DOS di Microsoft.[15][19][22] La capacità di leggere volumi precedentemente formattati con voci di directory a 16 byte[21] è stato rilasciato con MS-DOS 1,20.

Originariamente progettato come un file system per i floppy disk, FAT12 utilizzava voci a 12 bit per gli indirizzi di cluster nel FAT, che non solo limitavano il numero massimo generalmente possibile di cluster di dati a 4078 (per i cluster di dati 0x002 a 0xFEF)[23][24] o in alcuni scenari controllati anche fino a 4084 (per i cluster di dati 0x002 a 0xFF5),[7][8][25] ma ha reso la manipolazione FAT ingannevole con i registri a 8 bit e 16 bit del PC. (Mentre MS-DOS e PC DOS supportano fino a 4084 cluster di dati sui volumi FAT12 in generale, valore del cluster 0xFF0[nb 5] viene considerato come indicatore di fine catena aggiuntivo su qualsiasi volume FAT12[12] da DOS DOS MS-DOS / PC 3.3, che ha anche introdotto il 0xF0 valore descrittore dei media, quindi limitando il numero massimo di dati del cluster di dati a 4078 per motivi di compatibilità con questi sistemi operativi).

La dimensione del disco è stata memorizzata e calcolata come un conteggio dei settori a 16 bit, che ha limitato la dimensione a 32 MiB per una dimensione del settore logico di 512 byte. FAT12 è stato utilizzato da diversi produttori con diversi formati fisici, ma un disco floppy tipico al momento era di 5,25 pollici (130 mm), a singola facciata, 40 tracce, con 8 settori per traccia, con una capacità di 160 KiB per entrambi le aree e i file del sistema. Le limitazioni FAT12 hanno superato questa capacità di un fattore dieci o più. (NB: il limite 32 MiB è stato successivamente aggirato utilizzando FAT logici settoriali con dimensioni di settore logiche superiori a 512 byte in alcune versioni OEM di MS-DOS 3.x, ma questo è caduto in disuso quando FAT16B è diventato disponibile con DOS 3.31, che supportava 32 -bitali numeri di settore e quindi ulteriormente sollevato i limiti).

Per convenzione, tutte le strutture di controllo erano organizzate per adattarsi all'interno della prima traccia, evitando così il movimento della testa durante le operazioni di lettura e scrittura, anche se questo variava a seconda del produttore e del formato fisico del disco. Una limitazione che non è stata affrontata molto più tardi (con FAT32) era che qualsiasi settore danneggiato nell'area delle strutture di controllo, la traccia 0, potrebbe impedire l'utilizzo del disco. Lo strumento di formattazione DOS ha respinto completamente tali dischi. I settori danneggiati erano consentiti solo nell'area dati del file e (poiché DOS 2.0) erano contrassegnati con il valore riservato 0xFF7 nel grasso. Hanno reso inutilizzabile l'intero gruppo di contenimento.

Mentre 86-DOS supportava tre formati di dischi (250,25 KiB, 616 KiB e 1232 KiB con ID FAT 0xFF e 0xFE) su unità floppy da 8 pollici (200 mm), IBM PC DOS 1.0, rilasciato con l'IBM Personal Computer originale nel 1981, supportava solo un formato floppy a 8 settori con una capacità formattata di 160 KiB (ID FAT) 0xFE) per unità floppy da 5,25 pollici su un lato e PC 1.1 aggiunto supporto per un formato fronte / retro con 320 KiB (ID FAT) 0xFF). PC DOS 2.0 ha introdotto il supporto per formati floppy a 9 settori con 180 KiB (FAT ID 0xFC) e 360 ​​KiB (ID FAT 0xFD).

Le voci di directory DOS DOS 1.0 e 86-DOS includevano solo una data, l'ultima data di modifica. PC DOS 1.1 ha aggiunto l'ultima ora modificata. Gli attributi del file DOS DOS 1.x includevano un bit nascosto e un bit di sistema, con i restanti sei bit non definiti. A questo punto, DOS non supportava un file system gerarchico, che era comunque accettabile, dato che il numero di file su un disco non era in genere superiore a qualche dozzina.

Il PC XT è stato il primo PC con un disco rigido di IBM, e PC DOS 2.0 supportato quel disco rigido con FAT12 (ID FAT 0xF8). L'assunzione fissa di 8 settori per cluster su hard disk ha praticamente limitato la dimensione massima della partizione a 16 MiB per settori a 512 byte e 4 cluster KiB.

Il BIOS Parameter Block (BPB) è stato introdotto anche con PC DOS 2.0 e questa versione ha anche aggiunto bit di sola lettura, archivio, etichetta del volume e bit di attributo directory per le sottodirectory gerarchiche.[26]

MS-DOS 3.0 ha introdotto il supporto per i dischetti 1,25 MiB ad alta densità 1,2 m (descrittore del supporto 0xF9), che aveva in particolare 15 settori per binario, quindi più spazio per i FAT.

FAT12 rimane in uso su tutti i dischi floppy comuni, compresi 1.44 MiB e successivi 2.88 dischi MiB (byte descrittore media 0xF0).

Iniziale FAT16

FAT16
Developer (s) Microsoft, IBM, ricerca digitale, Novell
Nome e cognome Tabella di allocazione file a 16 bit
(con voci di settore a 16 bit)
Introdotto 1984-08-14 (PC DOS 3.0)
1984-08 (MS-DOS 3.0)
Identificatore di partizione MBR / EBR:
FAT16: 0x04 E.A.
BDP: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
limiti
Max. dimensione del file limitato dalla dimensione del volume
Granularità delle dimensioni del file 1 byte
Max. numero di file 65.536 per 32 gruppi di KiB
Max. lunghezza del nome file 8.3 nomefile con caratteri OEM,
255 caratteri UCS-2[nb 1] quando si utilizza LFN
Max. profondità della directory 32 livelli o 66 caratteri (con CDS),
60 livelli o più (senza CDS)
Caratteristiche
Date registrate Data / ora modificata, data / ora di creazione (solo DOS 7.0 e versioni successive), data di accesso (disponibile solo con ACCDATE attivato),[2] data / ora di cancellazione (solo con DELWATCH 2)
Intervallo di date Dal 1980-01-01 al 2099-12-31 (2107-12-31)
Data di risoluzione 2 secondi per l'ultima volta modificata,
10 ms per tempo di creazione,
1 giorno per la data di accesso,
2 secondi per il tempo di eliminazione
attributi Sola lettura, Nascosto, Sistema, Volume, Rubrica, Archivio
Autorizzazioni del file system Diritti di accesso a file, directory e volume per Read, Write, Execute, Delete solo con DR-DOS, PalmDOS, Novell DOS, OpenDOS, FlexOS, OS 4680, OS 4690, DOS simultaneo, DOS multiutente, Gestore di sistema, REAL / 32 (Esegui solo con FlexOS, OS 4680, OS 4690, password di file / directory individuali non con FlexOS, OS 4680, OS 4690, classi di permesso World / Group / Owner solo con la sicurezza multiutente caricata)
Compressione trasparente Per volume, SuperStor, Stacker, DoubleSpace, DriveSpace
Crittografia trasparente Per volume solo con DR-DOS

Il 14 agosto 1984, IBM ha rilasciato il PC AT, che comprendeva un disco fisso da 20 MiB e un PC DOS 3.0.[27][28] Microsoft ha introdotto MS-DOS 3.0 in parallelo. Gli indirizzi di cluster sono stati aumentati a 16 bit, consentendo fino a 65.524 cluster per volume e, di conseguenza, dimensioni di file system molto più grandi, almeno in teoria. Tuttavia, il numero massimo possibile di settori e la dimensione massima (partizione, anziché disco) di 32 MiB non sono cambiati. Pertanto, sebbene gli indirizzi di cluster fossero 16 bit, questo formato non era quello che oggi è comunemente inteso come FAT16.Un tipo di partizione 0x04 indica questa forma di FAT16 con meno di 65536 settori (meno di 32 MiB per la dimensione del settore 512).

Con l'implementazione iniziale di FAT16 che in realtà non prevedeva dimensioni di partizione maggiori rispetto a FAT12, il vantaggio iniziale di FAT16 era di consentire l'uso di cluster più piccoli, rendendo l'utilizzo del disco più efficiente, in particolare per un numero elevato di file di poche centinaia di byte.

Poiché MS-DOS 3.0 e versioni successive formattavano tutte le 16 partizioni MiB-32 MiB nel formato FAT16, un disco rigido da 20 MiB formattato con MS-DOS 3.0 non era accessibile dal vecchio MS-DOS 2.0 sebbene MS-DOS 2.0 fosse in grado di accedere 16 partizioni MiB-32 MiB FAT12[29]. Da MS-DOS 3.0 a MS-DOS 3.30 è ancora possibile accedere alle partizioni FAT12 sotto 15 MiB ma è necessario che tutte le 16 partizioni MiB-32 MiB siano FAT16 e quindi non è riuscito ad accedere alle partizioni MS-DOS 2.0 in questo intervallo di dimensioni. MS-DOS 3.31 e versioni successive possono accedere nuovamente a 16 partizioni MiB-32 MiB FAT12.

FAT settoriale logico

Quando i dischi rigidi sono diventati più grandi e l'implementazione del file system FAT12 e FAT16 nel DOS MS-DOS / PC non ha fornito i mezzi per sfruttare l'archiviazione aggiuntiva, diversi produttori hanno sviluppato le proprie varianti FAT per risolvere il problema nei loro problemi OEM MS-DOS .[30]

Alcuni venditori (AST e NEC[30]) supportato otto, anziché le quattro standard, le voci della partizione primaria nel loro esteso personalizzato Master Boot Record (MBR) e hanno adattato MS-DOS per utilizzare più di una singola partizione primaria.

Altri fornitori hanno lavorato attorno ai limiti di dimensione del volume imposti dalle voci del settore a 16 bit e dall'aritmetica aumentando il dimensione dei settori trattati dal file system, facendo esplodere le dimensioni.

Questi cosiddetti settori logici erano più grandi (fino a 8192 byte) rispetto al settore fisico dimensione (sempre in genere 512 byte) come previsto dal ROM-BIOS INT 13H o dall'hardware dell'unità disco. Il BIOS DOS o BIOS di sistema combinerebbe quindi più settori fisici in settori logici per il file system con cui lavorare.Queste modifiche erano trasparenti all'implementazione del file system nel kernel DOS, dal momento che i volumi del livello di astrazione del file system sono visti come una serie lineare di settori indirizzabili logicamente, noti anche come settori assoluti (indirizzati dal loro Numero di settore logico (LSN), a partire da LSN 0) indipendentemente dalla posizione fisica del volume sul supporto fisico e dalla sua geometria. Il BIOS DOS sottostante tradusse questi settori logici in settori fisici in base alle informazioni sul partizionamento e alla geometria fisica del convertitore.

Lo svantaggio di questo approccio era un buffer di memoria meno efficiente in termini di memoria e il deblock nel BIOS DOS, causando in tal modo un maggiore ingombro di memoria per le strutture di dati DOS.Poiché le versioni DOS precedenti non erano abbastanza flessibili per lavorare con queste geometrie logiche, gli OEM dovevano introdurre nuovi ID di partizione per le loro varianti FAT al fine di nasconderli dai problemi pratici di MS-DOS e PC DOS. Gli ID di partizione noti per i FAT a settori logici includono: 0x08 (Commodore MS-DOS 3.x), 0x11 (Leading Edge MS-DOS 3.x), 0x14 (AST MS-DOS 3.x), 0x24 (NEC MS-DOS 3.30[30]), 0x56 (AT & T MS-DOS 3.x), 0xE5 (Tandy MS-DOS), 0xF2 (Sperry IT MS-DOS 3.x, Unisys MS-DOS 3.3 - utilizzato anche da Digital Research DOS Plus 2.1).[31] Versioni OEM come Toshiba MS-DOS, Wyse MS-DOS 3.2 e 3.3,[32] così come Zenith MS-DOS sono anche noti per aver utilizzato il settore logico.[33]

Sebbene non standard e non ottimali, queste varianti FAT sono perfettamente valide secondo le specifiche del file system stesso. Pertanto, anche se i problemi di default di DOS MS-DOS e PC non erano in grado di gestirli, la maggior parte di queste varianti FAT12 e FAT16 specifiche del fornitore possono essere montate con implementazioni di file system più flessibili in sistemi operativi come DR-DOS, semplicemente cambiando l'ID della partizione su uno dei tipi riconosciuti.[nb 6] Inoltre, se non hanno più bisogno di essere riconosciuti dai loro sistemi operativi originali, le partizioni esistenti possono essere "convertite" in volumi FAT12 e FAT16 più compatibili con le versioni di MS-DOS / PC DOS 4.0-6.3, che non supportano le dimensioni dei settori differenti da 512 byte,


Recenti documenti: