Vous êtes sur la page 1sur 38

Microsoft® Windows NT™

Le Système de fichiers NTFS


(New Technology File System)
PLAN

✔ Comparaison des systèmes de fichiers


✔ Les systèmes de fichiers FAT
✔ Les systèmes de fichiers HPFS
✔ Les systèmes de fichiers NTFS
Systèmes de fichiers

Windows NT gère :
✔ Des systèmes de fichiers différents pour
différents supports de données,
✔ CDFS (cd rom), FAT, HPFS (os2), NTFS,
✔ Canaux nommés (Network Protocol File
System),
✔ Boîtes aux lettres (Mail Slots File System),
✔ Des possibilité de partage sur réseau.
Comparaison des S.F.

FAT HPFS NTFS


Noms de fichiers 8,3 ASCII 254 DBCS 253 UNICODE
Taille des fichiers 4 Go 4 Go 16 Exao
Partitions 4 Go 2 To 16 Exao
Attributs Fixes Extensibles Extensibles
Répertoires Non triés Btree Btree
Allocation Clusters Secteurs Clusters
FAT
(File allocation table)
FAT
✔ Noms limités à la combinaison: 8.3,
✔ Noms en caractères ASCII majuscules,
✔ Pas de tri des répertoires,
✔ Attributs : lecture seule (R), caché (H), système (S),
archive (A), répertoire,
✔ Mise à jour de la FAT critique et longue (retour au
sommet du disque indispensable pour chaque mise à
jour de la FAT),
✔ Deux FAT pour assurer la cohérence,
✔ Mise en mémoire cache de la FAT possible pour
accélérer les accès.
FAT
Nom fichier Dern. modif. Attrib. Taille Premier cluster

Entrée de répertoire

00

Table FAT

✔ La Table FAT est au "sommet" du volume,


✔ 12 ou 16 bits par entrée de table.
DISQUETTE 1,44 MO (fat) :
REPERTOIRE RACINE
bit 0 : lecture seule
Attributs du fichier bit 1 : fichier caché
bit 2 : fichier système
bit 3 : volume
bit 4 : sous-répertoire
32 octets bit 5 : archive
bit 6 et 7 : non utilisés

Réservés

Nom Extension Date Taille

Heure N° premier bloc


HPFS
HPFS
✔ Introduit par OS/2® 1.2,
✔ Répond aux besoins du marché des serveurs de
réseaux locaux,
✔ Répertoires triés,
✔ Noms longs,
✔ Allocation dans des secteurs de longueur fixe,
✔ Super bloc : emplacement fixe (secteur 16), répertoire racine
(FNODE), disque irrécupérable en cas de perte,
✔ Bloc de rechange : table de réparation "à chaud" (hot fix),
blocs de répertoires de rechange.
HPFS
Entrée de répertoire
Allocation
FNODE B+Tree
En-tête
Nom fichier
Arbre fichiers Allocation
Allocation
B+Tree
B+Tree
Arbre AE/ACL

Allocation
B+Tree Allocation
B+Tree
Méthode d'allocation HPFS
Bitmap bande 2 Bitmap bande 4

8 Mo 8 Mo 8 Mo 8 Mo
Bande 1 Bande 2 Bande 3 Bande 4

Bitmap bande 1 Bitmap bande 3

Chaque bitmap d'allocation occupe 2000 octets


NTFS
(New Technology File System)
NTFS
✔ Introduit par Windows NT,
✔ Avantages des systèmes FAT et HPFS,
✔ Plus de sécurité et de souplesse,

Objectifs et priorités :
✔ Fiabilité totale,
✔ Possibilité d'ajout de fonctions,
✔ Gestion de la norme POSIX,
✔ Disparition des inconvénients des
systèmes de fichiers antérieurs.
Fiabilité
✔ Possibilité de récupération du système
de fichiers (distinct des données
utilisateur) grâce à des journaux de
transaction
✔ Suppression des pannes dues à des
secteurs uniques : pas d'objets spéciaux,
double de la table de fichiers principale
✔ Possibilité de réparation "à chaud"
Fonctions supplémentaires

✔ Plate-forme pour d'autres systèmes de


®
fichiers : AppleShare , NFS (Network
FS),
✔ Gestion obligatoire du modèle de
sécurité Windows NT,
✔ Gestion de streams (flux) de données
multiples.
Gestion de la norme POSIX
✔ HPFS, FAT ne gèrent pas POSIX,
✔ Respect des majuscules et des minuscules,
✔ Horodatage supplémentaires
(modification, dernier accès),
✔ Liens symboliques (.lnk) : deux noms de
fichiers différents (éventuellement situés
dans des répertoires distincts) peuvent
pointer sur le même fichier.
Disparition des inconvénients
✔ Fichiers et volumes de 264 octets,
✔ Allocation des données dans des
clusters, au lieu de secteurs de 512
octets,
✔ Gestion des noms Unicode,
✔ Gestion des noms longs et des noms au
format FAT (optionnel).
✔ Compression dynamique des volumes
Nouvelle Terminologie aussi...
✔ Volume : ensemble de fichiers (occurrence d'une
Main File Table),
✔ Fichier : ensemble d'attributs (enregistrement dans
la MFT +- 2 000 octets),
✔ Attribut : type, valeur, nom,
✔ Cluster : plus petite unité d'allocation,
✔ Stockage résident : valeur d'un attribut stockée dans
l'enregistrement du fichier,
✔ Stockage non résident : v a stockée dans un cluster
distinct de la table de fichiers principale,
✔ VCN, LCN : numéro de cluster virtuel, numéro de
cluster logique.
Attitude différente selon la taille

✔Petits fichiers,
✔Fichiers volumineux,
✔Fichiers très volumineux,
✔Petits répertoires,
✔Répertoires volumineux
Petits fichiers
E AIS NF Données DS

E - En-tête
AIS - Attribut d'information standard
NF - Attribut de nom de fichier
Données - résidentes
DS - Attribut Descripteur de sécurité (facultatif)

✔ Petit fichier : fichier doté d'un petit attribut


de données
Fichiers volumineux
E AIS NF Données DS

Données Données Données

E - En-tête
AIS - Attribut d'information standard
NF - Attribut de nom de fichier
Données - non résidentes
DS - Attribut descripteur de sécurité (facultatif)
Fichiers très volumineux
E AIS AE NF DS

Entrée MFT E Données

Données Données
E - En-tête
AIS - Attribut d'information standard
AE - Attribut externe
NF - Attribut de nom de fichier
DS - Attribut descripteur de sécurité (facultatif)
Données - Non résidentes
Petits répertoires
Index
E AIS NF < a.bat, 27 > < c.sys, 92 > .....
< xyz, NF(xyz) > < ### >

E - En-tête
AIS - Attribut d'information standard
NF - Attribut de nom de fichier
Index des fichiers de ce répertoire
### - Indique la fin de l'enregistrement

✔ Le répertoire prend lui aussi la forme d'un


enregistrement dans la MFT
Répertoires volumineux
Index
E AIS NF < d, NF(d), Vcn > < h, NF(h), Vcn > IA
.... < ####, Vcn >

< e, NF(e) > < f, NF(f) >


E <####>

< a, NF(a) > < b, NF(b) >


E <####>
< a, FN(a) > < b, FN(b) >
HE < i, NF(i) > < j, NF(j) >
<####>
<####>
Répertoires volumineux
✔ L'Index d'Attribut contient un certain
nombre de tampons B-tree,
✔ La racine de l'arbre reste dans l'index,
✔ Le numéro de cluster virtuel (VCN)
désigne les tampons B-tree contenant
des valeurs d'attributs inférieures aux
valeurs d'attributs stockées.
Fichiers système
✔ La table de fichiers principale (MFT) rend compte de
tout l'espace disque alloué,
✔ MFT et MFT en miroir,
✔ Consignation des modifications apportées au système
de fichiers,
✔ L'enregistrement d'amorçage est un fichier comme
les autres,
✔ Bitmap (image) d'allocation des clusters,
✔ Bitmap (image) d'allocation des clusters défectueux,
✔ Racine + MFT = 3,9 Mo d ’où pas de disquette en
NTFS.
Attributs
✔ Grand nombre d'attributs système,
✔ Tout attribut peut être un train de
données,
✔ Deux attributs intéressants :
– Nom de fichier FAT (nom MS-DOS®)
– Descripteur de sécurité
Nom de fichier FAT (1/2)
✔ Création automatique pour un fichier créé ou
renommé
✔ Méthode de conversion :
- Caractères interdits : remplacés par ""
- Suppression des espaces et autres caractères en trop
- Réutilisation des 6 premiers caractères
- Ajout de ~n
- Ajout des trois premiers caractères suivant le dernier point
- Logique valable jusqu ’à ~5
✔ Test Un de Un.G000.TXT = TESTUN~1.TXT
✔ Test Un de De.G000.TXT = TESTUN~2.TXT
Nom de fichier FAT (2/2)
✔ Génération de l ’alias jusqu ’au rang 5.
✔ Ensuite :
- Conservation des 2 premiers caractères,
- Hachage sur le nom de fichier produisant 4 car. Hexa,
- Ajout de ~5 (pour tous les alias).
✔ Logique liée à la structure Btree (profondeur
d ’arbre).
✔ W95 (W98) poursuit la logique après l ’alias de
rang 5.
Descripteurs de sécurité
✔ Les D.S. contiennent :
– Un champ d'audit (stratégie d'audit),
– Une liste de contrôle d'accès (Access Control List).
✔ Une ACL est une liste d'entrées de
contrôle d'accès (Access Control Entry)
– Chaque ACE est une zone binaire dans laquelle
sont définies les permissions d'un groupe ou d'un
utilisateur,
– Chaque action entreprise par un utilisateur est
soumise à la liste de contrôle d'accès appropriée.
Systèmes de fichiers récupérables

Deux précurseurs :
✔ Ecriture prudente
– FAT
✔ Ecriture retardée
– HPFS
– FAT (smartdrv version 4.x)
Ecriture prudente
✔ Ecriture sur disque de façon séquentielle,
✔ Contrôlée pour donner lieu à des
"incohérences prévisibles",
✔ Système peu performant,
✔ Complexité extrême sur les systèmes
multi-utilisateurs.
Ecriture retardée
✔ Mise en tampon et écriture lorsque le
système est inactif (stable),
✔ Performances supérieures,
✔ Nombre d'E/S réduit,
✔ Possibilité d'altération du volume,
✔ Récupération longue et coûteuse.
Système de fichiers récupérable
✔ Cohérence du système de fichiers
garantie par les journaux de transaction
✔ Récupération automatique lors du
premier montage du nouveau volume
suivant la panne
✔ Récupération plus rapide que pour le
système d'écriture retardée (sauvegarde
des journaux de transactions, non des
pointeurs)
Consignation des opérations
✔ Semblable à l'écriture dans une base
de données,
✔ Modifications du système de fichiers
– entérinées (commit)
– ignorées (rolled out)
Contrôle de la taille du fichier journal

✔ Maintenance périodique du journal


obligeant à la validation sur disque du
gestionnaire de cache (système).
✔ Le journal nettoyé ne doit plus contenir
que les transactions en cours (non
commitées).
✔ Réduit le temps nécessaire au
redémarrage en cas de problème.
Formatage et conversion
✔ Passage FAT ==> NTFS uniquement
(l'action est IRREVERSIBLE)

✔ Formatage :
– Commande : FORMAT X: /FS:NTFS

✔ Conversion sans perte de données :


– Commande : CONVERT X: /FS:NTFS