- New Technology File System
-
NTFS Développeur Microsoft Nom anglais New Technology File System Introduction juillet 1993
(Windows NT 3.1)Identificateur de partition 0x07 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)Structure Contenu des répertoires B+ tree Allocation de fichiers B+ tree Mauvais blocs B+ tree Limitations Taille maximale de fichier en pratique 16 TiB[1]
(en théorie 16 EiB)[2]Nombre maximal de fichiers 4 294 967 295 (232 − 1) Taille maximale du nom de fichiers 255 caractères (UTF-16) Taille maximale de volume en pratique 256 TiB[1]
(en théorie 16 EiB)[2]Caractères autorisés dans les noms de fichiers Unicode (UTF-16), tout caractère à l'exception de "/" Fonctionnalités Dates enregistrées Création, modification, accès Plage de dates 1er janvier 1601 - 28 mai 60056 Forks Oui (Alternate Data Streams, voir (en) Fork (filesystem)) Attributs Lecture seule, caché, système, archive Permissions ACL Compression intégrée Par fichier, LZ77 (à partir de Windows NT 3.51) Chiffrement intégré Par fichier,
DES-X (à partir de Windows 2000),
Triple DES (à partir de Windows XP),
AES (Windows XP Service Pack 1, Windows 2003 et suivants)modifier NTFS (New Technology File System) est un système de fichiers conçu pour Windows NT (et ses successeurs chez Microsoft) pour stocker des données sur disque dur. Il s’inspire d’HPFS, le système de fichiers conçu pour OS/2. Le sigle NTFS désigne en anglais NT File System (littéralement « système de fichiers de la génération NT »). Ce système est arrivé avec la première version de Windows NT, en 1993.
NTFS permet de :
- mettre des droits très spécifiques (ACL) sur les fichiers et répertoires : lecture, écriture, exécution, appropriation, etc. ;
- chiffrer des fichiers avec EFS (Encrypting File System) ;
- compresser des fichiers ;
- d'établir des quotas par volume.
Sommaire
Histoire
NTFS a été lancé en 1993 avec le système multi-utilisateur Windows NT. En effet, la technologie FAT, qui était utilisée par MS-DOS et les versions grand public de Windows ne permettait que difficilement d’offrir un système de fichiers multi-utilisateurs :
- pas de zone indiquant le propriétaire du fichier ;
- pas de date du dernier accès en lecture ;
- pas de droits d’accès de groupe.
Il cherchait également à assurer une bonne performance dans un contexte multi-tâche, c’est-à-dire de nombreux programmes accédant simultanément ou presque au disque dur. La tâche critique était donc l'ordonnancement des requêtes.
NTFS sous GNU/linux
NTFS est peu documenté, à dessein selon certains, car, pour cette raison, et aussi parce que l’on n’avait pas pu effectuer de rétroconception complète à son sujet, les pilotes GNU/Linux n’y donnaient accès qu’en lecture et partiellement en écriture jusqu'à l'arrivée du pilote libre NTFS-3G. Celui-ci n'est pas complet, mais permet des lecture/écriture sur du NTFS.
Historique des pilotes (pour permettre l'accès et l'écriture sur des partitions NTFS non compressées) :
- Le premier, Linux-NTFS ne permet que la lecture et l'écriture en mode remplacement seulement (considéré comme stable depuis le noyau 2.6.15), mais ni la création, ni la suppression de fichiers.
- Un deuxième, Captive (Captive NTFS), qui est beaucoup plus lent, mais permet la lecture et l'écriture de manière plus sûre pour la partition, est une encapsulation de la DLL de Windows. Il fonctionne plutôt bien, mais peut planter, par exemple sur l'écriture de gros fichiers.
- Le logiciel commercial Paragon (voir Paragon).
- Le logiciel commercial Tuxera (voir (en) en:Tuxera)
- Le pilote libre NTFS-3G, en version stable 1.0 depuis le 21 février 2007, permet une écriture fiable et la création de fichiers sur les partitions NTFS.
Améliorer les performances au détriment de la traçabilité
À chaque accès à un fichier ou à un répertoire, la date de dernier accès est mise à jour (cela fait partie de la norme POSIX.1 c'est-à-dire IEEE 1003.1). Il existe des cas extrêmes où cela peut être prohibitif pour les performances. Dans ce cas, il est possible de l'éviter : dans la base de registre, il faut créer une valeur nommée NtfsDisableLastAccessUpdate (type DWORD, de donnée 1) dans la clé HKLM\SYSTEM\CurrentControlSet\Control\FileSystem.
Ce paramètre NtfsDisableLastAccessUpdate de Windows est à peu près l'équivalent du paramètre noatime d'Unix dans la commande mount (et dans le fichier de configuration fstab), la différence principale est que la clef de registre a un impact sur la totalité des lecteurs NTFS accédés alors que noatime peut être individuellement activé ou non sur chaque système de fichiers de Linux.
Notes et références
- (en)How NTFS Works, sur le site TechNET de Microsoft.
Limites s'appliquant à Windows 2000 (SP4), XP (SP1+) et Windows Server 2003 (lié aux implémentations de NTFS dans ses systèmes d'exploitation, sans ces Service Packs, la limite est encore moindre - puisqu'on se retrouve limité au modèle d'adressage « LBA28 bits » - soit 128 GiB). Ses limites sont liées au nombre maximum de clusters (232 - 1 pour la taille maximale de volume, et 228 - 1 pour la taille maximale de fichier), combinée avec la taille maximale d'un cluster, actuellement fixée à 64 KiB, c'est-à-dire un regroupement de maximum 128 (27 secteurs physiques de 512 bytes. - clusters - 1, permis d'après l'architecture théorique de NTFS. Soit 264
Voir aussi
Articles connexes
- Formatage
- Système de fichiers
- File Allocation Table : détaille les structures du système de fichier
- FAT12
- FAT16
- FAT32
Liens externes
- (en) How NTFS works sur le site de Microsoft
- (en) Le site du Linux-NTFS project
- (en) Pilote Captive
- (en) NtfsDisableLastAccessUpdate par Microsoft
Wikimedia Foundation. 2010.