Caratteristiche del fat file system. Grasso del file system. Descrizione del file system FAT16

Prima dell'esistenza del sistema operativo Microsoft Windows NT, gli utenti di personal computer raramente avevano il problema di scegliere un file system. Tutti i proprietari di sistemi operativi (OS) MS-DOS e Microsoft Windows utilizzavano uno dei tipi di file system chiamati FAT (FAT-12, FAT-16 o FAT-32).

Ora la situazione è cambiata. Quando si installa Microsoft Windows NT/2000/XP, quando si formatta il disco è necessario scegliere tra tre file system: FAT-16, FAT-32 o NTFS.

In questo articolo parleremo di struttura interna file system elencati, considerare i loro svantaggi e vantaggi intrinseci. Armati di questa conoscenza, puoi fare una scelta informata a favore di un particolare file system per Microsoft Windows.

Brevemente sul file system FAT

Il file system FAT è apparso agli albori dello sviluppo dei personal computer ed era originariamente destinato alla memorizzazione di file su floppy disk.

Le informazioni vengono archiviate su dischi e floppy disk in porzioni, in settori di 512 byte. L'intero spazio del dischetto era diviso in aree di lunghezza fissa chiamate cluster. Un cluster può contenere uno o più settori.

Ogni file occupa uno o più cluster, possibilmente non contigui. I nomi dei file e altre informazioni sui file, come dimensione e data di creazione, si trovano nell'area iniziale del dischetto assegnata alla directory principale.

Oltre alla directory root è possibile creare altre directory nel file system FAT. Insieme alla directory root, formano un albero di directory contenente informazioni su file e directory. Per quanto riguarda la posizione dei file cluster sul disco, queste informazioni vengono memorizzate nell'area iniziale del floppy disk, chiamata File Allocation Table (FAT).

Ogni cluster nella tabella FAT ha la propria cella individuale, che memorizza informazioni su come viene utilizzato questo cluster. Pertanto, la tabella di allocazione dei file è un array contenente informazioni sui cluster. La dimensione di questo array è determinata dal numero totale di cluster sul disco.

La directory memorizza il numero del primo cluster assegnato a un file o sottodirectory. I numeri dei cluster rimanenti possono essere trovati utilizzando la tabella di allocazione dei file FAT.

Nello sviluppo del formato della tabella FAT, l'obiettivo era risparmiare spazio, perché... Il dischetto ha una capacità molto ridotta (da 180 KB a 2,44 MB). Pertanto, sono state allocate solo 12 cifre binarie per memorizzare i numeri dei cluster. Di conseguenza, la tabella FAT era così compatta da occupare solo un settore del dischetto.

La tabella FAT contiene elementi critici Informazioni importanti sulla posizione di directory e file. Se, a causa di un guasto hardware, Software o gli effetti dannosi dei virus, la tabella FAT verrà danneggiata e l'accesso a file e directory andrà perso. Pertanto, per sicurezza, sul disco vengono solitamente create due copie della tabella FAT.

Diverse versioni di FAT

Dopo l'avvento dei dischi rigidi di grande capacità (a quei tempi, i dischi di 10-20 MB erano considerati grandi), il numero di cluster è aumentato e 12 bit sono diventati insufficienti per memorizzarne i numeri. È stato sviluppato un nuovo formato di tabella di allocazione file a 16 bit, in cui sono stati allocati due byte per memorizzare il numero di un cluster. Il vecchio file system progettato per i floppy disk divenne noto come FAT-12, mentre quello nuovo divenne noto come FAT-16.

La tabella FAT-16 ampliata non si adatta più a un settore, ma con dischi di grandi dimensioni questo inconveniente non ha avuto un ruolo significativo. Come prima, sul disco sono state archiviate due copie della tabella FAT a scopo assicurativo.

Tuttavia, quando lo spazio su disco cominciò a essere misurato in centinaia di MB e persino in gigabyte, il file system FAT-16 divenne nuovamente inefficace. Affinché i numeri dei cluster rientrino in 16 bit, quando si formattano dischi di grandi dimensioni è necessario aumentare la dimensione dei cluster a 16 KB o anche di più. Ciò causava problemi quando era necessaria l'archiviazione su disco grande quantità piccoli file. Poiché lo spazio di archiviazione dei file viene allocato in cluster, anche un file molto piccolo richiede troppo spazio su disco.

Di conseguenza, è stato fatto un altro tentativo, apparentemente definitivo, di migliorare il file system FAT: la dimensione delle celle della tabella di allocazione dei file è stata aumentata a 32. Ciò ha reso possibile formattare dischi di centinaia di MB e pochi GB utilizzando un formato relativamente piccolo dimensione del grappolo. Il nuovo file system divenne noto come FAT-32.

Norma 8.3

Prima dell'avvento di Microsoft Windows 95, gli utenti di personal computer erano costretti a utilizzare lo scomodo "standard 8.3" per denominare i file, in cui il nome del file doveva essere composto da 8 caratteri più 3 caratteri di estensione. Questa limitazione è stata imposta non solo dall'interfaccia del programma del sistema operativo MS-DOS, ma anche dalla struttura delle voci delle directory del file system FAT.

Dopo aver modificato la struttura delle voci della directory, il limite al numero di caratteri in un nome di file è stato praticamente eliminato. Il nome del file ora può contenere fino a 255 caratteri, il che è ovviamente sufficiente nella maggior parte dei casi. Tuttavia, un file system FAT così modificato è diventato incompatibile con il sistema operativo MS-DOS, nonché con le versioni della shell di Microsoft Windows 3.1 e 3.11 in esecuzione nel suo ambiente.

Puoi leggere di più sui formati delle strutture FAT interne nel nostro articolo “Recupero dati in partizioni FAT” pubblicato su questo sito.

Limitazioni del file system FAT

Quando decidi se utilizzare il file system FAT per formattare un disco, dovresti essere consapevole dei suoi limiti intrinseci. Queste restrizioni riguardano principalmente la dimensione massima di un disco FAT, nonché la dimensione massima di un file situato su questo disco.

La dimensione massima di un'unità logica FAT-16 è 4 GB, che è molto piccola per gli standard moderni. Microsoft, tuttavia, sconsiglia di creare dischi FAT-16 di dimensioni superiori a 200 MB, perché... In questo caso, lo spazio su disco verrà utilizzato in modo molto inefficiente.

In teoria, la dimensione massima di un disco FAT-32 può essere di 8 TB, che dovrebbe essere sufficiente per distribuire qualsiasi applicazione moderna. Questo valore si ottiene moltiplicando il numero massimo di cluster (268.435.445) per la dimensione massima dei cluster consentita da FAT-32 (32 KB).

Tuttavia, in pratica la situazione sembra leggermente diversa.

A causa di limitazioni interne, l'utilità ScanDisk in Microsoft OS 95/98 non è in grado di funzionare con dischi di dimensioni superiori a 127,53 GB. Un anno fa, una tale limitazione non avrebbe causato problemi, ma oggi sono già apparse sul mercato unità economiche da 160 GB e presto la loro capacità sarà ancora maggiore.

I nuovi sistemi operativi Microsoft Windows 2000/XP non sono in grado di creare partizioni FAT-32 con una capacità superiore a 32 GB. Se hai bisogno di partizioni di queste dimensioni o più grandi, Microsoft ti suggerirà di utilizzare il file system NTFS.

Un'altra limitazione significativa di FAT-32 è la dimensione del file: non può superare i 4 GB. Questa limitazione influenzerà, ad esempio, la registrazione di frammenti video su disco o la creazione di file di database di grandi dimensioni.

Una directory FAT-32 può memorizzare un massimo di 65534 file.

Svantaggi del FAT

Oltre alle limitazioni sopra discusse, il file system FAT presenta anche altri svantaggi. Il più significativo, a quanto pare, è completa assenza mezzi di controllo dell'accesso, nonché la possibilità di perdere informazioni sulla posizione di tutti i file dopo la distruzione di una tabella FAT abbastanza compatta e della sua copia.

Avviando il computer dal floppy disk del sistema, un utente malintenzionato può facilmente accedere a tutti i file archiviati sui dischi con il file system FAT. Gli sarà poi facile copiare questi file su un dispositivo ZIP o su un altro supporto di memorizzazione esterno.

Quando si utilizza FAT sui dischi del server, è impossibile garantire una delimitazione affidabile e flessibile dell'accesso degli utenti alle directory. Per questo motivo, e anche per la sua bassa resistenza ai guasti, la FAT solitamente non viene utilizzata sui server.

La presenza di tabelle di allocazione dei file FAT compatte rende questo file system un bersaglio vulnerabile virus informatici- è sufficiente distruggere il frammento iniziale del disco FAT e quasi tutti i dati andranno persi.

File system NTFS

Il moderno file system NTFS, sviluppato da Microsoft per il sistema operativo Microsoft Windows NT, è privo delle limitazioni e degli svantaggi del FAT. Sin dal suo inizio, l'evoluzione del file system NTFS ha subito numerosi miglioramenti, gli ultimi dei quali (al momento della stesura di questo articolo) sono stati apportati a Microsoft Windows XP.

Nel file system NTFS, tutti gli attributi dei file (nome, dimensione, posizione delle estensioni dei file sul disco, ecc.) sono memorizzati in un file di sistema nascosto $MFT. Vengono allocati da uno a diversi KB per memorizzare le informazioni su ciascun file (e directory) in $MFT. Se sul disco è archiviato un numero elevato di file, la dimensione del file $MFT può raggiungere decine o addirittura centinaia di MB.

Piccoli file (dell'ordine di centinaia di byte) vengono archiviati direttamente in $MFT, il che velocizza notevolmente l'accesso ad essi.

Si noti, tuttavia, che il sovraccarico di NTFS per l'archiviazione delle informazioni di sistema, sebbene superi il sovraccarico di FAT, non è ancora molto elevato rispetto al volume dei dischi moderni. Dato che il file $MFT si trova solitamente più vicino al centro del disco, le prime tracce vengono distrutte Disco NTFS non porta a conseguenze fatali come la distruzione delle aree iniziali del disco FAT.

Il file system NTFS ha molte funzionalità che FAT non ha. Consentono flessibilità, affidabilità e sicurezza molto maggiori rispetto al FAT.

Elenchiamo alcune delle funzionalità più interessanti di NTFS nelle versioni moderne.

Strumenti di controllo degli accessi

Mezzi di delimitazione Accesso NTFS sono abbastanza flessibili e consentono di controllare l'accesso a livello di singoli file e directory, concedendo (o bloccando) l'accesso ad essi a singoli utenti o gruppi di utenti.

Anche se a prima vista può sembrare che gli strumenti di controllo degli accessi siano necessari solo per file server, saranno necessari anche se più utenti hanno accesso al computer.

Crittografia dei file

Gli strumenti di controllo degli accessi sopra menzionati saranno inutili se il disco fisico NTFS cade nelle mani di un utente malintenzionato. Utilizzando le moderne utilità, il contenuto di tale disco può essere letto senza troppe difficoltà in qualsiasi sistema operativo: DOS, Microsoft Windows o Linux.

Per proteggere i file degli utenti da accessi non autorizzati, i sistemi operativi Microsoft Windows 2000/XP forniscono un'ulteriore crittografia dei file archiviati nelle partizioni NTFS. E anche se la forza di tale crittografia potrebbe non essere molto elevata, nella maggior parte dei casi è abbastanza sufficiente.

RAID del disco software

Utilizzando NTFS è possibile creare un cosiddetto RAID 1 software (set con mirroring). Questo array, composto da due fisici o unità logiche della stessa dimensione, consente di duplicare (o, come si dice anche, "mirror") i file.

Un tale array può proteggere i tuoi file in caso di guasto fisico di uno dei dischi che compongono l'array, pertanto viene spesso utilizzato per aumentare l'affidabilità di un sistema di dischi;

Set di volumi

Il file system NTFS consente di combinare diverse partizioni situate su uno o più dischi fisici in un unico volume logico. Ciò potrebbe essere necessario, ad esempio, per archiviare file di database di grandi dimensioni che non stanno su un disco fisico o per creare una directory con un volume totale di file superiore alla dimensione disco fisico.

I set creati da più partizioni o dischi fisici sono chiamati set di volumi (nella terminologia del sistema operativo Microsoft Windows NT) o volume con spanning (nella terminologia del sistema operativo Windows 2000/XP).

Comprimere i file

Per risparmiare spazio su disco, puoi utilizzare la capacità di NTFS di comprimere (comprimere) i file. Inoltre, NTFS consente di creare i cosiddetti file sparsi che contengono aree senza dati. Tali file possono essere grandi, ma occupano poco spazio su disco, poiché vengono effettivamente archiviati solo i byte significativi del file.

Tieni presente che la compressione dei file rallenterà un po' il processo. Questa circostanza, tuttavia, non avrà sempre importanza. Ad esempio, i documenti d'ufficio possono essere imballati senza una notevole diminuzione della velocità di lavoro, ma questo non si può dire dei file di database a cui accede contemporaneamente un gran numero di utenti. Con la disponibilità sul mercato di dischi di grandi dimensioni e relativamente economici, i prodotti per l'imballaggio dovrebbero essere utilizzati solo quando sono realmente necessari. Ciò vale però anche per altre funzionalità NTFS.

File multi-thread

Se necessario, è possibile memorizzare più flussi di informazioni in un file scritto su un disco NTFS. Ciò consente in particolare di fornire ai file di documenti informazioni aggiuntive, di memorizzare più versioni di documenti in un file (ad esempio in diverse lingue), di memorizzare codice di programma e dati in flussi separati di un file, ecc.

Connessioni difficili

I collegamenti fisici consentono di assegnare diversi nomi diversi a un file fisico inserendo questi nomi (ovvero i collegamenti al file) in directory diverse. Quando elimini un collegamento, il file stesso non viene eliminato. Solo quando tutte le connessioni di un file verranno distrutte, il file stesso verrà eliminato.

Si noti che tali funzionalità sono tipiche dei file system utilizzati nei sistemi operativi simili a Unix, ad esempio in Linux, FreeBSD, ecc.

Ignora punti

Gli oggetti di sistema NTFS come i punti di analisi consentono di ridefinire qualsiasi file o directory. In questo caso, ad esempio, file o directory sovrascritti utilizzati raramente possono essere effettivamente archiviati su nastro magnetico e caricati su disco solo quando necessario.

Transizioni

Usando le transizioni NTFS, puoi montare un'altra directory del disco HDD o CD. Questa funzionalità esisteva originariamente nei file system dei sistemi operativi simili a Unix.

Quote di spazio su disco

Il file system NTFS, utilizzato in Microsoft Windows 2000/XP, consente di quotare o limitare lo spazio su disco disponibile per gli utenti. Questa funzionalità è particolarmente utile durante la creazione di file server.

Modifica registrazione

Nel processo del suo lavoro sistema operativo esegue varie azioni sui file (creazione, modifica, cancellazione). Tutte queste modifiche vengono salvate in un giornale speciale creato su un volume NTFS e possono essere utilizzate dai programmi Prenota copia, sistemi di indicizzazione, ecc. La registrazione delle modifiche aumenta l'affidabilità del file system, consentendo in alcuni casi di continuare l'operazione dopo guasti non critici del sistema operativo e dell'hardware. Sebbene, ovviamente, i guasti più gravi portino alla necessità di recuperare i dati copia di backup o utilizzando speciali utilità di recupero dati.

Limitazioni NTFS

Nonostante l’abbondanza di possibilità, il file system NTFS presenta anche alcune limitazioni. Tuttavia, nella maggior parte dei casi, non svolgono un ruolo significativo.

La dimensione massima di un disco logico NTFS è di circa 18.446.744 TB, che è ovviamente sufficiente per tutte le applicazioni moderne e per quelle che appariranno nel prossimo futuro. La dimensione massima del file è ancora maggiore, quindi anche questa limitazione è insignificante.

Il numero di file archiviati in una directory NTFS è illimitato, quindi anche questo presenta un vantaggio rispetto a FAT.

Confronto tra NTFS e FAT in termini di velocità di accesso ai file

In termini di promessa, funzionalità, sicurezza e affidabilità, NTFS è molto più avanti di FAT. Tuttavia, il confronto delle prestazioni di questi file system non fornisce un risultato chiaro, poiché le prestazioni dipendono da molti fattori diversi.

Poiché i principi operativi e le strutture interne di FAT sono molto più semplici di NTFS, FAT sarà molto probabilmente più veloce quando si lavora con directory di piccole dimensioni. Tuttavia, se il contenuto della directory è così piccolo da rientrare interamente in una o più voci del file $MFT o, al contrario, se la directory è molto grande, prevarrà NTFS.

NTFS molto probabilmente prenderà l'iniziativa durante la ricerca di file o directory inesistenti (poiché non richiede la scansione dell'intero contenuto della directory), quando si accede a file di piccole dimensioni (dell'ordine di centinaia di byte) e anche in il caso di grave frammentazione del disco.

Per aumentare le prestazioni NTFS, è possibile aumentare la dimensione del cluster, ma ciò può comportare uno spreco di spazio su disco quando si archivia un numero elevato di file, la cui dimensione supera 1-2 KB e ammonta a decine di KB. Aumentando la dimensione del cluster a 64 KB, puoi ottenere il massimo miglioramento delle prestazioni, ma dovrai smettere di comprimere i file e utilizzare le utilità di deframmentazione.

Quando si comprimono file posizionati su dischi di piccole dimensioni (circa 4 GB), le prestazioni potrebbero aumentare, ma quando si comprimono dischi di grandi dimensioni, le prestazioni potrebbero diminuire. In ogni caso, il confezionamento comporterà un carico aggiuntivo sul processore centrale.

Quindi cosa scegliere: FAT o NTFS?

Come puoi vedere, NTFS presenta numerosi vantaggi rispetto a FAT e nella maggior parte dei casi i suoi limiti sono insignificanti. Se devi scegliere un file system, considera l'utilizzo prima di NTFS e solo successivamente di FAT.

Quali potrebbero essere gli ostacoli che rendono difficile la sostituzione del FAT con NTFS?

L'ostacolo più serio è la necessità di utilizzare Microsoft Windows NT/2000/XP. Questo sistema operativo richiede almeno 64 MB per il normale funzionamento memoria ad accesso casuale e un processore con una frequenza di clock di almeno 200-300 MHz. Tuttavia, questi requisiti non sono soddisfatti solo dai computer molto vecchi che non sono in grado di eseguire le versioni moderne di Microsoft Windows.

Se il tuo computer può funzionare in ambiente Microsoft Windows 2000/XP e non disponi di una sola applicazione progettata esclusivamente per Microsoft Windows 95/98/ME, ti consigliamo di passare alla prima occasione ad un nuovo sistema operativo, sostituendo questo è FAT su NTFS.

Allo stesso tempo, riceverai anche un notevole aumento dell'affidabilità operativa, perché Dopo aver installato tutti i service pack necessari, nonché le versioni corrette dei driver delle periferiche, Microsoft Windows 2000/XP funzionerà in modo molto stabile.

In alcuni casi è necessario combinare diversi file system all'interno di un disco fisico. Ad esempio, se sul tuo computer sono installati tre sistemi operativi: Microsoft Windows ME, Microsoft Windows XP e Linux, puoi creare tre file system: FAT, NTFS ed Ext2FS. Il primo sarà “visibile” quando si lavora in Microsoft Windows ME e Linux, il secondo - solo in Microsoft Windows XP, e il terzo - solo in Linux (nota che nel sistema operativo LINUX è anche possibile accedere alle partizioni NTFS).

Ma se stai creando un server (file, database o Web) basato su Microsoft Window NT/2000/XP, allora NTFS è l'unica scelta ragionevole. Solo in questo caso sarà possibile raggiungere la necessaria stabilità, affidabilità e sicurezza del server.

Esiste anche un'opinione generalmente accettata (e secondo noi errata) secondo cui gli utenti di computer domestici non hanno bisogno né del sistema operativo Microsoft Windows NT/2000/XP né del file system NTFS.

Naturalmente, se il computer viene utilizzato esclusivamente per giocare, per motivi di compatibilità è meglio installare Microsoft Windows 98/ME e formattare le unità su FAT. Tuttavia, se lavori non solo in ufficio, ma anche a casa, è meglio utilizzare soluzioni moderne, professionali e affidabili. Ciò consentirà, in particolare, di organizzare la protezione contro le intrusioni sul computer tramite Internet, limitare l'accesso a directory e file con dati critici e aumentare anche le possibilità di recupero riuscito delle informazioni in caso di vari tipi di guasti.

introduzione

2.1 Sistema FAT16

2.2 Sistema FAT32

2.3 Confronto tra FAT16 e FAT32

3.1 Sistema NTFS

3.2 Confronto tra NTFS e FAT32

Conclusione

Bibliografia

introduzione

Attualmente, in media, su un disco vengono registrate diverse decine di migliaia di file. Come risolvere tutta questa diversità per affrontare con precisione il dossier? Lo scopo del file system è una soluzione efficace a questo problema.

Il file system, dal punto di vista dell'utente, è lo "spazio" in cui si trovano i file. E come termine scientifico, è un modo per archiviare e organizzare l'accesso ai dati su un supporto informativo o su una sezione di esso. La presenza di un file system consente di determinare come viene chiamato il file e dove si trova. Poiché sui computer IBM compatibili con PC le informazioni vengono archiviate principalmente su dischi, i file system utilizzati su di essi determinano l'organizzazione dei dati sui dischi (più precisamente, sui dischi logici). Esamineremo il file system FAT.

file system fat ntfs

1. Storia della creazione e caratteristiche generali File system FAT

Il file system FAT (File Allocation Table) è stato sviluppato da Bill Gates e Mark McDonald nel 1977 ed era originariamente utilizzato nel sistema operativo 86-DOS. Per ottenere la portabilità dei programmi dal sistema operativo CP/M a 86-DOS, sono state mantenute le restrizioni precedentemente accettate sui nomi dei file. L'86-DOS fu successivamente acquisito da Microsoft e divenne la base per MS-DOS 1.0, rilasciato nell'agosto 1981. FAT è stato progettato per funzionare con dischi floppy inferiori a 1 MB e inizialmente non forniva supporto per i dischi rigidi. FAT attualmente supporta file e partizioni fino a 2 GB di dimensione.

FAT utilizza le seguenti convenzioni per la denominazione dei file:

il nome deve iniziare con una lettera o un numero e può contenere qualsiasi carattere ASCII tranne lo spazio e i caratteri "/\ :; |=,^*?

Il nome non deve contenere più di 8 caratteri, seguiti da un punto e da un'estensione facoltativa fino a 3 caratteri.

Il caso dei caratteri nei nomi dei file non viene distinto e non viene conservato.

La struttura della partizione FAT è mostrata nella Tabella 1.1 Nel blocco Impostazioni del BIOS contiene le informazioni BIOS necessarie sulle caratteristiche fisiche disco rigido. Il file system FAT non può controllare ciascun settore separatamente, quindi raggruppa i settori adiacenti in cluster. Ciò riduce il numero totale di unità di archiviazione di cui il file system deve tenere traccia. La dimensione del cluster in FAT è una potenza di due ed è determinata dalla dimensione del volume durante la formattazione del disco (Tabella 1.2). Un cluster rappresenta la quantità minima di spazio che un file può occupare. Ciò comporta uno spreco di parte dello spazio su disco. Il sistema operativo include varie utilità (DoubleSpace, DriveSpace) progettate per compattare i dati sul disco.

Tavolo 1.1 - Struttura delle partizioni FAT

Settore di avvio Blocco parametri BIOS (BPB) FATFAT (copia) Directory principale Area file

FAT prende il nome dalla tabella di allocazione dei file con lo stesso nome. La tabella di allocazione dei file memorizza le informazioni sui cluster di un disco logico. Ogni cluster in FAT ha una voce separata che indica se è libero, occupato da dati di file o contrassegnato come non riuscito (danneggiato). Se il cluster è occupato da un file, l'indirizzo del cluster contenente la parte successiva del file viene indicato nella voce corrispondente nella tabella di allocazione dei file. Per questo motivo, FAT è chiamato file system con elenchi collegati. La versione originale di FAT, sviluppata per DOS 1.00, utilizzava una tabella di allocazione file a 12 bit e supportava partizioni fino a 16 MB (DOS consente di creare un massimo di due partizioni FAT). Per supportare dischi rigidi più grandi di 32 MB, la larghezza in bit FAT è stata aumentata a 16 bit e la dimensione del cluster è stata aumentata a 64 settori (32 KB). Poiché a ogni cluster può essere assegnato un numero univoco a 16 bit, FAT supporta un massimo di 216, o 65.536, cluster su un singolo volume.

Tabella 1.2 – Dimensioni dei cluster

Dimensioni della partizione Dimensioni del cluster Tipo FAT< 16 Мб4 КбFAT1216 Мб - 127 Мб2 КбFAT16128 Мб - 255 Мб4 КбFAT16256 Мб - 511 Мб8 КбFAT16512 Мб - 1023 Мб16 КбFAT161 Гб - 2 Гб32 КбFAT16

Poiché il record di avvio è troppo piccolo per memorizzare l'algoritmo di ricerca dei file di sistema sul disco, allora file di sistema devono trovarsi in una posizione specifica affinché il record di avvio possa trovarli. La posizione fissa dei file di sistema all'inizio dell'area dati impone un limite rigoroso alla dimensione della directory root e della tabella di allocazione dei file. Di conseguenza, il numero totale di file e sottodirectory nella directory principale su un'unità FAT è limitato a 512.

Ogni file e sottodirectory in FAT è associato a un elemento di directory da 32 byte contenente il nome del file, i suoi attributi (archivio, nascosto, di sistema e di sola lettura ), data e ora di creazione (o di ingresso in esso ultime modifiche), nonché altre informazioni (Tabella 1.3).

Tabella 1.3 - Elementi del catalogo

Il file system FAT riempie sempre lo spazio libero su disco in sequenza dall'inizio alla fine. Quando si crea un nuovo file o ne si aumenta uno esistente, cerca il primo cluster libero nella tabella di allocazione dei file. Se durante l'operazione alcuni file vengono eliminati e altri cambiano di dimensione, i cluster vuoti risultanti verranno sparsi sul disco. Se i cluster contenenti i dati del file non si trovano in una riga, il file diventa frammentato. I file fortemente frammentati riducono significativamente l'efficienza, poiché le testine di lettura/scrittura dovranno spostarsi da un'area all'altra del disco durante la ricerca del record di file successivo. I sistemi operativi che supportano FAT solitamente includono utilità speciali Deframmentazione del disco, progettata per migliorare le prestazioni delle operazioni sui file.

Un altro svantaggio della FAT è che le sue prestazioni dipendono fortemente dal numero di file archiviati in una directory. Se il numero di file è elevato (circa un migliaio), l'operazione di lettura dell'elenco dei file presenti in una directory potrebbe richiedere diversi minuti. Questo perché in FAT la directory ha una struttura lineare, non ordinata, e i nomi dei file nelle directory sono nell'ordine in cui sono stati creati. Di conseguenza, maggiore è il numero di voci nella directory, più lento sarà il funzionamento dei programmi, poiché durante la ricerca di un file è necessario esaminare in sequenza tutte le voci nella directory. Poiché FAT è stato originariamente progettato per il sistema operativo DOS per utente singolo, non prevede la memorizzazione di informazioni come informazioni sul proprietario o permessi di accesso a file/directory. È il file system più comune ed è supportato in un modo o nell'altro dalla maggior parte dei moderni sistemi operativi. Grazie alla sua versatilità, FAT può essere utilizzato su volumi supportati da diversi sistemi operativi.

Sebbene non ci siano ostacoli all'utilizzo di qualsiasi altro file system durante la formattazione dei floppy, la maggior parte dei sistemi operativi utilizza FAT per compatibilità. Ciò può essere in parte spiegato dal fatto che la semplice struttura FAT richiede meno spazio per archiviare i dati generali rispetto ad altri sistemi. I vantaggi di altri file system diventano evidenti solo se utilizzati su supporti più grandi di 100 MB.

Va notato che FAT è un semplice file system che non impedisce il danneggiamento dei file a causa dell'arresto anomalo del computer. I sistemi operativi che supportano FAT includono utilità speciali che controllano la struttura e correggono le incoerenze nel file system.

2. Caratteristiche dei file system FAT16 e FAT32 e loro confronto

.1 Sistema FAT16

Il file system FAT 16 è quello principale per i sistemi operativi DOS, Windows 95⁄98⁄Me, Windows NT⁄2000⁄XP ed è supportato anche dalla maggior parte degli altri sistemi. FAT 16 è un semplice file system progettato per piccole unità e strutture di directory semplici. Il nome deriva dal nome del metodo di organizzazione dei file: File Allocation Table. Questa tabella si trova all'inizio del disco. Il numero 16 significa che il file system è a 16 bit: 16 bit vengono utilizzati per indirizzare i cluster. Il sistema operativo utilizza la tabella di allocazione file per cercare un file e determinare i cluster che il file occupa sul disco rigido. Inoltre, la tabella registra informazioni sui cluster liberi e difettosi. Per facilitare la comprensione del file system FAT16, immagina l'indice di un libro e come lavori con questo indice: è esattamente come funziona il sistema operativo con FAT 16;

Per leggere un file, il sistema operativo deve cercare il nome del file per una voce nella cartella e leggere il primo numero di cluster del file. Il primo cluster rappresenta l'inizio del file. Successivamente è necessario leggere l'elemento FAT corrispondente al primo cluster del file. Se l'elemento contiene un'etichetta, l'ultima della catena, non è necessario cercare altro: l'intero file rientra in un cluster. Se il cluster non è l'ultimo, l'elemento table contiene il numero del cluster successivo. Il contenuto del cluster successivo deve essere letto dopo il primo. Quando viene trovato l'ultimo cluster della catena, se il file non occupa l'intero cluster, è necessario tagliare i byte extra del cluster. I byte aggiuntivi vengono tagliati in base alla lunghezza del file memorizzato nella voce della cartella.

Per scrivere un file, il sistema operativo deve eseguire la seguente sequenza di azioni. Viene creata una descrizione del file in una voce libera della cartella, quindi viene cercata una voce FAT libera e un collegamento ad essa viene inserito nella voce della cartella. Il primo cluster descritto dall'elemento FAT trovato è occupato. Questo elemento FAT contiene il numero del cluster successivo o il segno dell'ultimo cluster della catena.

Il sistema operativo agisce in modo tale da raccogliere catene da cluster vicini in numero crescente. È chiaro che l'accesso ai cluster posizionati in sequenza sarà molto più veloce dell'accesso ai cluster sparsi casualmente sul disco. In questo caso i cluster già occupati e contrassegnati nella FAT come difettosi vengono ignorati.

Nel file system FAT16, per il numero del cluster vengono allocati 16 bit. Ecco perché importo massimo Il numero di cluster è 65525 e la dimensione massima del cluster è 128 settori. In questo caso, la dimensione massima delle partizioni o dei dischi in FAT16 è 4,2 gigabyte. Quando si formatta logicamente un disco o una partizione, il sistema operativo tenta di utilizzare la dimensione minima del cluster in modo che il numero risultante di cluster non superi 65525. Ovviamente, maggiore è la dimensione della partizione, maggiore dovrebbe essere la dimensione del cluster. Molti sistemi operativi non funzionano correttamente con una dimensione del cluster di 128 settori. Di conseguenza, la dimensione massima di una partizione FAT16 viene ridotta a 2 gigabyte. In genere, maggiore è la dimensione del cluster, maggiore è lo spreco di spazio su disco. Ciò è dovuto al fatto che l'ultimo cluster occupato dal file è riempito solo parzialmente. Ad esempio, se un file da 17 KB viene scritto su una partizione con una dimensione del cluster di 16 KB, questo file occuperà due cluster, con il primo cluster completamente pieno e solo 1 KB di dati scritti nel secondo cluster, lasciando i restanti 15 KB di spazio nel secondo cluster saranno vuoti e non saranno disponibili per la scrittura su altri file. Se attivo dischi di grandi dimensioni Se viene scritto un numero elevato di file di piccole dimensioni, la perdita di spazio su disco sarà significativa. La seguente tabella 2.1 fornisce informazioni sulla possibile perdita di spazio su disco per partizioni di dimensioni diverse.

Tavolo 2.1.1 - Spreco di spazio su disco

Dimensioni della partizione Dimensioni del cluster Perdita di spazio su disco127 MB2 KB2%128-255 MB4 KB4%256-511 MB8 KB10%512-1023 MB16 KB25%1024-2047 MB32 KB40%2048-4096 MB64 KB50%

Esistono due modi possibili per ridurre lo spreco di spazio su disco. Il primo consiste nel dividere lo spazio su disco in piccole partizioni con cluster di piccole dimensioni. Il secondo è utilizzare il file system FAT32<#"center">2.2 Sistema FAT32

Il file system FAT32 è un file system più recente basato sul formato FAT ed è supportato da Windows 95 OSR2, Windows 98 e Windows Millennium Edition. FAT32 utilizza ID cluster a 32 bit ma riserva i 4 bit più significativi, quindi la dimensione effettiva dell'ID cluster è di 28 bit. Poiché la dimensione massima dei cluster FAT32 è 32 KB, FAT32 può teoricamente gestire volumi da 8 terabyte. Windows 2000 limita la dimensione dei nuovi volumi FAT32 a 32 GB, sebbene supporti i volumi FAT32 esistenti più grandi (creati su altri sistemi operativi). Il maggior numero di cluster supportati da FAT32 consente di gestire i dischi in modo più efficiente rispetto a FAT 16. FAT32 può utilizzare cluster da 512 byte per volumi fino a 128 MB di dimensione.

Il file system FAT 32 viene utilizzato come file system predefinito in Windows 98. Questo sistema operativo viene fornito con un programma speciale per convertire un disco da FAT 16 a FAT 32. Windows NT e Windows 2000 possono anche utilizzare il file system FAT, quindi puoi avviare il computer da un disco DOS e avere pieno accesso a tutti i file . Tuttavia, alcuni dei più progressisti Funzionalità di Windows NT e Windows 2000 sono dotati di un proprio file system, NTFS (NT File System). NTFS consente di creare partizioni del disco fino a 2 TB (come FAT 32), ma in più dispone di funzioni integrate di compressione dei file, sicurezza e controllo necessarie quando si lavora in un ambiente di rete. E in Windows 2000 è implementato il supporto per il file system FAT 32. L'installazione del sistema operativo Windows NT inizia su un disco FAT, ma se l'utente lo desidera, al termine dell'installazione i dati sul disco possono essere convertiti. al formato NTFS.

Puoi farlo in seguito utilizzando l'utilità Converti. exe fornito con il sistema operativo. Una partizione del disco convertita in NTFS diventa inaccessibile ad altri sistemi operativi. Per tornare a DOS, Windows 3.1 o Windows 9x, è necessario eliminare la partizione NTFS e creare invece una partizione FAT. Windows 2000 può essere installato su un disco con i file system FAT 32 e NTFS.

Le capacità dei file system FAT32 sono molto più ampie di quelle di FAT16. La caratteristica più importante è che supporta dischi fino a 2047 GB e funziona con cluster più piccoli, riducendo così in modo significativo la quantità di spazio su disco inutilizzato. Ad esempio, un disco rigido da 2 GB in FAT16 utilizza cluster da 32 KB, mentre FAT32 utilizza cluster da 4 KB. Per mantenere la compatibilità con programmi, reti e driver di dispositivo esistenti, quando possibile, FAT32 viene implementato con modifiche minime all'architettura, alle API, alle strutture dati interne e al formato del disco. Ma poiché gli elementi della tabella FAT32 hanno ora una dimensione di quattro byte, molte strutture dati e API interne e su disco hanno dovuto essere riviste o estese. Alcune API sulle unità FAT32 sono bloccate per impedire che le utilità disco legacy danneggino il contenuto delle unità FAT32. La maggior parte dei programmi non sarà interessata da queste modifiche. Esistente utensili e i driver funzioneranno su dischi FAT32. Tuttavia, i driver dei dispositivi a blocchi MS-DOS (come Aspidisk.sys) e le utilità del disco devono essere modificati per supportare FAT32. Tutte le utilità del disco fornite da Microsoft (Format, Fdisk, Defrag e ScanDisk per la modalità reale e protetta) sono state riprogettate per supportare completamente FAT32. Inoltre, Microsoft assiste i principali fornitori di utilità disco e driver di dispositivo nella modifica dei propri prodotti per supportare FAT32. FAT32 è più efficiente di FAT16 quando si lavora con dischi più grandi e non richiede il loro partizionamento in partizioni da 2 GB. Windows 98 supporta necessariamente FAT16, poiché questo particolare file system è compatibile con altri sistemi operativi, compresi quelli di terze parti. In modalità reale di MS-DOS e in modalità sicura Windows 98, il file system FAT32 è notevolmente più lento di FAT16. Pertanto, quando si eseguono programmi in modalità MS DOS, è consigliabile includere Autoexec. bat o comando file PIF per scaricare Smartdrv. exe, che velocizzerà le operazioni del disco. Alcuni programmi obsoleti, progettato per la specifica FAT16, potrebbe riportare informazioni errate sulla quantità di spazio libero o totale su disco se è superiore a 2 GB. Windows 98 fornisce nuove API per MS-DOS e Win32 che consentono di determinare correttamente queste metriche.

.3 Confronto tra FAT16 e FAT32

Tabella 2.3.1 - Confronto tra file system FAT16 e FAT32

FAT16FAT32Implementato e utilizzato dalla maggior parte dei sistemi operativi (MS-DOS, Windows 98, Windows NT, OS/2, UNIX). Attualmente supportato solo su Windows 95 OSR2 e Windows 98. Molto efficace per unità logiche inferiori a 256 MB. Non funziona con dischi di dimensioni inferiori a 512 MB. Supporta la compressione del disco, ad esempio utilizzando l'algoritmo DriveSpace. Non supporta la compressione del disco. Elabora un massimo di 65.525 cluster, la cui dimensione dipende dalla dimensione del disco logico. Poiché la dimensione massima del cluster è 32 KB, FAT16 può funzionare con unità logiche non più grandi di 2 GB. In grado di funzionare con dischi logici fino a 2.047 GB con una dimensione massima del cluster di 32 KB.

La lunghezza massima possibile del file in FAT32 è 4 GB meno 2 byte. Le applicazioni Win32 possono aprire file di questa lunghezza senza un'elaborazione speciale. Altre applicazioni dovrebbero utilizzare l'interrupt Int 21h, funzione 716C (FAT32) con il flag di apertura impostato su EXTEND-SIZE (1000h).

Nel file system FAT32, vengono allocati 4 byte per ciascun cluster nella tabella di allocazione dei file, mentre in FAT16 - 2 e in FAT12 - 1.5.

I 4 bit più significativi di un elemento di tabella FAT32 a 32 bit sono riservati e non partecipano alla formazione del numero del cluster. I programmi che leggono direttamente la tabella FAT32 devono mascherare questi bit e proteggerli dalla modifica quando vengono scritti nuovi valori.

Pertanto, FAT32 presenta i seguenti vantaggi rispetto alle precedenti implementazioni del file system FAT:

supporta dischi fino a 2 TB;

organizza lo spazio su disco in modo più efficiente. FAT32 utilizza cluster più piccoli (4 KB per dischi fino a 8 GB), che consentono di risparmiare fino al 10-15% di spazio su dischi di grandi dimensioni rispetto a FAT;

la directory root FAT 32, come tutte le altre directory, ora è illimitata, è costituita da una catena di cluster e può trovarsi ovunque sul disco;

ha una maggiore affidabilità: FAT32 è in grado di spostare la directory root e funzionare con un backup FAT, inoltre, il record di avvio sulle unità FAT32 è stato ampliato per includere una copia di backup delle strutture dati critiche, il che significa che le unità FAT32 sono meno sensibili ai il verificarsi di singole aree difettose rispetto ai volumi FAT esistenti;

i programmi si caricano il 50% più velocemente.

Tabella 2.3.2 - Confronto dimensioni dei cluster

Dimensioni disco Dimensioni cluster in FAT16, KB Dimensioni cluster in FAT32, KB256 MB-511 MB8Non supportato512 MB - 1023 MB1641024 MB - 2 GB3242 GB - 8 GBNon supportato48 GB-16 GBNon supportato816 GB-32 GBNon supportato 16Più di 32 GBNon supportato32

3. File system alternativo NTFS e suo confronto con FAT32

3.1 Sistema NTFS

(New Technology File System) è il file system preferito quando si lavora con Windows NT, poiché è stato progettato specificamente per questo sistema. Windows NT include un'utilità di conversione che converte i volumi FAT e HPFS in volumi NTFS. NTFS ha notevolmente ampliato le capacità di controllo dell'accesso a singoli file e directory, ha introdotto un gran numero di attributi, ha implementato la tolleranza agli errori, la compressione dinamica dei file e il supporto per i requisiti standard POSIX. NTFS consente nomi di file lunghi fino a 255 caratteri e utilizza lo stesso algoritmo per generare un nome breve come VFAT. NTFS ha la capacità di autoripristinarsi in caso di guasto del sistema operativo o dell'hardware, in modo che il volume del disco rimanga disponibile e la struttura delle directory non venga interrotta.

Ogni file su un volume NTFS è rappresentato da una voce in un file speciale: la MFT (Master File Table). NTFS riserva le prime 16 voci della tabella, di circa 1 MB, per informazioni speciali. La prima voce della tabella descrive la tabella del file principale stessa. Questo è seguito dalla voce mirror della MFT. Se il primo record MFT è danneggiato, NTFS legge il secondo record per trovare un file MFT mirror il cui primo record è identico al primo record MFT. La posizione dei segmenti di dati MFT e del file MFT mirror è archiviata nel settore bootstrap. Una copia del settore di avvio si trova nel centro logico del disco. La terza voce MFT contiene un file di registro utilizzato per il ripristino dei file. La diciassettesima voce e quelle successive nella tabella dei file master vengono utilizzate dai file e dalle directory effettivi sul volume.

Il registro delle transazioni (file di registro) registra tutte le operazioni che influiscono sulla struttura del volume, inclusa la creazione di file e qualsiasi comando che modifichi la struttura della directory. Il registro delle transazioni viene utilizzato per ripristinare un volume NTFS dopo un errore di sistema. La voce per la directory root contiene un elenco di file e directory archiviati nella directory root.

Lo schema di allocazione del volume è archiviato in un file bitmap. L'attributo data di questo file contiene una bitmap, ogni bit della quale rappresenta un cluster del volume e indica se il cluster è libero o occupato da qualche file Supporta anche un file cluster danneggiato per la registrazione di aree danneggiate sul volume e un file di volume , contenente il nome del volume, la versione NTFS e un bit impostato quando il volume viene danneggiato. Infine, c'è un file contenente una tabella di definizione degli attributi, che specifica i tipi di attributi supportati sul volume e se possono essere indicizzati, ripristinati da un ripristino del sistema, ecc. alloca spazio nei cluster e utilizza per essi una numerazione a 64 bit, ciò rende possibile avere 264 cluster, ciascuno di dimensioni fino a 64 KB. Come con FAT, la dimensione del cluster può variare, ma non aumenta necessariamente in proporzione alla dimensione del disco. Le dimensioni predefinite dei cluster durante la formattazione di una partizione sono mostrate nella Tabella 3.1.

Dimensioni della partizione Dimensioni del cluster< 512 Мб512 байт513 Мб - 1024 Мб (1 Гб) 1 Кб1 Гб - 2 Гб2 Кб2 Гб - 4 Гб4 Кб4 Гб - 8 Гб8 Кб8 Гб - 16 Гб16 Кб16 Гб - 32 Гб32 Кб>32GB64KB consente di archiviare file di dimensioni fino a 16 exabyte (264 byte) e dispone di compattazione dei file in tempo reale incorporata. La compressione è uno degli attributi di un file o di una directory e, come qualsiasi attributo, può essere rimossa o installata in qualsiasi momento (la compressione è possibile su partizioni con una dimensione del cluster non superiore a 4 KB). Quando si comprime un file, a differenza degli schemi di compattazione utilizzati in FAT, viene utilizzata la compattazione file per file, quindi il danneggiamento di una piccola sezione del disco non porta alla perdita di informazioni in altri file.

Per ridurre la frammentazione, NTFS tenta sempre di archiviare i file in blocchi contigui. Questo sistema utilizza una struttura di directory ad albero B simile al file system HPFS ad alte prestazioni, anziché la struttura a elenco collegato utilizzata in FAT. Ciò rende più rapida la ricerca dei file in una directory perché i nomi dei file vengono archiviati in ordine lessicografico ed è stato progettato come file system recuperabile utilizzando un modello di elaborazione delle transazioni. Ogni operazione di I/O che modifica un file su un volume NTFS è considerata una transazione dal sistema e può essere eseguita come un blocco indivisibile. Quando un file viene modificato da un utente, il servizio file di registro registra tutte le informazioni necessarie per ripetere o ripristinare la transazione. Se la transazione viene completata con successo, il file viene modificato. In caso contrario, NTFS ripristina la transazione.

Nonostante la presenza di protezione contro l'accesso non autorizzato ai dati, NTFS non fornisce la necessaria riservatezza delle informazioni archiviate. Per accedere ai file, basta avviare il computer in DOS da un floppy disk e utilizzare alcuni driver NTFS di terze parti per questo sistema.

Iniziando con Versioni di Windows NT5.0 (nuovo Nome di Windows 2000) Microsoft supporta il nuovo file system NTFS 5.0. La nuova versione di NTFS ha introdotto attributi di file aggiuntivi; Insieme al diritto di accesso è stato introdotto il concetto di negazione dell'accesso che consente, ad esempio, quando un utente eredita diritti di gruppo su un file, di vietargli di modificarne il contenuto. Nuovo sistema consente inoltre:

introdurre restrizioni (quote) sulla quantità di spazio su disco fornito agli utenti;

proiettare qualsiasi directory (sia locale che computer remoto) in una sottodirectory sul disco locale.

Una caratteristica interessante della nuova versione di Windows NT è la crittografia dinamica di file e directory, che aumenta l'affidabilità dell'archiviazione delle informazioni. Windows NT 5.0 include un Encrypting File System (EFS), che utilizza algoritmi di crittografia a chiave condivisa. Se l'attributo di crittografia è impostato per un file, quando un programma utente accede al file per la scrittura o la lettura, il file viene codificato e decodificato in modo trasparente per il programma.

.2 Confronto tra NTFS e FAT32

Vantaggi:

Alta velocità di accesso a file di piccole dimensioni;

La dimensione dello spazio su disco oggi è praticamente illimitata;

La frammentazione dei file non influisce sul file system stesso;

Elevata affidabilità dell'archiviazione dei dati e della struttura stessa dei file;

Prestazioni elevate quando si lavora con file di grandi dimensioni;

Screpolatura:

Requisiti di RAM più elevati rispetto a FAT 32;

Lavorare con directory di medie dimensioni è difficile a causa della loro frammentazione;

Di più bassa velocità lavoro rispetto a FAT 3232

Vantaggi:

Ad alta velocità;

Basso requisito di RAM;

Lavoro efficiente con file medi e piccoli;

Minore usura del disco grazie al minor numero di movimenti della testina di lettura/scrittura.

Screpolatura:

Bassa protezione contro i guasti del sistema;

Non lavoro efficace con file di grandi dimensioni;

Limitazione sul volume massimo di una partizione e di un file;

Prestazioni ridotte a causa della frammentazione;

Prestazioni ridotte quando si lavora con directory contenenti un numero elevato di file;

Pertanto, entrambi i file system memorizzano i dati in cluster la cui dimensione minima è 512 b. Di norma, la dimensione abituale del cluster è di 4 Kb. Qui probabilmente finiscono le somiglianze. Qualcosa sulla frammentazione: le prestazioni NTFS diminuiscono drasticamente quando il disco è pieno all'80-90%. Ciò è dovuto alla frammentazione dei servizi e dei fascicoli di lavoro. Più lavori con un disco così occupato, più forte sarà la frammentazione e minori saranno le prestazioni. In FAT 32, la frammentazione dell'area di lavoro del disco avviene nelle fasi precedenti. Il punto qui dipende dalla frequenza con cui scrivi/cancelli i dati. Come con NTFS, la frammentazione riduce notevolmente le prestazioni. Ora sulla RAM. Il volume stesso foglio di calcolo FAT 32 può occupare diversi megabyte di RAM. Ma la memorizzazione nella cache viene in soccorso. Cosa viene scritto nella cache:

Directory più utilizzate;

Dati su tutti i file attualmente in uso;

Dati su spazio libero disco;

E che dire di NTFS? Le directory di grandi dimensioni sono difficili da memorizzare nella cache e possono raggiungere dimensioni di diverse decine di megabyte. Inoltre MFT, oltre a informazioni sullo spazio libero su disco. Anche se va notato che NTFS utilizza ancora le risorse RAM in modo abbastanza economico. Abbiamo un sistema di archiviazione dei dati di successo; in MFT, ogni record è di circa 1 Kb. Tuttavia, i requisiti per la quantità di RAM sono più elevati rispetto a FAT 32. In breve, se la tua memoria è inferiore o uguale a 64 Mb, FAT 32 sarà più efficiente in termini di velocità la differenza di velocità sarà piccola e spesso nulla. Ora riguardo al disco rigido stesso. Per utilizzare NTFS è necessario il Bus Mastering. Cos'è questo? Questa è una modalità di funzionamento speciale del driver e del controller. Quando si utilizza BM, lo scambio avviene senza la partecipazione del processore. L'assenza di una VM influirà sulle prestazioni del sistema. Inoltre, a causa dell'utilizzo di un file system più complesso, aumenta il numero di movimenti delle testine di lettura/scrittura, il che influisce anche sulla velocità. La presenza di una cache del disco ha un effetto altrettanto positivo sia su NTFS che su FAT 32.

Conclusione

I vantaggi del FAT sono il basso sovraccarico di archiviazione dei dati e la totale compatibilità con un numero enorme di sistemi operativi e piattaforme hardware. Questo file system viene ancora utilizzato per la formattazione dei floppy disk, dove il grande volume della partizione supportato da altri file system non ha alcun ruolo e il basso sovraccarico consente l'uso economico di un piccolo volume del dischetto (NTFS richiede più spazio per l'archiviazione dei dati, che è del tutto inaccettabile per i floppy disk).

L'ambito di FAT32 è in realtà molto più ristretto: questo file system dovrebbe essere utilizzato se si accede a partizioni con utilizzando Windows 9x e utilizzando Windows 2000/XP. Ma poiché oggi l'importanza di Windows 9x è praticamente scomparsa, l'utilizzo di questo file system non è di particolare interesse.

Bibliografia

1. http://yura. Puslapiai. lt/archiv/per/fat.html

File system FAT

GRASSO16

Il file system FAT16 risale ai tempi precedenti a MS-DOS ed è supportato da tutti i sistemi operativi Microsoft per compatibilità. Il suo nome File Allocation Table riflette perfettamente l'organizzazione fisica del file system, le cui caratteristiche principali includono il fatto che la dimensione massima di un volume supportato (disco rigido o partizione di un disco rigido) non supera i 4095 MB. Ai tempi di MS-DOS, i dischi rigidi da 4 GB sembravano un sogno irrealizzabile (le unità da 20-40 MB erano un lusso), quindi una tale riserva era abbastanza giustificata.

Un volume formattato per utilizzare FAT16 è diviso in cluster. La dimensione predefinita del cluster dipende dalla dimensione del volume e può variare da 512 byte a 64 KB. Nella tabella La Figura 2 mostra come la dimensione del cluster varia in base alla dimensione del volume. Tieni presente che la dimensione del cluster può differire dal valore predefinito, ma deve avere uno dei valori specificati nella tabella. 2.

Non è consigliabile utilizzare il file system FAT16 su volumi superiori a 511 MB, poiché per file relativamente piccoli lo spazio su disco verrà utilizzato in modo estremamente inefficiente (un file da 1 byte occuperà 64 KB). Indipendentemente dalla dimensione del cluster, il file system FAT16 non è supportato per volumi superiori a 4 GB.

FAT32

A partire da Microsoft Windows 95 OEM Service Release 2 (OSR2), Windows ha introdotto il supporto per FAT a 32 bit. Per i sistemi basati su Windows NT, questo file system è stato supportato per la prima volta in Microsoft Windows 2000. Mentre FAT16 può supportare volumi fino a 4 GB, FAT32 può supportare volumi fino a 2 TB. La dimensione del cluster in FAT32 può variare da 1 (512 byte) a 64 settori (32 KB). I valori del cluster FAT32 richiedono 4 byte (32 bit, non 16 bit come in FAT16) per memorizzare i valori del cluster. Ciò significa, in particolare, che alcuni utilità di file, progettato per FAT16, non può funzionare con FAT32.

La differenza principale tra FAT32 e FAT16 è che la dimensione della partizione logica del disco è cambiata. FAT32 supporta volumi fino a 127 GB. Inoltre, se quando si utilizza FAT16 con dischi da 2 GB era richiesto un cluster di 32 KB, in FAT32 un cluster di 4 KB è adatto per dischi con una capacità da 512 MB a 8 GB (Tabella 4).

Questo significa di più uso efficiente spazio su disco: più piccolo è il cluster, minore è lo spazio necessario per archiviare il file e, di conseguenza, è meno probabile che il disco venga frammentato.

Quando si utilizza FAT32, la dimensione massima del file può raggiungere 4 GB meno 2 byte. Se utilizzando FAT16 il numero massimo di voci nella directory principale era limitato a 512, FAT32 consente di aumentare questo numero a 65.535.

FAT32 impone restrizioni sulla dimensione minima del volume: deve contenere almeno 65.527 cluster. In questo caso, la dimensione del cluster non può essere tale che FAT occupi più di 16 MB–64 KB/4 o 4 milioni di cluster.

Utilizzando nomi di file lunghi, i dati necessari per accedere da FAT16 e FAT32 non si sovrappongono. Quando si crea un file con estensione long denominato Windows crea un nome corrispondente in formato 8.3 e una o più voci nella directory per memorizzare il nome lungo (13 caratteri dal nome file lungo per voce). Ogni occorrenza successiva memorizza la parte corrispondente del nome file in formato Unicode. Tali occorrenze hanno gli attributi "identificatore di volume", "sola lettura", "sistema" e "nascosto" - un insieme che viene ignorato da MS-DOS; in questo sistema operativo si accede ad un file tramite il suo "alias" in formato 8.3.

File system NTFS

Microsoft Windows 2000 include il supporto per una nuova versione del file system NTFS, che, in particolare, fornisce lavoro con i servizi di directory di Active Directory, punti di analisi, strumenti di sicurezza delle informazioni, controllo degli accessi e una serie di altre funzionalità.

Come nel FAT, l'unità principale delle informazioni in NTFS è il cluster. Nella tabella La Figura 5 mostra le dimensioni predefinite dei cluster per volumi di varie capacità.

Quando si forma il file system NTFS, il programma di formattazione crea Master File File Table (MTF) e altre aree per l'archiviazione dei metadati. I metadati vengono utilizzati da NTFS per implementare la struttura dei file. Le prime 16 voci in MFT sono riservate dallo stesso NTFS. La posizione dei file di metadati $Mft e $MftMirr viene registrata nel settore di avvio del disco. Se la prima voce nella MFT è danneggiata, NTFS legge la seconda voce per trovare una copia della prima. Una copia completa del settore di avvio si trova alla fine del volume. Nella tabella La Figura 6 elenca i principali metadati archiviati in MFT.

Le restanti voci MFT contengono voci per ciascun file e directory posizionati sul volume.

In genere un file utilizza una voce MFT, ma se un file ha un ampio insieme di attributi o diventa troppo frammentato, potrebbero essere necessarie voci aggiuntive per memorizzare informazioni su di esso. In questo caso, il primo record di un file, chiamato record di base, memorizza la posizione degli altri record. I dati su file e directory di piccole dimensioni (fino a 1500 byte) sono completamente contenuti nel primo record.

Attributi di file in NTFS

Ogni settore occupato su un volume NTFS appartiene a uno o un altro file. Anche i metadati del file system fanno parte del file. NTFS tratta ogni file (o directory) come un insieme di attributi di file. Elementi come il nome del file, le informazioni di sicurezza e persino i dati al suo interno sono attributi del file. Ogni attributo è identificato da un codice di tipo specifico e, facoltativamente, da un nome di attributo.

Se gli attributi di file rientrano in un record di file, vengono chiamati attributi residenti. Questi attributi sono sempre il nome del file e la data di creazione. Nei casi in cui le informazioni sul file sono troppo grandi per essere contenute in un singolo record MFT, alcuni attributi del file diventano non residenti. Gli attributi residenti sono archiviati in uno o più cluster e rappresentano un flusso di dati alternativi per il volume corrente (ne parleremo più avanti). NTFS crea un attributo Elenco attributi per descrivere la posizione degli attributi residenti e non residenti.

Nella tabella La Figura 7 mostra i principali attributi di file definiti in NTFS. Questo elenco potrebbe essere ampliato in futuro.

File system CDFS

Windows 2000 fornisce il supporto per il file system CDFS, che è conforme allo standard ISO'9660 che descrive il layout delle informazioni su un CD-ROM. I nomi di file lunghi sono supportati secondo ISO'9660 Livello 2.

A creazione di un CD-ROM per l'uso sotto Controllo di Windows 2000 occorre tenere presente quanto segue:

  • tutti i nomi di directory e file devono contenere meno di 32 caratteri;
  • tutti i nomi di directory e file devono essere costituiti solo da caratteri maiuscoli;
  • la profondità della directory non deve superare gli 8 livelli dalla radice;
  • L'uso delle estensioni dei nomi di file è facoltativo.

Confronto di file system

Con Microsoft Windows 2000 è possibile utilizzare i file system FAT16, FAT32, NTFS o una loro combinazione. La scelta del sistema operativo dipende dai seguenti criteri:

  • come viene utilizzato il computer;
  • piattaforma hardware;
  • dimensione e numero di dischi rigidi;
  • informazioni di sicurezza

File system FAT

Come avrai già notato, i numeri nei nomi dei file system - FAT16 e FAT32 - indicano il numero di bit richiesti per memorizzare le informazioni sui numeri di cluster utilizzati dal file. Pertanto, FAT16 utilizza l'indirizzamento a 16 bit e, di conseguenza, è possibile utilizzare fino a 2 16 indirizzi. In Windows 2000, i primi quattro bit della tabella delle posizioni dei file FAT32 vengono utilizzati per i propri scopi, quindi in FAT32 il numero di indirizzi raggiunge 2 28 .

Nella tabella La Figura 8 mostra le dimensioni dei cluster per i file system FAT16 e FAT32.

Oltre alle differenze significative nella dimensione del cluster, FAT32 consente anche l'espansione della directory principale (in FAT16 il numero di voci è limitato a 512 e può essere anche inferiore se vengono utilizzati nomi di file lunghi).

Vantaggi di FAT16

Tra i vantaggi di FAT16 ci sono i seguenti:

  • il file system è supportato dai sistemi operativi MS-DOS, Windows 95, Windows 98, Windows NT, Windows 2000 nonché da alcuni sistemi operativi UNIX;
  • esiste un gran numero di programmi che consentono di correggere errori in questo file system e ripristinare i dati;
  • se sorgono problemi con l'avvio dal disco rigido, il sistema può essere avviato da un floppy disk;
  • Questo file system è abbastanza efficiente per volumi inferiori a 256 MB.
Svantaggi di FAT16

I principali svantaggi di FAT16 includono:

  • la directory root non può contenere più di 512 elementi. L'utilizzo di nomi di file lunghi riduce significativamente il numero di questi elementi;
  • FAT16 supporta un massimo di 65.536 cluster e poiché alcuni cluster sono riservati dal sistema operativo, il numero di cluster disponibili è 65.524 Ciascun cluster ha una dimensione fissa per una determinata unità logica. Quando viene raggiunto il numero massimo di cluster alla dimensione massima dei cluster (32 KB), il volume massimo supportato è limitato a 4 GB (in Windows 2000). Per mantenere la compatibilità con MS-DOS, Windows 95 e Windows 98, la dimensione del volume in FAT16 non deve superare i 2 GB;
  • FAT16 non supporta la protezione e la compressione dei file integrate;
  • Sui dischi di grandi dimensioni, molto spazio viene perso a causa del fatto che viene utilizzata la dimensione massima del cluster. Lo spazio per un file viene allocato in base non alla dimensione del file, ma alla dimensione del cluster.
Vantaggi di FAT32

Tra i vantaggi di FAT32 ci sono i seguenti:

  • l'allocazione dello spazio su disco è più efficiente, soprattutto per i dischi di grandi dimensioni;
  • La directory root in FAT32 è una catena regolare di cluster e può trovarsi ovunque sul disco. Grazie a ciò, FAT32 non impone alcuna restrizione sul numero di elementi nella directory root;
  • a causa dell'utilizzo di cluster più piccoli (4 KB su dischi fino a 8 GB), lo spazio su disco occupato è solitamente inferiore del 10-15% rispetto a FAT16;
  • FAT32 è un file system più affidabile. In particolare, supporta la possibilità di spostare la directory root e utilizzare un backup FAT. Inoltre, il record di avvio contiene una serie di dati critici per il file system.
Svantaggi di FAT32

I principali svantaggi di FAT32:

  • La dimensione del volume quando si utilizza FAT32 in Windows 2000 è limitata a 32 GB;
  • I volumi FAT32 non sono disponibili da altri sistemi operativi - solo da Windows 95 OSR2 e Windows 98;
  • Il backup del settore di avvio non è supportato;
  • FAT32 non supporta la protezione e la compressione dei file integrate.

File system NTFS

Quando si esegue Windows 2000, Microsoft consiglia di formattare tutte le partizioni del disco rigido su NTFS, ad eccezione delle configurazioni in cui vengono utilizzati più sistemi operativi (eccetto Windows 2000 e Windows NT). L'utilizzo di NTFS anziché FAT consente di utilizzare le funzionalità disponibili in NTFS. Questi includono, in particolare:

  • possibilità di recupero. Questa funzionalità è incorporata nel file system. NTFS garantisce la sicurezza dei dati poiché utilizza un protocollo e alcuni algoritmi di recupero delle informazioni. In caso di guasto del sistema, NTFS utilizza il protocollo e informazioni aggiuntive per ripristinare automaticamente l'integrità del file system;
  • compressione delle informazioni. Per i volumi NTFS, Windows 2000 supporta la compressione dei singoli file. Tali file compressi possono essere utilizzati dalle applicazioni Windows senza previa decompressione, che avviene automaticamente durante la lettura del file. Una volta chiuso e salvato, il file viene nuovamente compresso;
  • Inoltre, si possono evidenziare i seguenti vantaggi di NTFS:

Alcune funzionalità del sistema operativo richiedono NTFS;

La velocità di accesso è molto più elevata: NTFS riduce al minimo il numero di accessi al disco necessari per trovare un file;

Proteggi file e directory. Solo sui volumi NTFS è possibile impostare attributi di accesso per file e cartelle;

Quando si utilizza NTFS, Windows 2000 supporta volumi fino a 2 TB;

Il file system mantiene una copia di backup del settore di avvio: si trova alla fine del volume;

NTFS supporta Encrypted File System (EFS), che fornisce protezione contro l'accesso non autorizzato al contenuto dei file;

Quando utilizzi le quote, puoi limitare la quantità di spazio su disco utilizzato dagli utenti.

Svantaggi di NTFS

Parlando degli svantaggi del file system NTFS, va notato che:

  • I volumi NTFS non sono disponibili in MS-DOS, Windows 95 e Windows 98. Inoltre, numerose funzionalità implementate in NTFS in Windows 2000 non sono disponibili in Windows 4.0 e versioni precedenti;
  • Per piccoli volumi contenenti molti file di piccole dimensioni, le prestazioni potrebbero essere ridotte rispetto a FAT.

File system e velocità

Come abbiamo già scoperto, per piccoli volumi FAT16 o FAT32 fornisce un accesso più rapido ai file rispetto a NTFS, perché:

  • Il FAT ha una struttura più semplice;
  • la dimensione della directory è inferiore;
  • FAT non supporta la protezione dei file da accessi non autorizzati: il sistema non ha bisogno di verificare le autorizzazioni dei file.

NTFS riduce al minimo il numero di accessi al disco e il tempo necessario per trovare un file. Inoltre, se la dimensione della directory è sufficientemente piccola da contenere una singola voce MFT, l'intera voce viene letta in una sola volta.

Una voce nella FAT contiene il numero di cluster per il primo cluster nella directory. Vedere File FAT richiede la ricerca nell'intera struttura del file.

Quando si confronta la velocità delle operazioni eseguite su directory contenenti nomi di file brevi e lunghi, tenere presente che la velocità delle operazioni per FAT dipende dall'operazione stessa e dalla dimensione della directory. Se FAT cerca un file inesistente, esegue la ricerca nell'intera directory, un'operazione che richiede più tempo rispetto alla ricerca nella struttura ad albero B utilizzata da NTFS. Il tempo medio necessario per trovare un file è espresso in funzione di N/2 in FAT e come log N in NTFS, dove N è il numero di file.

I seguenti fattori influiscono sulla velocità con cui Windows 2000 può leggere e scrivere file:

  • frammentazione dei file. Se il file è molto frammentato, NTFS richiede in genere meno accessi al disco rispetto a FAT per trovare tutti i frammenti;
  • dimensione del grappolo. Per entrambi i file system, la dimensione predefinita del cluster dipende dalla dimensione del volume ed è sempre espressa come potenza di 2. Gli indirizzi in FAT16 sono a 16 bit, in FAT32 - 32 bit, in NTFS - 64 bit;
  • La dimensione predefinita del cluster in FAT si basa sul fatto che la tabella delle posizioni dei file può contenere un massimo di 65.535 voci: la dimensione del cluster è una funzione della dimensione del volume divisa per 65.535. Pertanto, la dimensione predefinita del cluster per un volume FAT è sempre maggiore della dimensione del cluster per un volume NTFS della stessa dimensione. Tieni presente che la dimensione del cluster maggiore per i volumi FAT significa che i volumi FAT possono essere meno frammentati;
  • posizione di file di piccole dimensioni. Quando si utilizza NTFS, i file di piccole dimensioni sono contenuti in un record MFT. La dimensione del file che rientra in un singolo record MFT dipende dal numero di attributi in quel file.

Dimensione massima dei volumi NTFS

In teoria, NTFS supporta volumi con un massimo di 2 32 cluster. Tuttavia, oltre alla mancanza di dischi rigidi di queste dimensioni, ci sono altre restrizioni sulla dimensione massima del volume.

Uno di questi vincoli è la tabella delle partizioni. Gli standard di settore limitano la dimensione di una tabella delle partizioni da 2 a 32 settori. Un'altra limitazione è la dimensione del settore, che in genere è 512 byte. Poiché la dimensione del settore potrebbe cambiare in futuro, la dimensione attuale fornisce un limite di volume singolo di 2 TB (2 32 x 512 byte = 2 41). Pertanto, 2 TB è il limite pratico per i volumi fisici e logici NTFS.

Nella tabella La Figura 11 mostra le principali limitazioni di NTFS.

Controllo dell'accesso a file e directory

Quando si utilizzano volumi NTFS, è possibile impostare i diritti di accesso a file e directory. Queste autorizzazioni indicano quali utenti e gruppi possono accedervi e quale livello di accesso è consentito. Tali diritti di accesso si applicano sia agli utenti che lavorano sul computer su cui si trovano i file, sia agli utenti che accedono ai file in rete quando il file si trova in una directory aperta all'accesso remoto.

In NTFS è anche possibile impostare autorizzazioni di accesso remoto, combinate con autorizzazioni per file e directory. Inoltre, anche gli attributi del file (sola lettura, nascosto, sistema) limitano l'accesso al file.

In FAT16 e FAT32 è anche possibile impostare gli attributi dei file, ma non forniscono diritti di accesso ai file.

La versione di NTFS utilizzata in Windows 2000 ha introdotto un nuovo tipo di autorizzazione di accesso: autorizzazioni ereditate. La scheda Sicurezza contiene l'opzione Consenti alle autorizzazioni ereditabili dal genitore di propagarsi a questo oggetto file, che è attivo per impostazione predefinita. Questa opzione riduce significativamente il tempo necessario per modificare i diritti di accesso a file e sottodirectory. Ad esempio, per modificare i diritti di accesso a un albero contenente centinaia di sottodirectory e file, è sufficiente abilitare questa opzione: in Windows NT 4 è necessario modificare gli attributi di ogni singolo file e sottodirectory.

Nella fig. La Figura 5 mostra il pannello di dialogo Proprietà e la scheda Sicurezza (sezione Avanzate): sono elencati i diritti di accesso estesi al file.

Ricordiamo che per i volumi FAT è possibile controllare l'accesso solo a livello di volume e tale controllo è possibile solo con accesso remoto.

Compressione di file e directory

Windows 2000 supporta la compressione di file e directory situati su volumi NTFS. I file compressi possono essere letti e scritti da qualsiasi applicazione Windows. Per fare ciò, non è necessario pre-disimballarli. L'algoritmo di compressione utilizzato è simile a quello utilizzato in DoubleSpace (MS-DOS 6.0) e DriveSpace (MS-DOS 6.22), ma presenta una differenza significativa: in MS-DOS viene compressa l'intera partizione primaria o dispositivo logico, mentre in NTFS può impacchettare singoli file e directory.

L'algoritmo di compressione NTFS è progettato per supportare cluster di dimensioni fino a 4 KB. Se la dimensione del cluster è maggiore di 4 KB, le funzionalità di compressione NTFS non saranno più disponibili.

NTFS con autoriparazione

Il file system NTFS ha la capacità di autoripararsi e può mantenere la propria integrità attraverso l'uso di un registro delle azioni eseguite e di una serie di altri meccanismi.

NTFS considera ogni operazione che modifica i file di sistema sui volumi NTFS come una transazione e archivia le informazioni su tale transazione in un registro. Una transazione avviata può essere completamente completata (commit) o ​​annullata (rollback). In quest'ultimo caso, il volume NTFS ritorna allo stato precedente all'inizio della transazione. Per gestire le transazioni, NTFS scrive tutte le operazioni incluse in una transazione in un file di registro prima di scriverle su disco. Una volta completata la transazione, tutte le operazioni sono completate. Pertanto, non possono esserci operazioni in sospeso sotto il controllo NTFS. In caso di guasto del disco, le operazioni in sospeso vengono semplicemente interrotte.

NTFS esegue inoltre operazioni che gli consentono di identificare al volo i cluster difettosi e di allocare nuovi cluster per le operazioni sui file. Questo meccanismo è chiamato rimappatura del cluster.

IN questa recensione Abbiamo esaminato i vari file system supportati da Microsoft Windows 2000, discusso la struttura di ciascuno di essi e notato i relativi vantaggi e svantaggi. Il più promettente è il file system NTFS, che dispone di un ampio set di funzioni che non sono disponibili in altri file system. La nuova versione di NTFS, supportata da Microsoft Windows 2000, dispone di funzionalità ancora maggiori ed è quindi consigliata per l'installazione del sistema operativo Win 2000.

ComputerPress 7"2000

Sistema di file questo è solo un modo di organizzare i dati su un supporto, non c'è nulla di complicato in questa organizzazione.

Forse pensi: "che il file system è una cosa complessa e incomprensibile, perché i sistemi operativi funzionano con esso e semplicemente non può esserci tutto..."

In parte hai ragione, ma tutta l'uva passa è nel driver del file system, ad es. in un programma che fornisce un'API per altri programmi applicativi. Fa semplicemente quanto segue:

  • creare file
  • eliminare un file
  • rinominare
  • copia
  • mostra il contenuto della directory
  • spostarsi in un'altra directory, ecc.

Il principio stesso dell'organizzazione del file system è semplice.

In questo post non esaminerò come funziona il driver e come crea/elimina file, te lo dirò sul principio di organizzazione dei file Sistemi FAT16.

(c'è una sezione separata su come scrivere un driver)

Perché FAT16?

Lo trovo il più comodo per imparare, è facile da comprendere. E conoscendo l'idea, non è più difficile studiare altri file system: FAT32, NTFS, ecc.

Perché ho bisogno di sapere come funziona il file system?

Conoscendo il principio dell'organizzazione del file system, puoi sviluppare il tuo driver o gestore di file su qualsiasi dispositivo informatico.

Descrizione del file system FAT16

Per facilitare la navigazione nel post, fornirò un elenco di domande a cui troverai le risposte:

Sistema di file FAT16 divide l'intero spazio degli indirizzi dei media in due aree:

  • zona del sistema
  • area dati

Per chiarezza, rappresentiamo l'intero spazio degli indirizzi come un rettangolo. La piccola parte superiore del rettangolo (spazio degli indirizzi) è l'area del sistema, la parte massiccia inferiore è l'area dei dati.

Tutti i dati che memorizziamo sui nostri supporti di memorizzazione, ad es. tutti i file e le directory vengono memorizzati nell'area dati. L'area di sistema memorizza i parametri di questo supporto e le caratteristiche di file e directory: nome del file, nome della directory, attributi del file, ecc.

Cominciamo con qualcosa di semplice, qualche parola sull'area dati e su come i dati vengono archiviati lì

Informazioni sull'area dati...

Per non indirizzare ogni byte (anche se alcuni supporti di memorizzazione consentono di lavorare byte per byte), nel file system viene utilizzata un'altra unità minima indirizzabile: settore. Misurare settori 512 byte. Oltre al settore, il file system FAT16 utilizza anche un concetto come grappolo. Il cluster è uno o più settori consecutivi.

Questo parametro (il numero di settori su un cluster) viene spesso manipolato durante la formattazione del supporto di archiviazione. Perché la velocità del lavoro e il “grado di confezionamento dei dati” dipendono da questo. FAT16, come tutti i file system, utilizza il concetto di file. Un file è un'area dati che ha un nome e alcuni attributi. Fisicamente, nell'area dati, ci sono uno o più cluster occupati, con il file che occupa un numero intero di cluster. Anche se occupa poco più di due cluster, per il file system occupato dal file verranno considerati tre cluster. Pertanto, quanto più piccola è la dimensione del cluster, tanto maggiore è il “grado di compressione dei dati” e tanto più economico viene utilizzata l’area dati. D'altra parte, leggere un file da grandi porzioni di memoria, ad es. i cluster sono più veloci di quelli piccoli. Pertanto, la scelta della dimensione del cluster è una questione di compromesso.

Sistema di file FAT16 impone restrizioni sulla dimensione del cluster, non più di 128 settori(cioè non più di 64 kb) e così via numero di grappoli non superiore a 65525 pezzi. Se usi tutto al massimo, ad es. dimensione massima del settore e numero massimo di cluster, risulta che FAT16 non può indirizzare più di 4,2 gigabyte di informazioni.

Se eseguiamo la formattazione in modalità automatica (quando non specifichiamo la dimensione del cluster), la dimensione del cluster viene selezionata come minima, in cui il numero risultante di cluster non supera 65525.

Informazioni sull'area del sistema...

L'area di sistema viene creata quando il supporto viene formattato e è descrittivo. È composto dalle seguenti parti:

Diamo un'occhiata a ciascuna parte in modo più dettagliato.

1. Settore di avvio

Il settore di avvio è tabella dei parametri e programma bootloader. La dimensione del settore di avvio è solitamente 512 byte, ma potrebbe essere di più.

Diamo un'occhiata alla struttura del settore di avvio.

Non allarmarti per il gran numero di campi nel settore di avvio, è ridondante. Ad esempio, memorizza informazioni che non sono rilevanti per le unità flash: il numero di settori su una traccia, il numero di testine. Quindi non tutti i parametri ci saranno utili.

Se guardi Codice esadecimale, Alcuni supporti di memorizzazione formattati in formato FAT16, poi vedremo i valori dei campi. Ad esempio, fornirò il codice HEX di un'immagine in formato FAT16 creata in WinImage. Per facilitare la navigazione nel codice, ho codificato a colori quale frammento di codice HEX appartiene a quale parametro.

PS Viene considerato il valore di ciascuna cella da destra a sinistra, ad esempio, se è scritto 00 02 h, allora questo è in realtà 02 00 h, cioè 512

PS Il settore di avvio termina sempre a 55AAh.

È importante prestare attenzione al parametro “ Settori riservati» - numero di settori riservati, per offset 0Eh. All'inizio ho detto che il settore di avvio ha solitamente una dimensione di 512 byte, ma può essere più grande. La sua dimensione è determinata dal parametro “ Settori riservati", nel nostro caso Settori riservati = 01h, il che significa che il settore di avvio occupa 1° settore O 512 byte.

2. GRASSO

Dopo un settore di avvio con size 512* Byte di settori riservati, il tavolo sta arrivando FAT1, la sua dimensione è determinata campo a doppio byte - SectorPerFat (16h) settore di avvio. Nell'esempio sopra, il valore di questo campo è 0001h O 1 , cioè. un settore o 512 byte.

Cos'è il GRASSO?

Prima di tutto, questa è un'abbreviazione: Tabella di allocazione file, che significa "tabella di posizione dei file". Questo tavolo Con una colonna E 512/2 numero di righe(se la dimensione della tabella FAT è 512 byte o SectorPerFat è 0001h, come nel nostro caso). Ogni linea Tabelle FAT occupa 2 byte di memoria, quindi il numero di righe per il nostro caso è 512/2 .

Tavolo funge da mappa per i cluster, ognuna di lei linea caratterizza qualsiasi cluster, la prima riga è il primo cluster, la seconda è il secondo e così via per tutti i cluster presenti nell'area dati. La tabella è preceduta da un handle di tabella F8FFh(stesso valore del settore di avvio 15h) e segnaposto FFFFh. Successivamente ci sono le righe della tabella, i cui valori possono essere i seguenti:

  • 0000h- cluster gratuito;
  • 0002h-FFEFh- numero dell'elemento successivo nella catena;
  • FFF0h-FFF6h- riservato;
  • FFF7h- difettoso;
  • FFF8h-FFFFh- ultimo della catena;

Lasciate che vi faccia un esempio Codice HEX con spiegazione.

Blu Ho segnato con una cornice tabella FAT1, tabella FAT2 rossa(copia della tabella FAT1). Ombreggiato quadrato verde Questo maniglia da tavolo F8FFh e segnaposto FFFFh. I quadrati vuoti sono righe della tabella. Non ho contrassegnato tutte le linee con una cornice verde, ho cerchiato solo quelle diverse da zero.

Spiegherò come viene utilizzato il FAT e perché è necessario un po' più tardi.

3. Directory principale

Dopo arrivano le tabelle FAT " root directory" Questa è l'area di memoria che contiene Elementi da 32 byte. Ogni l'elemento descrive, qualsiasi file o directory situata nella directory root o in un'altra lingua "alla radice" del disco rigido/unità flash. Si scopre che la directory root descrive tutto ciò che si trova nella root.

La dimensione della directory root dipende dal parametro Voci radice (11 ore) settore di avvio. Afferma numero massimo di elementi da 32 byte nella directory principale. Si scopre che la dimensione della directory è Voci radice * 32, nel nostro caso lo è 512 * 32 = 16384 byte.

Ogni elemento ha la seguente struttura:

Darò un esempio di codice HEX con una spiegazione.

Verde Ho segnato con una cornice area di memoria responsabile della directory root, elementi blu da 32 byte della directory principale. Ho dipinto di blu gli elementi non vuoti da 32 byte.

Qui ci sono due elementi non vuoti da 32 byte, il che significa nella directory root memorizzare due “qualcosa”, può essere sia i file che le altre directory. In questo caso, per semplicità dell’esempio, nella root vengono memorizzati due file” 1.txt" E " prova.txt».

Diamo un'occhiata più da vicino a questi due elementi da 32 byte, per comodità ho contrassegnato con i colori un frammento del codice HEX e il corrispondente parametro dell'elemento da 32 byte nella tabella.

PS. Se il primo byte del nome del file viene sostituito con "E5", Quello Windows Explorer lo conterà come a distanza. Tale file può essere ripristinato sostituendo il primo carattere E5 nel nome con il suo valore precedente. Non ne sono del tutto sicuro, ma penso che sia così che funziona il Cestino in Windows. Quando lo posiziona nel cestino, il sistema operativo salva il nome del file da qualche parte e sostituisce il primo byte del nome con E5 e, quando lo ripristina, assegna al file il nome precedente.

PS. I nomi dei file nel sistema FAT16 vengono memorizzati nel formato 8.3 . Quelli. 8 -byte sono allocati per il nome e 3 byte sono allocati per l'estensione. I nomi sono codificati nel formato ASCII, un carattere è un byte. Pertanto un nome non può essere più lungo di 8 caratteri ed estensioni più di 3. Se il nome inferiore a 8 caratteri, Quello i byte mancanti vengono riempiti in 20h(carattere spazio nel codice ASCII).

PS. Ti ricordo che il valore per ogni cella viene calcolato da destra a sinistra, ad esempio se è scritto 00 02 h, allora questo è in realtà 02 00 h, cioè 512 nel sistema decimale.

Il parametro più importante per noi si trova a 1Ah — « parola bassa del primo cluster di file" Memorizza il numero del cluster in cui si trova il contenuto del file, il che significa che possiamo lavorare con le informazioni questa vita, cioè. leggerlo, modificarlo, ecc.

Per esempio " 1.txt» archiviato in un cluster numero 0x0003 O 3 nel sistema decimale. E questo significa che se noi andiamo avanti A gruppo n. 3 nell'area dati (lascia che ti ricordi, l'area dati è semplicemente cluster consecutivi) noi veniamo al contenuto di questo file.

Potresti avere una domanda “pratica”, ma come trovare questo terzo cluster? Di a che indirizzo si trova?

Come trovare l'indirizzo di un cluster conoscendone il numero?

Per fare questo, devi sapere quanto spazio occupa l'area del tuo sistema? E che dimensioni hanno i cluster?(ovvero quanti settori (o 512 byte) contiene il cluster).

La figura seguente ti aiuterà a scoprire la dimensione dell'area del sistema:

Esempio per il mio caso

Il settore di avvio ha un volume 512*Settori riservati byte, nel mio caso 512 byte. Successivamente, mi porta la tabella FAT un settore, quelli. 512 byte(poiché SectroPerFat è uguale a 1). Due tavoli(poiché NumberOfFATs è 2), il che significa due tabelle in totale 512*2=1024 byte. La dimensione della directory root è di 512 elementi da 32 caratteri, ovvero 512*32=16384 byte. Contiamo:

512 (settore di avvio) + 1024 (due tabelle FAT) + 16384 (directory root) = 17920 byte O 4600 nel sistema numerico esadecimale.

Di conseguenza, nel nostro caso l'area dati inizia con 0x4600, Vedremo:

Vediamo il contenuto di alcuni file, ma non il nostro. Vengono memorizzati i dati del file che ci interessa (1.txt). nel gruppo n. 3.

Ora dobbiamo scoprire la dimensione del cluster, il parametro del settore di avvio ci aiuterà in questo - SettorePerCluster(0xD, dimensione del parametro 1 byte). Nel nostro caso dimensione del cluster 4 settori, cioè. 512*4=2048 byte O 800 nel sistema numerico esadecimale. È importante notare che i cluster sono numerati da due, non da uno (!).

Calcoliamo da quale iniziano gli indirizzi gruppo n. 3:

0x4600 (area di sistema) + 0x800 (secondo cluster) = 0x4E00

Calcoliamo in base a cosa l'indirizzo termina con il cluster n. 3:

0x4E00 (inizio del cluster n. 3) + 0x800 (512*4 o la dimensione di un cluster in HEX) = 0x5600

Di conseguenza, il cluster Il numero 3 si trova nell'intervallo di indirizzi 0x4E000x5600.

Diamo un'occhiata al codice HEX

Cornice blu ho indicato contenuto del file 1.txt. Tutto ciò che si trova sopra la cornice è il contenuto di un altro file. Le aree vuote del settore vengono riempite con 0x00.

Allora perché abbiamo bisogno di una tabella FAT?

Se un file occupa più di un cluster (nel nostro caso, se il file è più grande di 2048 byte), allora la tabella FAT viene in nostro aiuto. È qualcosa come una “mappa” di cluster. Quelli. quando lo scopriremo numero del settore, da cui inizia il file che ci interessa, dobbiamo innanzitutto guardare stesso numero di riga in FAT.

Se la stringa ha un valore 0xFF8-0xFFFF, allora questo significa quello questo è l'ultimo gruppo per un dato file, ad es. il file occupa solo un gruppo.

Se la stringa ha un valore 0x0002-0xFFEF, allora questo significa quello il file è stato espanso in un altro cluster. Numero significa numero di cluster successivo, che memorizza la continuazione del file. Dobbiamo continuare a leggere il file a questo numero grappolo.

Dopo aver letto il nuovo cluster, è necessario esaminare il valore della riga per questo numero in FAT. Se il valore della riga è 0x FF8-0xFFFF, significa che questo cluster è l'ultimo nel file. Se 0x0002-0xFFEF, questo è il numero per il cluster successivo, leggi oltre e ripeti l'azione. La lettura di un file è un ciclo con una condizione.

Quindi ci siamo occupati dei file, ora è il momento di occuparci delle directory.

Cos'è una directory?

La directory per il file system FAT16 (e per molti altri) è uno speciale file di dimensione zero che memorizza un elenco dei suoi contenuti.

Diciamo che abbiamo aggiunto la directory " TEST_DIR» con cartella « in_dir.txt" Quindi nella directory principale apparirà un nuovo elemento da 32 byte, descrive la directory stesso file, ma con piccole differenze.

Ho segnato in rosso i parametri specifici delle directory, questi sono 0x10– etichetta della directory e 0x00000000- dimensione del file.

Come puoi vedere nel quadrato blu, abbiamo una directory nel gruppo n. 5, vediamo cosa c'è.

Contenuto del "file" TEST_DIR Infatti, questa è la stessa directory root, cioè. insieme di elementi da 32 byte. Ho contrassegnato ogni elemento con un bordo verde.

Gli elementi descrivono il nome del file o della directory, gli attributi e il numero del cluster in cui si trovano i suoi dati. In qualsiasi cartella, c'è sempre due cataloghi Con nome "." E "..".

Il primo è nel cluster №5 , cioè. Questo la stessa directory, UN il secondo al numero di cluster n. 0. Sotto questo il numero si riferisce alla “directory root”, cioè. questa è l'uscita alla directory root.

Descrizione del file " in_dir.txt» standard, come per la directory root (vedi directory root). La cosa principale per noi è il numero del cluster in cui si trova il contenuto di questo file (indicato da un quadrato rosso).

Guardiamo gruppo n. 6 e vedere il contenuto del file " in_dir.txt" Ho segnato l'inizio del cluster con una linea rossa.

Potrebbe interessarti:


In FAT, i nomi dei file sono in formato 8.3 e sono costituiti solo da caratteri ASCII. VFAT ha aggiunto il supporto per nomi di file lunghi (fino a 255 caratteri). Nome file lungo, LFN) nella codifica UTF-16LE, con LFN memorizzati contemporaneamente ai nomi 8.3, chiamati retrospettivamente SFN. Nome file breve). Gli LFN non fanno distinzione tra maiuscole e minuscole durante la ricerca, tuttavia, a differenza degli SFN, che sono archiviati in maiuscolo, gli LFN mantengono il maiuscolo/minuscolo specificato al momento della creazione del file.

Struttura del sistema FAT

Nel file system FAT, i settori contigui del disco vengono combinati in unità chiamate cluster. Il numero di settori in un cluster è pari a una potenza di due (vedi sotto). Un numero intero di cluster (almeno uno) viene allocato per archiviare i dati del file, quindi, ad esempio, se la dimensione del file è 40 byte e la dimensione del cluster è 4 KB, solo l'1% dello spazio allocato sarà effettivamente occupato tramite informazioni sul file. Per evitare tali situazioni, è consigliabile ridurre la dimensione dei cluster, ridurre la quantità di informazioni sugli indirizzi e aumentare la velocità delle operazioni sui file, viceversa. In pratica, viene scelto un compromesso. Poiché la capacità del disco non può essere espressa in un numero intero di cluster, solitamente alla fine del volume si trovano i cosiddetti. settori in eccedenza: un "resto" inferiore alla dimensione del cluster che non può essere allocato dal sistema operativo per l'archiviazione delle informazioni.

Lo spazio volumetrico FAT32 è logicamente suddiviso in tre aree contigue:

  • Area riservata. Contiene strutture di servizio che appartengono al record di avvio della partizione (Partition Boot Record - PBR, per distinguerlo dal Master Boot Record - il record di avvio principale del disco; PBR è spesso anche erroneamente chiamato settore di avvio) e vengono utilizzate durante l'inizializzazione di un volume;
  • Un'area di una tabella FAT contenente un array di puntatori di indice ("celle") corrispondenti ai cluster dell'area dati. In genere sono presenti due copie della tabella FAT sul disco per motivi di affidabilità;
  • L'area dati in cui viene registrato il contenuto effettivo dei file, ovvero il testo file di testo, immagine codificata per file di immagine, suono digitalizzato per file audio, ecc. - così come il cosiddetto. metadati: informazioni riguardanti i nomi di file e cartelle, i loro attributi, i tempi di creazione e modifica, le dimensioni e il posizionamento sul disco.

FAT12 e FAT16 allocano anche specificamente l'area della directory principale. Ha una posizione fissa (immediatamente dopo l'ultimo elemento della tabella FAT) e una dimensione fissa in settori.

Se un cluster appartiene a un file, la cella corrispondente contiene il numero del cluster successivo dello stesso file. Se la cella corrisponde all'ultimo cluster del file, contiene un valore speciale (FFFF 16 per FAT16). In questo modo viene costruita una catena di file cluster. I cluster non utilizzati nella tabella corrispondono a zeri. Anche i cluster “cattivi” (esclusi dall'elaborazione, ad esempio, a causa dell'illeggibilità della corrispondente area del dispositivo) corrispondono a un codice speciale.

Quando un file viene cancellato, il primo carattere del nome viene sostituito con un codice speciale E5 16 e la catena dei cluster di file nella tabella di allocazione viene azzerata. Poiché le informazioni sulla dimensione del file (che si trovano nella directory accanto al nome del file) rimangono intatte, se i cluster di file si trovavano in sequenza sul disco e non venivano sovrascritti da nuove informazioni, è possibile ripristinare il file eliminato.

Voce di avvio

La prima struttura del volume FAT si chiama BPB. Blocco parametri del BIOS ) ed è situato in un'area riservata, nel settore zero. Questa struttura contiene informazioni che identificano il tipo di file system e le caratteristiche fisiche del supporto di memorizzazione (disco floppy o partizione del disco rigido).

Blocco parametri del BIOS

BPB era sostanzialmente assente dal FAT che serviva MS-DOS 1.x, poiché a quel tempo c'erano solo due diversi tipi di volumi: floppy disk da 360 KB da cinque pollici a lato singolo e a lato doppio, con il formato del volume determinato da il primo byte dell'area FAT. BPB fu introdotto in MS-DOS 2.x all'inizio del 1983 come struttura obbligatoria del settore di avvio che da quel momento in poi avrebbe determinato il formato del volume; Il vecchio schema di determinazione in base al primo byte della FAT ha perso supporto. Anche in MS-DOS 2.0 è stata introdotta una gerarchia di file e cartelle (prima tutti i file erano archiviati nella directory principale).

La struttura BPB in MS-DOS 2.x conteneva un campo "numero totale di settori" a 16 bit, il che significava che questa versione di FAT era fondamentalmente inapplicabile per volumi più grandi di 2 16 = 65.536 settori, cioè più di 32 MB con una dimensione di settore standard di 512 byte. In MS-DOS 4.0 (1988), il campo BPB sopra è stato espanso a 32 bit, il che significa che la dimensione teorica del volume è aumentata a 232 = 4.294.967.296 settori o 2 TB con un settore da 512 byte.

La successiva modifica di BPB apparve con Windows 95 OSR2, che introdusse FAT32 (nell'agosto 1996). Il limite di due gigabyte sulla dimensione del volume è stato rimosso; un volume FAT32 può teoricamente avere una dimensione massima di 8 TB. La dimensione di ogni singolo file non può comunque superare i 4 GB. Il blocco parametri BIOS FAT32, per compatibilità con le versioni precedenti di FAT, ripete BPB FAT16 fino al campo BPB_TotSec32 incluso, seguito dalle differenze.

Il "settore di avvio" FAT32 è in realtà composto da tre settori da 512 byte: i settori 0, 1 e 2. Ciascuno di essi contiene la firma 0xAA55 all'indirizzo 0x1FE, ovvero negli ultimi due byte se la dimensione del settore è 512 byte. Se la dimensione del settore è superiore a 512 byte, la firma è contenuta sia nell'indirizzo 0x1FE che negli ultimi due byte del settore zero, ovvero è duplicata.

FSInfo

Il record di avvio di una partizione FAT32 contiene una struttura chiamata FSInfo, utilizzato per archiviare il numero di cluster liberi sul volume. FSInfo, di norma, occupa il settore 1 (vedi campo BPB_FSInfo) e ha la seguente struttura (indirizzi relativi all'inizio del settore):

  • FSI_LeadSig. La firma a 4 byte 0x41615252 indica che il settore viene utilizzato per la struttura FSInfo.
  • FSI_Riservato1. L'intervallo dal 4° al 483° byte del settore compreso viene azzerato.
  • FSI_StrucSig. Un'altra firma si trova all'indirizzo 0x1E4 e contiene il valore 0x61417272.
  • FSI_Free_Count. Il campo a quattro byte all'indirizzo 0x1E8 contiene l'ultimo valore del numero di cluster liberi sul volume noto al sistema. Un valore di 0xFFFFFFFF significa che il numero di cluster liberi è sconosciuto e deve essere calcolato.
  • FSI_Nxt_Free. Il campo a quattro byte all'indirizzo 0x1EC contiene il numero del cluster da cui dovrebbe iniziare la ricerca dei cluster liberi nella tabella dei puntatori dell'indice. In genere questo campo contiene il numero dell'ultimo cluster FAT allocato per archiviare il file. Il valore 0xFFFFFFFF significa che la ricerca di un cluster libero deve essere effettuata dall'inizio della tabella FAT, cioè dal secondo cluster.
  • FSI_Riservato2. Campo riservato da 12 byte all'indirizzo 0x1F0.
  • FSI_TrailSig. Firma 0xAA550000 - ultimi 4 byte del settore FSInfo.

Lo scopo dell'introduzione di FSInfo è ottimizzare il funzionamento del sistema, poiché in FAT32 la tabella dei puntatori dell'indice può essere significativa e la scansione byte per byte può richiedere molto tempo. Tuttavia, i valori dei campi FSI_Free_Count e FSI_Nxt_Free potrebbero non essere corretti e occorre verificarne l'adeguatezza. Inoltre non vengono aggiornati nemmeno nel backup di FSInfo, che di solito si trova nel settore 7.

Determinazione del tipo di volume FAT

La determinazione del tipo FAT di un volume (ovvero la scelta tra FAT12, FAT16 e FAT32) viene effettuata dal sistema operativo in base al numero di cluster nel volume, che a sua volta viene determinato dai campi BPB. Innanzitutto viene calcolato il numero di settori della directory root:

RootDirSectors = (BPB_RootEntCnt * 32) / BPB_BytsPerSec

DataSec = TotSec - (BPB_ResvdSecCnt + (BPB_NumFATs * FATSz) + RootDirSectors)

Infine, viene determinato il numero di cluster dell'area dati:

ConteggioCluster = DataSec / BPB_SecPerClus

In base al numero di cluster esiste una chiara corrispondenza con il file system:

  • Conteggio dei cluster< 4085 - FAT12
  • Conteggio di cluster = 4085 ÷ 65524 - FAT16
  • Conteggio di cluster > 65524 - FAT32

Secondo le specifiche ufficiali, questo è l'unico modo valido per determinare il tipo di FAT. La creazione artificiale di un volume che viola le regole di conformità specificate comporterà l'elaborazione errata da parte di Windows. Tuttavia, si consiglia di evitare valori CountofClusters vicini al critico (4085 e 65525) per determinare correttamente il tipo di file system da parte di eventuali driver, spesso scritti in modo errato.

Nel corso del tempo, FAT cominciò ad essere ampiamente utilizzato in vari dispositivi per la compatibilità tra DOS, Windows, OS/2, Linux. Microsoft non ha mostrato alcuna intenzione di costringerli a concedere in licenza [ specificare] .

Nel febbraio 2009, Microsoft ha citato in giudizio TomTom, produttore di sistemi di navigazione per auto basati su Linux, accusandolo di violazione di brevetti.

Appunti

  1. http://cd.textfiles.com/megademo2/INFO/OS2_HPFS.TXT
  2. www.microsoft.com/mscorp/ip/tech/fathist.asp su archive.org
  3. Specifica del file system FAT32 della Microsoft Extensible Firmware Initiative 1.03. Microsoft (6 dicembre 2000). - Formato del documento Microsoft Word, 268KB. Archiviato
  4. Che dire della VFAT? . Archivio TechNet. Microsoft (15 ottobre 1999). Archiviata dall' url originale il 22 agosto 2011. Estratto il 5 aprile 2010.
  5. L'estensione del file system VFAT non deve essere confusa con il driver del file system con lo stesso nome, apparso in Windows for Workgroups 3.11 ed è progettato per gestire le chiamate di funzione MS-DOS (INT 21h) in modalità protetta (vedere: KB126746: Cronologia delle versioni di Windows per Workgroup. VERSIONE 3.11 → Funzionalità non di rete. Microsoft (14 novembre 2003). URL consultato il 5 aprile 2010 (archiviata dall' url originale il 22 agosto 2011).)
  6. Il Tribunale federale dei brevetti dichiara nullo il brevetto FAT di Microsoft (inglese). ciao in linea. Heise Zeitschriften Verlag (2 marzo 2007). Archiviato
  7. Brian Kahin. Microsoft sconvolge il mondo con i brevetti FAT. L'Huffington Post (10 marzo 2009). Archiviata dall' url originale il 22 agosto 2011. Estratto il 10 marzo 2009.
  8. Ryan Paolo. La causa di Microsoft sui brevetti FAT potrebbe aprire il vaso di Pandora dell'OSS (inglese). Ars Tecnica. Pubblicazioni Condé Nast (25 febbraio 2009). Archiviato
  9. Glyn Moody.(Inglese) . ComputerworldUK. IDG (5 marzo 2009). Archiviata dall' url originale il 22 agosto 2011. Estratto il 9 marzo 2009.
  10. Steven J. Vaughan-Nichols. Le aziende Linux firmano patti di protezione dei brevetti Microsoft (inglese). Blog del mondo dei computer. IDG (5 marzo 2009). Archiviata dall' url originale il 22 agosto 2011. Estratto il 9 marzo 2009.
  11. Erica Ogg. TomTom controbatte Microsoft nella controversia sui brevetti. CNet (19 marzo 2009). Archiviata dall' url originale il 22 agosto 2011. Estratto il 20 marzo 2009.

Collegamenti

  • Norma FAT ECMA-107 (inglese).