NTFS

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
NTFS
Dati generali
SviluppatoreMicrosoft
Nome completoNew Technology File System
Introduzionegiugno 1993Windows NT 3.1
Identificatore della partizione0x07 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7(GPT)
Struttura
Struttura contenuti directoryB*Tree
Allocazione dei fileBitmap/Extents
Blocchi danneggiatiBitmap/Extents
Limiti
Dimensione massima di un file16TBnella corrente implementazione

(16EBin teoria)

Numero massimo di file4,294,967,295 ()
Dimensione massima del nome di un file255 caratteri
Dimensione massima del volume256TiBnell'attuale implementazione (16EiBnell'architettura)
Caratteri permessi nel nome di un fileUnicode(UTF-16), ogni carattere tranne \ /: *? < > |
Caratteristiche
Date memorizzateCreazione, modifica, POSIX, accessi
Date supportate1º gennaio 1601 - 28 maggio 60056
Fork
AttributiSola lettura, nascosto, sistema, archivio
Permessi file systemACL
CompressionetrasparentePer file,LZ77(daWindows NT 3.51)
CrittografiatrasparentePer file,
DESX(daWindows 2000),
Triple DES(daWindows XP),
AES(da Windows XP Service Pack 1,Windows 2003)

NTFS(acronimodiNewTechnologyFileSystem) è unfile systemutilizzato daMicrosoftdei sistemi operativi basati suMicrosoft Windows NT.Venne ideato nel 1993, quandoMicrosoftabbandonò lo sviluppo congiunto conIBMdel sistema operativoOS/2e decise di sviluppare in proprioWindows NT,che riprese alcune delle caratteristiche presenti nel file systemHPFSdi OS/2.

NTFS sfrutta un'indicizzazione a 64 bit, sebbene la sua implementazione sia basata soltanto su 32 bit. La struttura principale di unfile systemNTFS è laMaster File Table(MFT), una tabella strutturata in blocchi (solitamente in record di 1KB) che contiene gli attributi di tutti i file del volume, inclusi imetadati.Tali attributi possono essereattributi residentiquando sono presenti in MFT, oppure, se non memorizzabili a causa del poco spazio, vengono salvati in qualche altra posizione delfile systeme prendono il nome diattributi non residenti.

Ledirectorysono memorizzate comefile:in ognifile-directorysono presenti degli attributi speciali, memorizzati in ordine lessicografico, che si riferiscono aifilecontenuti in taledirectory.I dati veri e propri deifilesono memorizzati influssipuntati da appositi attributiData.

Caratteristiche

[modifica|modifica wikitesto]

NTFS è un notevole passo avanti rispetto alFile 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 codificaUnicode.
  • Dimensioni e Flessibilità[1]- 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 232-1 file per volume, ha un limite teorico di 264cluster - 1 e può gestire file che raggiungono i 264bytes - 1 kb di dimensione; gli ultimi due valori si riducono, tuttavia, in tutte le implementazioni di questo filesystem nei sistemi operativi Windows,[2]rispettivamente a 232clusters - 1 e 244bytes - 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 glihardlink.

Le performance di NTFS sono invece leggermente inferiori a quella di FAT e diFAT32.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 diZIP,ma permette l'accesso immediato a qualunque punto del file) e di crittografia (chiamato anche EFS). In NTFS sono stati aggiunti i cosiddettipunti di reparse,ovvero dei meccanismi che consentono le giunzioni (junctions) tradirectory,altrimenti impossibili per la struttura delfile system.

Il file system NTFS è stato distribuito in 5 versioni:

  • V1.0 conNT 3.1,[senza fonte]a metà del 1993
  • V1.1 conNT 3.5,[senza fonte]autunno del 1994
  • V1.2 conNT 3.51(metà del 1995) eNT 4(metà del 1996), (a volte indicato come "NTFS 4.0", perché il driver del file system è alla versione 4.0)
  • V3.0 daWindows 2000( "NTFS V5.0" o "NTFS5" )[3]
  • V3.1 daWindows XP(autunno del 2001; "NTFS V5.1" )[senza fonte]

V1.0 e V1.1 (e più recenti) sono incompatibili: cioè, i volumi scritti da NT 3.5x non possono essere letti da NT 3.1 fino a quando un aggiornamento sulla 3.5x CD NT è effettuato a NT 3.1, che aggiunge anche il supporto FAT con file nome lungo.[4] Qui di seguito sono le descrizioni di alcune delle versioni:

  • V1.2 supporta i file compressi, chiamati streams, sicurezza basata su ACL, ecc.[5]
  • V3.0 aggiunto quote disco, crittografia,sparse files,punti di analisi, numero di sequenza degli aggiornamenti (USN) journaling, la cartella $Extend e i suoi file, e riorganizzatosecurity descriptorsin modo che i file multipli utilizzando la stessa impostazione di protezione possono condividere lo stesso descrittore.[5]
  • V3.1 aggiunte le voci Tabella file master (MFT) con record ridondante MFT (utile per il recupero di file danneggiati MFT).

Windows Vistaha introdottoTransactional NTFS,NTFS symbolic links,partition shrinking e la funzione di self-healing,[6]anche se queste caratteristiche sono dovute più alle funzionalità aggiuntive del sistema operativo che il file system stesso.

La versione NTFS.sys (ovvero NTFS v5.0 introdotta conWindows 2000), non deve essere confusa con la versione formato su disco NTFS (v3.1 introdotta da Windows XP).[7]Il formato NTFS v3.1 su disco è immutato dall'introduzione diWindows XPed è usato inWindows Server 2003,Windows Server 2008,Windows VistaeWindows 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.[3]

Possibili inconvenienti

[modifica|modifica wikitesto]

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 aFATeFAT32.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 questonon ha conosciuto fortuna al di fuori dei sistemi operativi Microsoft[senza fonte].

Sono tuttavia in corso progetti direverse engineeringche mirano a rendere accessibili le partizioni NTFS anche da altri sistemi operativi. Nei sistemi basati suLinux,a partire dalla versione 2.6.30 delkernel,è possibile accedere anche in scrittura ad un file system NTFS senza danneggiarne la struttura ed è disponibile un completo supporto in lettura e scrittura tramiteFUSE.Inoltre per il sistema operativomacOSil 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[1],per l'accesso alle partizioni NTFS da sistema operativoSolaris/OpenSolaris.Analogamente è possibile accedere in lettura a partizioni NTFS anche daDOS,ad esempio utilizzandoActive@ NTFS Reader for DOS[2],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 primianni novanta(come evoluzione diHPFS,il filesystem di Microsoft usato suOS/2). Se paragonato con altri filesystem molto più moderni tipici degli ambienti Unix/Linux come ad esempioext3,ext4,XFSe altri,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[senza fonte]anche se, avendo una struttura predisposta allacompatibilità in avanti,negli anni è stato modificato ed esteso pur non riportando un numero di versione nel nome ufficiale.

Interoperabilità

[modifica|modifica wikitesto]

Sebbene le diverse versioni di ntfs siano compatibili in avanti e all'indietro, occorre prestare attenzione ad alcune considerazioni tecniche quando si intende montare volumi NTFS più recenti in versioni precedenti di Windows. Ciò può avere conseguenze negative in caso di dual boot o con dispositivi esterni di archiviazione. Ad esempio, cercare di utilizzare una partizione NTFS con abilitate le "versioni precedenti" (copia shadow) su un sistema operativo che non supporta tale caratteristica comporta la perdita delle versioni precedenti dei dati.

L'utility convert.exe permette di convertire volumi HPFS (solo su Windows NT 3.1, 3.5 e 3.51), FAT16 e FAT32 (su Windows 2000 e successivi).

FreeBSD3.2[8],rilasciato nel maggio 1999 includeva il supporto NTFS in sola lettura scritto da Semen Ustimenko[9].Tale implementazione fu portata su NetBSD da Christos Zoulas e Jaromir Dolecek e rilasciata con la versione 1.5 del sistema operativo nel dicembre 2000. L'implementazione di FreeBSD è stata inoltre portata su OpenBSD da Julien Bordet e offre il supporto nativo in sola lettura a NTFS per default sulle piattaforme i386 e amd64 a partire dalla versione 4.9, rilasciata il 1º maggio 2011.

A partire daMac OS X 10.3è inclusa l'implementazione del supporto NTFS in sola lettura sviluppata da Ustimenko per FreeBSD. Nel 2006 Apple ingaggiò Anton Altaparmakov per scrivere una nuova implementazione NTFS in lettura/scrittura perMac OS X 10.6.Sebbene questa sia inclusa nel sistema operativo, non è attivata di default in quanto è instabile e può causare errori gravi del kernel.

LaParagon Software Groupcommercializza un driver in lettura/scrittura denominato NTFS for Mac[10],che è inoltre incluso con alcuni modelli di dischi rigidi della Seagate.

Il kernel linux include, a partire dalla versione 2.1.74, un driver scritto da Martin von Löwis che supporta la lettura delle partizioni NTFS. Le versioni 2.5.11 e successive del kernel includono un nuovo driver scritto da Anton Altaparmakov (Università di Cambridge) e Richar Russon che supporta la lettura dei file.

L'accesso in scrittura è stato introdotto nel 2006 con il rilascio della versione 2.6.15 del kernel, ma permette la sola modifica di file esistenti, non la creazione di nuovi file.

Il driver NTFS della Paragon (NTFS3) è stato integrato nella versione 5.15 del Kernel e supporta la lettura/scrittura su file normali,compressiesparsi,oltre alla correzione degli errori tramite il meccanismo del journaling.

Sono state sviluppate implementazioni di driver NTFS come programmi perFUSE(Filesystem in userspace). NTFS-3G è un'implementazione sotto licenza GPL che supporta, oltre a Linux, macOS, FreeBSD, NetBSD, OpenBSD, Solaris, QNX e Haiku permettendo l'accesso in lettura e scrittura. Una versione commerciale dalle prestazioni migliorate per mac è nota come "Tuxera NTFS for Mac" ed è sviluppata dagli stessi autori di NTFS-3G.

Esiste inoltre un driver 'wrapping' per Linux denominato Captive NTFS, basato sul driver ntfs.sys originale di Windows il quale, per ragioni di licenza, deve essere fornito dall'utente tramite un'installazione Windows esistente oppure estratto dai file di installazione di alcuni service pack.

  1. ^Maximum Volume Sizes,Microsoft Technet Library, 2011.
  2. ^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).
  3. ^abNTFS all'interno di Win2K, parte 1,sumsdn.microsoft.com,Microsoft, 26 gennaio 2011.
  4. ^Ripristino di Windows NT dopo un errore di avvio su un'unità NTFS,susupport.microsoft.com,Microsoft, 1º novembre 2006.
  5. ^abMark Russinovich,Inside Win2K NTFS, Part 1,sumsdn2.microsoft.com,Microsoft Developer Network.URL consultato il 18 aprile 2008.
  6. ^(EN) John Loveall,Miglioramenti di archiviazione in Windows Vista e Windows Server 2008(PPT), sudownload.microsoft.com,Microsoft Corporation, 2006, 14-20.URL consultato il 4 settembre 2007.
  7. ^Nuove funzionalità e caratteristiche del File System NTFS 3.1,susupport.microsoft.com,Microsoft, 1º dicembre 2007.
  8. ^(EN)Note di rilascio di FreeBSD 3.2,sufreebsd.org.
  9. ^mount_ntfs(8) - OpenBSD manual pages,suman.openbsd.org.URL consultato il 20 maggio 2024.
  10. ^Paragon NTFS for Mac. Sito ufficiale.,suparagon-software.com.

Collegamenti esterni

[modifica|modifica wikitesto]