NTFS: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
formattazione...
Nessun oggetto della modifica
Riga 26:
}}
 
'''NTFS''' ([[acronimo]] di '''N'''ew '''T'''echnology '''F'''ile '''S'''ystem) è un [[file system]] utilizzato da [[Microsoft]] dei sistemi operativi basati su [[windows NT|Microsoft Windows NT]]. Questo file system venne ideato nel 1993, quando [[Microsoft]] abbandonò lo sviluppo congiunto con [[IBM]] del sistema operativo [[OS/2]] e decise di sviluppare in proprio [[Windows NT]], che riprese alcune delle caratteristiche presenti nel file system [[HPFS]] di OS/2.
 
== VersioniDescrizione ==
=== Struttura ===
 
NTFS sfrutta un'indicizzazione a 64 bit, sebbene la sua implementazione sia basata soltanto su 32 bit. La struttura principale di un [[file system]] NTFS è la ''[[Master File Table]]'' (MFT), una tabella strutturata in blocchi (solitamente in record di 1KB) che contiene gli attributi di tutti i file del volume, inclusi i [[Metadato|metadati]]. Tali attributi possono essere ''attributi residenti'' quando sono presenti in MFT, oppure, se non memorizzabili a causa del poco spazio, vengono salvati in qualche altra posizione del [[file system]] e prendono il nome di ''attributi non residenti''.
 
Le [[directory]] sono memorizzate come [[file]]: in ogni ''file-directory'' sono presenti degli attributi speciali, memorizzati in ordine lessicografico, che si riferiscono ai [[file]] contenuti in tale [[directory]]. I dati veri e propri dei [[file]] sono memorizzati in [[Stream (informatica)|flussi]] puntati da appositi attributi ''Data''.
 
=== Caratteristiche principali ===
 
NTFS è un notevole passo avanti rispetto al [[File Allocation Table]] (FAT), l'altro file system di Microsoft. Queste le sue principali caratteristiche:
 
* '''Affidabilità''' - NTFS è un sistema transazionale (o "Journaled" come si dice nei sistemi operativi Linux e Apple come Mac OS X); questo vuol dire che se un'operazione è interrotta a metà (ad esempio per un blackout) viene persa solo quell'operazione ma non è compromessa l'integrità del file system il quale resta comunque leggibile dal computer.
* '''Permessi e Controllo d'Accesso''' - a ciascun file o cartella è possibile assegnare dei diritti di accesso (lettura, scrittura, modifica, cancellazione e altri).
* '''Nomi lunghi e Unicode''' - i nomi dei file e delle cartelle possono essere lunghi fino a 255 caratteri e possono contenere caratteri di tutte le lingue del mondo grazie alla codifica [[Unicode]].
* '''Dimensioni e Flessibilità'''<ref>[https://technet.microsoft.com/en-us/library/cc938432.aspx Maximum Volume Sizes], Microsoft Technet Library, 2011.</ref> - La dimensione massima per volume, la dimensione massima per file e il numero massimo di file per volume sono di gran lunga superiori rispetto ai precedenti filesystem di Microsoft: un volume NTFS supporta fino 2<sup>32</sup> -1 file per volume, ha un limite teorico di 2<sup>64</sup> cluster - 1 e può gestire file che raggiungono i 2<sup>64</sup> bytes - 1 kb di dimensione; gli ultimi due valori si riducono, tuttavia, in tutte le implementazioni di questo filesystem nei sistemi operativi Windows,<ref>Al gennaio 2012: Windows Xp Professional, Windows XP 64 bit Edition (per processori Intel Itanium), Windows XP Professional x64 Edition (per processori x86), Windows Vista (32/64 bit), Windows 7 (32/64 bit), Windows 2000 Server (32/64 bit), Windows Server 2003 (32/64 bit), Windows Server 2008 (32/64 bit).</ref> rispettivamente a 2<sup>32</sup> clusters - 1 e 2<sup>44</sup> bytes - 64 kB. Di conseguenza - utilizzando cluster di 64 kb - la dimensione massima di un volume NTFS in un sistema Windows è di 256 Tb - 64 kB (che si riduce a 16 TB - 4kB utilizzando la dimensione standard per cluster di 4 kB). La dimensione massima di un singolo file è di 16 TB - 64kB contro i 4 GB di FAT e FAT32. Sono supportati nativamente i volumi sparsi e il mirroring. Sono finalmente disponibili gli [[Collegamento fisico|hardlink]].
 
Le performance di NTFS sono invece leggermente inferiori a quella di FAT e di [[FAT32]]. A partire da Windows 2000, è inoltre possibile montare un volume NTFS come sottodirectory di un altro volume NTFS. NTFS permette inoltre di utilizzare trasparentemente delle opzioni di compressione (il rapporto di compressione è mediocre, meno di [[ZIP (formato di file)|ZIP]], ma permette l'accesso immediato a qualunque punto del file) e di crittografia (chiamato anche [[Encrypted File System|EFS]]). In NTFS sono stati aggiunti i cosiddetti ''punti di reparse'', ovvero dei meccanismi che consentono le giunzioni (''junctions'') tra [[directory]], altrimenti impossibili per la struttura del [[file system]].
 
=== Versioni ===
Il file system NTFS è stato distribuito in 5 versioni:
 
Riga 55 ⟶ 73:
|data= 1º dicembre 2007
}}</ref> Il formato NTFS v3.1 su disco è immutato dall'introduzione di [[Windows XP]] ed è usato in [[Windows Server 2003]], [[Windows Server 2008]], [[Windows Vista]] e [[Windows 7]]. La confusione nasce quando non si fa differenza quando le funzioni sono implementate nel driver NTFS.sys all'interno del sistema operativo di Windows piuttosto che nel formato su disco NTFS. Un incidente del genere è stato quando Microsoft spiegava le nuove funzionalità dell'NTFS in Windows 2000 e lo chiamarono NTFS v5.0, ma è il driver NTFS.sys che è in tale versione e il formato su disco è solo a v3.0.<ref name="NTFS all'interno di Win2K, parte 1"/>
 
== Caratteristiche principali ==
 
NTFS è un notevole passo avanti rispetto al [[File Allocation Table]] (FAT), l'altro file system di Microsoft. Queste le sue principali caratteristiche:
 
* '''Affidabilità''' - NTFS è un sistema transazionale (o "Journaled" come si dice nei sistemi operativi Linux e Apple come Mac OS X); questo vuol dire che se un'operazione è interrotta a metà (ad esempio per un blackout) viene persa solo quell'operazione ma non è compromessa l'integrità del file system il quale resta comunque leggibile dal computer.
* '''Permessi e Controllo d'Accesso''' - a ciascun file o cartella è possibile assegnare dei diritti di accesso (lettura, scrittura, modifica, cancellazione e altri).
* '''Nomi lunghi e Unicode''' - i nomi dei file e delle cartelle possono essere lunghi fino a 255 caratteri e possono contenere caratteri di tutte le lingue del mondo grazie alla codifica [[Unicode]].
* '''Dimensioni e Flessibilità'''<ref>[https://technet.microsoft.com/en-us/library/cc938432.aspx Maximum Volume Sizes], Microsoft Technet Library, 2011.</ref> - La dimensione massima per volume, la dimensione massima per file e il numero massimo di file per volume sono di gran lunga superiori rispetto ai precedenti filesystem di Microsoft: un volume NTFS supporta fino 2<sup>32</sup> -1 file per volume, ha un limite teorico di 2<sup>64</sup> cluster - 1 e può gestire file che raggiungono i 2<sup>64</sup> bytes - 1 kb di dimensione; gli ultimi due valori si riducono, tuttavia, in tutte le implementazioni di questo filesystem nei sistemi operativi Windows,<ref>Al gennaio 2012: Windows Xp Professional, Windows XP 64 bit Edition (per processori Intel Itanium), Windows XP Professional x64 Edition (per processori x86), Windows Vista (32/64 bit), Windows 7 (32/64 bit), Windows 2000 Server (32/64 bit), Windows Server 2003 (32/64 bit), Windows Server 2008 (32/64 bit).</ref> rispettivamente a 2<sup>32</sup> clusters - 1 e 2<sup>44</sup> bytes - 64 kB. Di conseguenza - utilizzando cluster di 64 kb - la dimensione massima di un volume NTFS in un sistema Windows è di 256 Tb - 64 kB (che si riduce a 16 TB - 4kB utilizzando la dimensione standard per cluster di 4 kB). La dimensione massima di un singolo file è di 16 TB - 64kB contro i 4 GB di FAT e FAT32. Sono supportati nativamente i volumi sparsi e il mirroring. Sono finalmente disponibili gli [[Collegamento fisico|hardlink]].
 
Le performance di NTFS sono invece leggermente inferiori a quella di FAT e di [[FAT32]]. A partire da Windows 2000, è inoltre possibile montare un volume NTFS come sottodirectory di un altro volume NTFS.
 
NTFS permette inoltre di utilizzare trasparentemente delle opzioni di compressione (il rapporto di compressione è mediocre, meno di [[ZIP (formato di file)|ZIP]], ma permette l'accesso immediato a qualunque punto del file) e di crittografia (chiamato anche [[Encrypted File System|EFS]]).
 
In NTFS sono stati aggiunti i cosiddetti ''punti di reparse'', ovvero dei meccanismi che consentono le giunzioni (''junctions'') tra [[directory]], altrimenti impossibili per la struttura del [[file system]].
 
== Struttura ==
 
NTFS sfrutta un'indicizzazione a 64 bit, sebbene la sua implementazione sia basata soltanto su 32 bit.
 
La struttura principale di un [[file system]] NTFS è la ''[[Master File Table]]'' (MFT), una tabella strutturata in blocchi (solitamente in record di 1KB) che contiene gli attributi di tutti i file del volume, inclusi i [[Metadato|metadati]]. Tali attributi possono essere ''attributi residenti'' quando sono presenti in MFT, oppure, se non memorizzabili a causa del poco spazio, vengono salvati in qualche altra posizione del [[file system]] e prendono il nome di ''attributi non residenti''.
 
Le [[directory]] sono memorizzate come [[file]]: in ogni ''file-directory'' sono presenti degli attributi speciali, memorizzati in ordine lessicografico, che si riferiscono ai [[file]] contenuti in tale [[directory]].
 
I dati veri e propri dei [[file]] sono memorizzati in [[Stream (informatica)|flussi]] puntati da appositi attributi ''Data''.
 
== Possibili inconvenienti ==
{{F|sistemi operativi|novembre 2009}}
Il più notevole inconveniente di NTFS è che è più complesso da amministrare di FAT e di FAT32. Gli utenti dei sistemi operativi Microsoft infatti erano abituati a poter accedere alle partizioni FAT anche con un semplice dischetto di boot DOS. Questa in realtà non è una vera limitazione di NTFS, quanto piuttosto il risultato del fatto che NTFS è un file system diverso e DOS non lo supporta. Anche questo file system soffre del problema di frammentazione anche se in modo più limitato rispetto a [[File Allocation Table|FAT]] e [[FAT32]]. Il vero limite, invece, è legato al fatto che Microsoft non ha reso pubbliche le specifiche di NTFS, e quindi NTFS è un file system di fatto chiuso e proprietario. Anche per questo {{senza fonte|non ha conosciuto fortuna al di fuori dei sistemi operativi Microsoft}}.
 
Anche questo file system soffre del problema di frammentazione anche se in modo più limitato rispetto a [[File Allocation Table|FAT]] e [[FAT32]].
 
Il vero limite, invece, è legato al fatto che Microsoft non ha reso pubbliche le specifiche di NTFS, e quindi NTFS è un file system di fatto chiuso e proprietario. Anche per questo {{senza fonte|non ha conosciuto fortuna al di fuori dei sistemi operativi Microsoft}}.
 
Sono tuttavia in corso progetti di ''[[reverse engineering]]'' che mirano a rendere accessibili le partizioni NTFS anche da altri sistemi operativi.
 
Nei sistemi basati su [[Linux]], a partire dalla versione 2.6.30 del [[kernel]], è possibile accedere anche in scrittura ad un file system NTFS senza danneggiarne la struttura ed è disponibile un completo supporto in lettura e scrittura tramite [[FUSE]].
 
Inoltre per il sistema operativo [[macOS]] il supporto per la lettura e la scrittura sono nativamente disponibili anche se quest'ultimo è disattivato. Si può ovviare al problema però con semplicissimi programmi come iNTFS, il quale è considerato il più semplice da usare (nonostante alcuni possibili crash o bug).
 
Sono tuttavia in corso progetti di ''[[reverse engineering]]'' che mirano a rendere accessibili le partizioni NTFS anche da altri sistemi operativi. Nei sistemi basati su [[Linux]], a partire dalla versione 2.6.30 del [[kernel]], è possibile accedere anche in scrittura ad un file system NTFS senza danneggiarne la struttura ed è disponibile un completo supporto in lettura e scrittura tramite [[FUSE]]. Inoltre per il sistema operativo [[macOS]] il supporto per la lettura e la scrittura sono nativamente disponibili anche se quest'ultimo è disattivato. Si può ovviare al problema però con semplicissimi programmi come iNTFS, il quale è considerato il più semplice da usare (nonostante alcuni possibili crash o bug).
Esiste anche un driver, ''ntfs-mount'' [http://mount-ntfs.sourceforge.net], per l'accesso alle partizioni NTFS da sistema operativo [[Solaris (sistema operativo)|Solaris]]/[[OpenSolaris]]. Analogamente è possibile accedere in lettura a partizioni NTFS anche da [[DOS]], ad esempio utilizzando ''Active@ NTFS Reader for DOS'' [http://www.ntfs.com/products.htm], programma freeware nella versione floppy, shareware nella versione CD avviabile.
 
Esiste anche un driver, ''ntfs-mount'' [http://mount-ntfs.sourceforge.net], per l'accesso alle partizioni NTFS da sistema operativo [[Solaris (sistema operativo)|Solaris]]/[[OpenSolaris]]. Analogamente è possibile accedere in lettura a partizioni NTFS anche da [[DOS]], ad esempio utilizzando ''Active@ NTFS Reader for DOS'' [http://www.ntfs.com/products.htm], programma freeware nella versione floppy, shareware nella versione CD avviabile. Nonostante quanto sia stato detto sopra riguardo alla presenza di journal e altre tecnologie di sicurezza in NTFS, esso è sì un passo avanti rispetto a FAT e FAT32, però NTFS rimane comunque un filesystem di concezione piuttosto obsoleta, dei primi [[anni 1990|anni novanta]] (come evoluzione di [[HPFS]], il filesystem di Microsoft usato su [[OS/2]]). Se paragonato con altri filesystem molto più moderni tipici degli ambienti Unix/Linux come ad esempio [[ext3]], [[ext4]], [[XFS (file system)|XFS]] e altri, {{senza fonte|NTFS risulta essere più lento in lettura/scrittura e meno affidabile rispetto alle perdite di dati se sottoposto a ripetuti blackout o reset della macchina}} anche se, avendo una struttura predisposta alla [[compatibilità in avanti]], negli anni è stato modificato ed esteso pur non riportando un numero di versione nel nome ufficiale).
 
== Note ==