Les systèmes de gestion de fichier (SGF)

publicité
Chapitre XI : Les systèmes de gestion de fichiers (SGF)
Les systèmes de fichier ont pour rôle d'organiser, en l'optimisant, l'implantation des données
sur le(s) disque(s) et autres mémoires externes.
Un cluster (ou unité d’allocation » ou bloc) est la plus petite unité de disque que le système
d’exploitation est capable de gérer. Un fichier occupe un nombre entier de cluster.
Plus la taille d’un cluster est importante, moins le système d’exploitation aura d’entités à gérer et plus
il sera rapide…
En contrepartie, étant donné qu’un système d’exploitation ne sait gérer que des unités d’allocation
entière, c’est-à-dire qu’un fichier occupe un nombre entier de cluster, le gaspillage d’espace disque
est d’autant plus grand que le secteur est grand. On comprend alors toute l’importance du choix du
système de gestion de fichiers.
1. Le différents types de formatage (rappel)
Le but du formatage de bas niveau est de diviser la surface des supports par exemple celui d’un
disque dur en éléments basiques: pistes, secteurs, cylindres
Le formatage de bas niveau a pour but de préparer la surface du disque à accueillir des données. Il ne
dépend donc pas du système d'exploitation et permet grâce à des tests effectués par le constructeur
de marquer les secteurs défectueux.
Le formatage logique d’un disque permet de créer un système de gestion de fichiers sur le disque, qui
va permettre à un système d'exploitation (DOS, Windows, UNIX, ...) d'utiliser l'espace disque pour
stocker et utiliser des fichiers.
Pour installer des systèmes d'exploitation de natures diverses il est nécessaire de créer des partitions
qui auront des SGF différents.
Les informations enregistrées lors d'un formatage logique sont :
• écriture du secteur d'amorçage des partitions,
• enregistrement de l'octet d'Identification système (ID System) dans la table des partitions du disque
dur,
• informations du système de fichiers sur l'espace disponible, l'emplacement des fichiers et des
répertoires...
• repérage des zones endommagées...
2. Le partitionnement (rappel)
Une fois formaté physiquement, le disque dur peut être divisé en plusieurs sections physiques ou
partitions. Une fois que la partition de disque a été formatée logiquement, elle est considérée comme
un volume.
On appelle partitionnement le processus qui consiste à écrire les secteurs qui constitueront la table de
partition qui contient les informations sur la partition: taille de celle-ci en terme de nombre de secteurs,
position par rapport à la partition principale, types de partitions présentes, systèmes d'exploitation
installés,...
Lorsque la partition est créée, on lui donne un nom de volume (ou de lecteur) qui va permettre de
l'identifier facilement. Il y a trois sortes de partitions: les partitions principales, étendues, ou les
lecteurs logiques.
Un disque peut contenir jusqu'à quatre partitions principales (dont une seule peut être active), ou trois
partitions principales et une partition étendue. Dans la partition étendue l'utilisateur peut créer des
lecteurs logiques (c'est-à-dire faire en sorte que l'on ait l'impression qu'il y a plusieurs disques durs de
taille moindre).
La partition active est représente la partition sur laquelle un des systèmes d'exploitation est démarré
au lancement de l'ordinateur. Les partitions autres que celle sur laquelle vous démarrez seront alors
cachées (au moment du boot). Ainsi, les données d'une partition principale ne sont accessibles qu'à
partir du système d'exploitation installé sur cette partition. Un fois l’ordinateur démarré, les données
contenues sur les autres partitions d’un SGF compatible avec l’OS actif sont alors accessibles, à
travers un nom de volume spécifique.
La partition étendue a été mise au point pour outrepasser la limite des quatre partitions principales, en
ayant la possibilité de créer autant de lecteurs logiques que vous désirez dans celle-ci. Au moins un
lecteur logique est nécessaire dans une partition étendue, car vous ne pouvez pas y stocker de
données directement.
Créer plusieurs partitions possède plusieurs avantages :
· installer plusieurs systèmes d'exploitation sur votre disque
· économiser de l'espace disque
· augmenter la sécurité de vos fichiers
· organiser les données plus facilement
La présence d’un fichier boot.ini sur le disque dur est associée à un système multi-boot. Ce fichier est
créé sur la partition principale active (en général sur la partition principale dos) et propose de charger
un des différents OS présents sur le disque et préalablement installés dans des partitions étendues.
3. Système de gestion de fichiers et système d'exploitation (rappel)
Le SGF est dépendant du système d’exploitation. D’une manière générale, plus le système
d’exploitation est récent plus le nombre de systèmes de fichiers supportés sera important.
Système d’exploitation
DOS
Windows 95
Windows 98
Windows NT4
Windows 2000 et XP
MacOS
Linux / Unix
Type de système de fichiers supportés
FAT 16
FAT 16,, FAT 32 (selon la version de Windows 95)
FAT 16, FAT 32 (selon la version de Windows 98)
NTFS
FAT 32, NTFS
HFS
EXT2, ReiserFS
4. Le système de gestion de fichiers FAT
Il comprend les éléments suivants :
· un enregistrement d'amorçage principal avec la "Table des partitions" (MBR),
· une zone réservée au secteur de chargement (Boot Loader),
· un exemplaire de la FAT,
· une copie optionnelle de la FAT,
· le répertoire principal ou répertoire racine,
· la zone des données et sous-répertoires.
Le secteur de démarrage (MBR) (cylindre 0, tête 0 et secteur 1) contient la table de partitions et le
code qui, une fois chargé en mémoire, va permettre d'amorcer le système (booter).
Ce programme, une fois en mémoire, va déterminer sur quelle partition le système va s'amorcer, et il
va démarrer le programme (appelé bootstrap) qui va amorcer le système d'exploitation présent sur
cette partition.
D'autre part, c'est ce secteur du disque qui contient toutes les informations relatives au disque dur
(fabricant, numéro de série, nombre d'octets par secteur, nombre de secteurs par cluster,…) Ce
secteur est le secteur le plus important du disque dur, il sert au setup du BIOS à reconnaître le disque
dur. Ainsi, sans celui-ci le disque dur est inutilisable, c'est donc une des cibles préférées des virus.
Ce secteur de démarrage est appelé le boot manager sous windows NT
Les répertoires stockent toutes les informations sur chaque fichier qu'ils contiennent
-le nom de fichier
-la taille du fichier
-la date et l'heure de la dernière modification du fichier
-les attributs du fichier (lecture seule, archive, …)
-le numéro du cluster auquel le fichier commence(les autres clusters constitutifs étant retrouvés par la
FAT
-le répertoire parent (pour les répertoires autre que racine).
Le système de gestion de fichier FAT utilise un répertoire racine (représenté sur les systèmes
d'exploitations qui utilisent ce type de systèmes de fichiers par le signe C:\ ) , qui doit être situé à un
endroit spécifique du disque dur.
Ce répertoire racine stocke les informations sur les sous-répertoires et fichiers qu'il contient.
Le système de gestion de fichier FAT est aussi caractérisé par l'utilisation d'une table
d'allocation de fichiers et de clusters (ou blocs).
La FAT (File Allocation Table: table d'allocation des fichiers) est le cœur du système de gestion de
fichiers. Elle est localisée dans le secteur 1 du cylindre 0 à la tête 1.
La Table d’Allocation de Fichiers est une liste de valeurs numériques permettant de décrire l’allocation
des clusters d’une partition, c’est-à-dire l’état de chaque cluster de la partition dont elle fait partie.
La table d’allocation est en fait un tableau dont chaque case (ou entrée) correspond à un cluster.
Chaque case contient un chiffre qui permet de savoir si le cluster qu’elle représente est utilisé par un
fichier, et, le cas échéant, indique l’emplacement du prochain cluster que le fichier occupe.
On obtient donc une chaîne FAT, c’est-à-dire une liste chaînée de références pointant vers les
différents clusters successifs, jusqu’au cluster de fin de fichier. Chaque entrée de la FAT a une
longueur de 16 ou 32 bits (selon qu’il s’agit d’une FAT16 ou d’une FAT32).
Les deux premières entrées permettent de stocker des informations sur la table elle-même, tandis que
les entrées suivantes permettent de référencer les clusters.
Certaines entrées peuvent contenir des valeurs indiquant un état du cluster spécifique. Ainsi la valeur
0000 indique que le cluster n’est pas utilisé, FFF7 permet de marquer le cluster comme défectueux
pour éviter de l’utiliser, et les valeurs comprises entre FFF8 et FFFF spécifient que le cluster contient
la fin d’un fichier. Chaque partition contient en réalité deux copies de la table, stockées de manière
contiguë sur le disque, afin de pouvoir la récupérer si jamais la première copie est corrompue.
Derrière la copie de la fat commence le répertoire principal.
Différentes évolutions des systèmes de gestion de fichiers FAT :
Les systèmes en FAT16 ne peuvent pas adresser les clusters sur plus de 16 bits. Le nombre
maximum de clusters repérables avec le système FAT est ainsi de 2^16 , soit 65535 clusters. Or,
étant donné qu’un cluster est constitué d’un nombre fixé (4,8,16,32,64) de secteurs de 512 octets
contigus, la taille maximale d’une partition FAT se trouve en multipliant le nombre maximum de
clusters par la taille d’un cluster.
Avec des clusters d’une taille 32Ko (64*512), la taille maximale d’une partition FAT est donc de 2Go
(32 768 * 65535)
Ainsi, quelle que soit la taille de la partition ou du disque les clusters doivent être suffisamment grands
pour que toute l'espace disque puisse être contenu dans ces 65525 clusters.
Ainsi, plus la taille du disque (ou de la partition) est importante, plus la taille des clusters doit être
importante. Le système FAT16 permet de décrire un fichier par un nom d’une longueur de 8
caractères et une extension qui en comporte 3.
Le système de gestion de fichiers FAT32 utilise des valeurs 32 bits pour les entrées de la FAT.
Avec l’apparition du système de fichiers FAT32, le nombre maximal de clusters par partition est passé
de 65535 à 268 435 456.
Le système de gestion de fichier FAT32 autorise donc des partitions d’une taille beaucoup plus élevée
(jusqu’à 2 téraoctets).
Puisqu’une partition FAT32 peut contenir beaucoup plus de clusters qu’une partition FAT16, il est
possible de réduire de façon signifiante la taille des clusters et de limiter par la même occasion le
gaspillage d’espace disque.
A titre d’exemple, pour une partition de 2Go, il est possible d’utiliser des clusters de 4Ko avec le
système FAT32 (au lieu de 32Ko en FAT16), ce qui diminue l’espace gaspillée par un facteur 8.
Le nombre de clusters étant limité, la taille maximale d'une partition dépend de la taille de chaque
cluster.
5. Le système de gestion de fichiers NTFS
NTFS (New Technology File System) utilise un système basé sur une structure appelée « table de
fichiers maître », ou MFT (Master File Table), permettant de contenir des informations détaillées sur
les fichiers . Ce système permet ainsi l’utilisation de noms longs, mais, contrairement au système
FAT32, il est sensible à la casse, c’est-à-dire qu’il est capable de différencier des noms en majuscules
de noms en minuscules.
Pour ce qui est des performances, l’accès aux fichiers sur une partition NTFS est plus rapide que sur
une partition de type FAT.
La limite physique d’un disque est de 2To. Les noms des fichiers peuvent comporter jusqu’à 255
caractères.
C’est au niveau de la sécurité que NTFS prend toute son importance, car il permet de définir des
attributs de sécurité pour chaque fichier (droits associés aux utilisateurs …).
La version 5 de ce système de fichiers (en standard sous Windows 2000) amène encore de nouvelles
fonctionnalités parmi lesquelles des performances accrues, des quotas de disque par volume définis
pour chaque utilisateur.
La table des fichiers maîtres : MFT
La FAT est un tableau de valeurs numériques dont chaque case permet de décrire l’allocation des
clusters d’une partition, c’est-à-dire l’état (l'occupation ou non par un fichier) de chaque cluster de la
partition dont elle fait partie.
Le système de fichiers NTFS est basé sur une structure différente, appelée table de fichiers maître,
contenant des enregistrements sur les fichiers et les répertoires de la partition.
Le premier enregistrement, appelé descripteur, contient des informations sur la MFT (une copie de
celui-ci est stockée dans le second enregistrement).
Le troisième enregistrement contient le fichier journal, un fichier qui contient es actions effectuées sur
la partition.
Les enregistrements suivants, constituant ce que l’on nomme le noyau, référencent chaque fichier et
répertoire de la partition sous forme d’objets affectés d’attributs.
Cela signifie que les informations relatives à chaque fichier sont stockées dans le fichier, qui est lui
même enregistré au sein de la MFT. La MFT représente donc une structure de stockage des données
de la partition, et non une liste de clusters.
6. Les systèmes de gestion de fichiers associés aux systèmes sous Linux / Unix
Sous les systèmes Linux / Unix, les SGF utilisent une table des inodes ce mode fonctionnement est
différent des SGF FAT ou NTFS. Ces inodes qui contiennent les informations relatives à chaque
fichier comme par exemple les droits d’accès, la taille du fichier.
Ext2 peut être considéré comme un système de gestion de fichiers standard pour les installations de
Linux. Les noms de fichiers peuvent comporter jusqu’à 255 caractères.
La taille maximale d’une partition est de 4 TeraOctets. La taille des clusters peut varier de 1 à 4 ko.
Sous linux, il existe également des systèmes de gestion de fichiers journalisés comme ReiserFS. Ces
systèmes de fichiers ont pour avantages de pouvoir revenir sur toutes modification du système et
permettent une détection rapide d’incohérences dans les fichiers.
Téléchargement