Panoramica dei file system FAT, HPFS e NTFS

Questo articolo illustra le differenze tra file allocation table (FAT), HPFS (High Performance File System) e NT File System (NTFS) in Windows NT e i relativi vantaggi e svantaggi.

Si applica a: Windows 10: tutte le edizioni, Windows Server 2012 R2
Numero KB originale: 100108

Nota

HPFS è supportato solo nelle versioni di Windows NT 3.1, 3.5 e 3.51. Windows NT 4.0 non supporta e non può accedere alle partizioni HPFS. Inoltre, il supporto per il file system FAT32 è diventato disponibile in Windows 98/Windows 95 OSR2 e Windows 2000.

Panoramica di FAT

FAT è di gran lunga il più semplice dei file system supportati da Windows NT. Il file system FAT è caratterizzato dalla tabella di allocazione dei file (FAT), che in realtà è una tabella che si trova all'inizio del volume. Per proteggere il volume, vengono conservate due copie del FILE FAT nel caso in cui ne venga danneggiata una. Inoltre, le tabelle FAT e la directory radice devono essere archiviate in un percorso fisso in modo che i file di avvio del sistema possano essere posizionati correttamente.

Un disco formattato con FAT viene allocato nei cluster, le cui dimensioni sono determinate dalle dimensioni del volume. Quando viene creato un file, viene creata una voce nella directory e viene stabilito il primo numero di cluster contenente i dati. Questa voce nella tabella FAT indica che si tratta dell'ultimo cluster del file oppure punta al cluster successivo.

L'aggiornamento della tabella FAT è molto importante e richiede molto tempo. Se la tabella FAT non viene aggiornata regolarmente, può causare la perdita di dati. Richiede molto tempo perché le testine di lettura del disco devono essere riposizionate nello zero di traccia logica dell'unità ogni volta che viene aggiornata la tabella FAT.

Non esiste alcuna organizzazione per la struttura di directory FAT e ai file viene assegnato il primo percorso aperto nell'unità. Fat supporta inoltre solo attributi di file di sola lettura, nascosti, di sistema e di archivio.

Convenzione di denominazione FAT

FAT usa la convenzione di denominazione dei file 8.3 tradizionale e tutti i nomi di file devono essere creati con il set di caratteri ASCII. Il nome di un file o di una directory può contenere fino a otto caratteri, quindi un separatore punto (.) e fino a un'estensione di tre caratteri. Il nome deve iniziare con una lettera o un numero e può contenere caratteri, ad eccezione dei seguenti:

. " / \ [ ] : ; | = ,

Se si usa uno di questi caratteri, potrebbero verificarsi risultati imprevisti. Il nome non può contenere spazi.

Sono riservati i nomi seguenti:

CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL

Tutti i caratteri verranno convertiti in lettere maiuscole.

Vantaggi di FAT

Non è possibile eseguire un annullamento dell'eliminazione in Windows NT in uno dei file system supportati. Le utilità di annullamento dell'eliminazione tentano di accedere direttamente all'hardware, operazione che non può essere eseguita in Windows NT. Tuttavia, se il file si trovava in una partizione FAT e il sistema viene riavviato in MS-DOS, il file può essere annullato. Il file system FAT è ideale per unità e/o partizioni con dimensioni inferiori a circa 200 MB, perché fat inizia con un sovraccarico molto ridotto. Per altre informazioni sui vantaggi di FAT, vedere quanto segue:

  • Windows NT Server "Concetti e guida alla pianificazione", capitolo 5, sezione intitolata "Scelta di un file system"

  • Windows NT Workstation 4.0 Resource Kit, Capitolo 18, "Scelta di un file system"

  • Windows NT Server 4.0 Resource Kit "Resource Guide", capitolo 3, sezione intitolata "Quale file system usare in quali volumi"

Svantaggi di FAT

Preferibilmente, quando si usano unità o partizioni di oltre 200 MB, il file system FAT non deve essere usato. Questo perché con l'aumentare delle dimensioni del volume, le prestazioni con FAT diminuiranno rapidamente. Non è possibile impostare le autorizzazioni per i file che sono partizioni FAT.

Le dimensioni delle partizioni FAT sono limitate a un massimo di 4 Gigabyte (GB) in Windows NT e a 2 GB in MS-DOS.

Per altre informazioni sugli altri svantaggi di FAT, vedere quanto segue:

  • Windows NT Server "Concetti e guida alla pianificazione", capitolo 5, sezione intitolata "Scelta di un file system"

  • Windows NT Workstation 4.0 Resource Kit, Capitolo 18, "Scelta di un file system"

  • Microsoft Windows NT Server 4.0 Resource Kit "Resource Guide", capitolo 3, sezione intitolata "Quale file system usare in quali volumi"

Panoramica di HPFS

Il file system HPFS è stato introdotto per la prima volta con OS/2 1.2 per consentire un maggiore accesso ai dischi rigidi più grandi che apparivano sul mercato. Inoltre, era necessario che un nuovo file system estendesse il sistema di denominazione, l'organizzazione e la sicurezza per le crescenti richieste del mercato dei server di rete. HPFS gestisce l'organizzazione della directory di FAT, ma aggiunge l'ordinamento automatico della directory in base ai nomi di file. I nomi di file vengono estesi fino a 254 caratteri a byte doppio. HPFS consente anche di comporre un file di "dati" e attributi speciali per consentire una maggiore flessibilità in termini di supporto di altre convenzioni di denominazione e sicurezza. Inoltre, l'unità di allocazione viene modificata da cluster a settori fisici (512 byte), riducendo la perdita di spazio su disco.

In HPFS le voci della directory contengono più informazioni rispetto a FAT. Oltre al file di attributi, sono incluse informazioni sulla modifica, la creazione e la data e l'ora di accesso. Invece di puntare al primo cluster del file, le voci di directory in HPFS puntano a FNODE. FNODE può contenere i dati del file o puntatori che possono puntare ai dati del file o ad altre strutture che alla fine punteranno ai dati del file.

HPFS tenta di allocare la maggior parte possibile di un file in settori contigui. Questa operazione viene eseguita per aumentare la velocità durante l'elaborazione sequenziale di un file.

HPFS organizza un'unità in una serie di bande da 8 MB e, quando possibile, un file è contenuto all'interno di una di queste bande. Tra ognuna di queste bande ci sono bitmap di allocazione 2K, che tengono traccia di quali settori all'interno di una banda sono e non sono stati allocati. La banda aumenta le prestazioni perché la testa dell'unità non deve tornare alla parte superiore logica (in genere cilindro 0) del disco, ma alla bitmap di allocazione della banda più vicina per determinare dove deve essere archiviato un file.

HPFS include anche un paio di oggetti dati speciali univoci:

Super Block

Il super blocco si trova nel settore logico 16 e contiene un puntatore al FNODE della directory radice. Uno dei maggiori pericoli dell'uso di HPFS è che se il Super Block viene perso o danneggiato a causa di un settore danneggiato, così come il contenuto della partizione, anche se il resto dell'unità va bene. Sarebbe possibile recuperare i dati sull'unità copiando tutto in un'altra unità con un buon settore 16 e ricompilando il Super Block. Si tratta tuttavia di un'attività molto complessa.

Blocco di riserva

Il blocco di riserva si trova nel settore logico 17 e contiene una tabella di "correzioni rapide" e il blocco di directory di riserva. In HPFS, quando viene rilevato un settore danneggiato, la voce "hot fixes" viene usata per puntare logicamente a un settore valido esistente al posto del settore cattivo. Questa tecnica per la gestione degli errori di scrittura è nota come correzione rapida.

L'hot fixing è una tecnica in cui se si verifica un errore a causa di un settore danneggiato, il file system sposta le informazioni in un settore diverso e contrassegna il settore originale come negativo. Questa operazione viene eseguita in modo trasparente per tutte le applicazioni che eseguono operazioni di I/O su disco, ovvero l'applicazione non sa mai che si sono verificati problemi con il disco rigido. L'uso di un file system che supporta la correzione rapida eliminerà i messaggi di errore, ad esempio il messaggio di errore FAT "Abort, Retry, or Fail?" che si verifica quando viene rilevato un settore non valido.

Nota

La versione di HPFS inclusa in Windows NT non supporta la correzione rapida.

Vantaggi di HPFS

HPFS è ideale per le unità nell'intervallo 200-400 MB. Per altre informazioni sui vantaggi di HPFS, vedere quanto segue:

  • Windows NT Server "Concetti e guida alla pianificazione", capitolo 5, sezione intitolata "Scelta di un file system"

  • Windows NT Workstation 4.0 Resource Kit, Capitolo 18, "Scelta di un file system"

  • Windows NT Server 4.0 Resource Kit "Resource Guide", capitolo 3, sezione intitolata "Quale file system usare in quali volumi"

Svantaggi di HPFS

A causa del sovraccarico di HPFS, non è una scelta molto efficiente per un volume inferiore a circa 200 MB. Inoltre, con volumi maggiori di circa 400 MB, si verifica una riduzione delle prestazioni. Non è possibile impostare la sicurezza in HPFS in Windows NT.

HPFS è supportato solo nelle versioni di Windows NT 3.1, 3.5 e 3.51. Windows NT 4.0 non può accedere alle partizioni HPFS.

Per altri svantaggi di HPFS, vedere quanto segue:

  • Windows NT Server "Concetti e guida alla pianificazione", capitolo 5, sezione intitolata "Scelta di un file system"

  • Windows NT Workstation 4.0 Resource Kit, Capitolo 18, "Scelta di un file system"

  • Windows NT Server 4.0 Resource Kit "Resource Guide", capitolo 3, sezione intitolata "Quale file system usare in quali volumi"

Panoramica di NTFS

Dal punto di vista dell'utente, NTFS continua a organizzare i file in directory, che, come HPFS, vengono ordinate. Tuttavia, a differenza di FAT o HPFS, non esistono oggetti "speciali" sul disco e non esiste alcuna dipendenza dall'hardware sottostante, ad esempio i settori a 512 byte. Inoltre, non sono presenti posizioni speciali sul disco, ad esempio tabelle FAT o HPFS Super Blocks.

L'obiettivo di NTFS è fornire:

  • Affidabilità, particolarmente auspicabile per i sistemi di fascia alta e i file server

  • Una piattaforma per funzionalità aggiunte

  • Supportare i requisiti POSIX

  • Rimozione delle limitazioni dei file system FAT e HPFS

Affidabilità

Per garantire l'affidabilità di NTFS, sono state affrontate tre aree principali: recuperabilità, rimozione di errori irreversibili a singolo settore e correzione rapida.

NTFS è un file system recuperabile perché tiene traccia delle transazioni nel file system. Quando viene eseguito un CHKDSK in FAT o HPFS, viene verificata la coerenza dei puntatori all'interno della directory, dell'allocazione e delle tabelle file. In NTFS viene mantenuto un log delle transazioni su questi componenti in modo che CHKDSK debba eseguire solo il rollback delle transazioni all'ultimo punto di commit per ripristinare la coerenza all'interno del file system.

In FAT o HPFS, se un settore che è la posizione di uno degli oggetti speciali del file system ha esito negativo, si verificherà un singolo errore del settore. NTFS evita questo problema in due modi: in primo luogo, non usando oggetti speciali sul disco e monitorando e proteggendo tutti gli oggetti che si trovano sul disco. In secondo luogo, in NTFS vengono conservate più copie (il numero dipende dalle dimensioni del volume) della tabella file master.

Analogamente alle versioni del sistema operativo/2 di HPFS, NTFS supporta la correzione rapida.

Aggiunta di funzionalità

Uno dei principali obiettivi di progettazione di Windows NT a ogni livello è fornire una piattaforma che possa essere aggiunta e basata su e NTFS non fa eccezione. NTFS offre una piattaforma avanzata e flessibile per altri file system da usare. Inoltre, NTFS supporta completamente il modello di sicurezza di Windows NT e supporta più flussi di dati. Non è più un file di dati un singolo flusso di dati. Infine, in NTFS, un utente può aggiungere i propri attributi definiti dall'utente a un file.

Supporto di POSIX

NTFS è il più conforme a POSIX.1 dei file system supportati perché supporta i requisiti POSIX.1 seguenti:

Denominazione con distinzione tra maiuscole e minuscole:

In POSIX, README.TXT, Readme.txt e readme.txt sono tutti file diversi.

Timestamp aggiuntivo:

Il timestamp aggiuntivo specifica l'ora dell'ultimo accesso al file.

Collegamenti rigidi:

Un collegamento rigido è quando due nomi di file diversi, che possono trovarsi in directory diverse, puntano agli stessi dati.

Rimuovere le limitazioni

In primo luogo, NTFS ha aumentato notevolmente le dimensioni di file e volumi, in modo che ora possano essere fino a 2^64 byte (16 exabyte o 18.446.744.073.709.551.616 byte). NTFS è anche tornato al concetto di cluster FAT per evitare problemi HPFS di dimensioni fisse del settore. Questa operazione è stata eseguita perché Windows NT è un sistema operativo portatile e a un certo punto è probabile che si verifichino tecnologie disco diverse. Pertanto, 512 byte per settore sono stati considerati come con una grande possibilità di non essere sempre una buona misura per l'allocazione. Questa operazione è stata eseguita consentendo al cluster di essere definito come multipli delle dimensioni di allocazione naturali dell'hardware. Infine, in NTFS tutti i nomi di file sono basati su Unicode e i nomi di file 8.3 vengono mantenuti insieme ai nomi di file lunghi.

Vantaggi di NTFS

NTFS è ideale per l'uso su volumi di circa 400 MB o più. Ciò è dovuto al fatto che le prestazioni non peggiorano in NTFS, come avviene in FAT, con dimensioni di volume maggiori.

Il ripristino progettato in NTFS è tale che un utente non deve mai eseguire alcun tipo di utilità di ripristino del disco in una partizione NTFS. Per altri vantaggi di NTFS, vedere quanto segue:

  • Windows NT Server "Concetti e guida alla pianificazione", capitolo 5, sezione intitolata "Scelta di un file system"

  • Windows NT Workstation 4.0 Resource Kit, Capitolo 18, "Scelta di un file system"

  • Windows NT Server 4.0 Resource Kit "Resource Guide", capitolo 3, sezione intitolata "Quale file system usare in quali volumi"

Svantaggi di NTFS

Non è consigliabile usare NTFS in un volume inferiore a circa 400 MB, a causa della quantità di spazio occupato in NTFS. Questo sovraccarico dello spazio si verifica sotto forma di file di sistema NTFS che in genere usano almeno 4 MB di spazio unità in una partizione da 100 MB.

Attualmente, non è disponibile alcuna crittografia dei file incorporata in NTFS. Pertanto, un utente può eseguire l'avvio in MS-DOS o in un altro sistema operativo e usare un'utilità di modifica del disco di basso livello per visualizzare i dati archiviati in un volume NTFS.

Non è possibile formattare un disco floppy con il file system NTFS; Windows NT formatta tutti i dischi floppy con il file system FAT perché il sovraccarico coinvolto in NTFS non si adatterà a un disco floppy.

Per altre informazioni sugli svantaggi NTFS, vedere quanto segue:

  • Windows NT Server "Concetti e guida alla pianificazione", capitolo 5, sezione intitolata "Scelta di un file system"

  • Windows NT Workstation 4.0 Resource Kit, Capitolo 18, "Scelta di un file system"

  • Windows NT Server 4.0 Resource Kit "Resource Guide", capitolo 3, sezione intitolata "Quale file system usare in quali volumi"

Convenzioni di denominazione NTFS

I nomi di file e directory possono avere una lunghezza fino a 255 caratteri, incluse le estensioni. I nomi mantengono la distinzione tra maiuscole e minuscole, ma non fanno distinzione tra maiuscole e minuscole. NTFS non distingue i nomi di file in base al caso. I nomi possono contenere qualsiasi carattere, ad eccezione dei seguenti:

? " / \ < > * | :

Attualmente, dalla riga di comando, è possibile creare nomi di file fino a 253 caratteri.

Nota

Le limitazioni hardware sottostanti possono imporre limitazioni aggiuntive delle dimensioni della partizione in qualsiasi file system. In particolare, una partizione di avvio può essere di soli 7,8 GB e nella tabella di partizione esiste una limitazione di 2 terabyte.

Per altre informazioni sui file system supportati per Windows NT, vedere Windows NT Resource Kit.