Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Edition 2001
ESAT / DGF / DMSI
page 2
ESAT / DGF / DMSI
6. ANNEXES..................................................................................................................................26
Tous les noms de produits ou de marques cités dans ce document sont des marques
déposées de leurs propriétaires respectifs.
page 3
ESAT / DGF / DMSI
Partie essentielle d’un système d’exploitation, le système de gestion de fichiers (SGF) d’un
ordinateur est responsable de l’organisation et de l’accès aux informations, aux données. Il doit établir un
lien fiable entre l’organisation logique prévue par l’utilisateur et la réalité physique des dispositifs de
stockage.
Pour l’utilisateur, un fichier est une entité de dimension arbitraire qui forme un tout. Pour le système de
gestion de fichiers, un fichier est une unité logique se présentant physiquement sous la forme d’un flot
d’octets. Il doit pouvoir gérer cette unité en fonction des espaces physiques disponibles sur les supports
périphériques.
Le programme de formatage de bas niveau détermine la taille des secteurs à utiliser (512 octets en
principe), le nombre de têtes, le nombre de cylindres (pistes) et le nombre de secteurs par piste. Il utilise des
informations codées dans le disque dur par le constructeur (ces informations figurent parfois également sur
une étiquette collée sur le disque). Il procède ensuite à l’initialisation (traçage) des pistes et secteurs sur le
support.
Dans le cas d'une disquette, ces informations sont standardisées en fonction du type de support (par
exemple, pour une disquette Haute Densité 3"1/2 pour un PC : 512 octets par secteur, 2 têtes, 80 pistes,18
secteurs par piste, soit 1.44Mo de capacité).
page 4
ESAT / DGF / DMSI
Ce programme vérifie tous les secteurs un par un, en les magnétisant et en lisant le résultat. Il stocke sur le
disque les informations d'erreurs éventuelles et d'identification pour chaque secteur. Par la suite, un secteur
va être accédé par un n° logique, or ce n° ne correspond jamais à l'ordre physique (réel) des secteurs.
En effet, compte tenu de l'inertie du mécanisme et du temps de lecture lui-même, quand on lit un secteur
donné au sens logique, il est impossible de lire le secteur suivant immédiatement, au sens physique du
terme, parce que, au moment de la lecture, la tête a déjà dépassé le début du secteur. On est alors obligé
de faire un tour complet pour pouvoir accéder de nouveau à ce secteur. Le secteur suivant, au sens logique,
se trouve donc physiquement plus loin. Ce décalage correspond à ce qu'on appelle le "facteur
d'entrelacement" (interleaving). Il dépend de la vitesse de rotation du disque et de la rapidité de traitement
du contrôleur de disque. Par exemple, un facteur d’entrelacement de 3 signifie qu’il faut sauter 2 secteurs
physiques après un accès à un secteur logique. Une erreur sur la saisie de ce facteur peut rendre le disque
inutilisable.
Par ailleurs, il peut exister un phénomène de translation de secteurs de façon à rendre compatible les
disques durs de grande taille, possédant quelques têtes mais de nombreux cylindres, avec les systèmes de
gestion de disque, limités en nombre de cylindres mais pouvant accepter jusqu’à 255 têtes différentes, en
diminuant fictivement le nombre de cylindres et en augment dans la même proportion le nombre de têtes.
Une table établira alors les correspondances entres les références physiques (tête réelle / cylindre réel /
secteur) et les références logiques (tête logique / cylindre logique / secteur).
• est effectué par le constructeur, qui possède toutes les données relatives à son produit,
• ne doit être effectué par un utilisateur averti que s’il possède effectivement le bon programme
de formatage et dans des cas bien particuliers : l’utilisateur sait ce qu’il fait, le disque à
récupérer est hors service, le disque n’est plus sous garantie, etc…
Le programme varie suivant les disques et est généralement fourni par le constructeur du disque (site Web).
Il est rarement compatible d'une marque à une autre. A ce stade, il ne s’agit encore que du disque physique
dans sa partie mécanique.
Le partitionnement d'un lecteur se fait après le formatage physique de ce lecteur. Il consiste à créer des
zones sur le disque dont les données ne seront pas mélangées. Cela va donc servir, par exemple, pour
installer des systèmes d'exploitation différents n'utilisant pas les mêmes systèmes de fichiers. Il y aura au
minimum autant de partitions que de systèmes d'exploitation utilisant des systèmes de fichiers différents.
Dans le cas d'un utilisateur d'un système d'exploitation unique, il y aura une seule partition recouvrant tout le
lecteur, sauf si l'utilisateur désire en créer plusieurs pour assurer une séparation entre le système, les
applications et les données.
On distingue trois types de partitions : partition principale, partition étendue, lecteur logique.
Par conception, 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 qui, en principe, ne contiendront pas de système d’exploitation car un tel
système ne pourra pas être utilisé (c’est de moins en moins le cas).
L’opération de création des partitions va consister à renseigner la table des partitions située en début de
disque dans le MBR (master boot record). Ces informations essentiellement physiques sont à la base du
repérage des informations sur les disque :
page 5
ESAT / DGF / DMSI
Après l’installation du secteur d’amorçage du système d’exploitation (premier secteur de la partition), cette
opération va permettre d’initialiser, sur le disque, les éléments permettant la gestion des fichiers. On pourra
ainsi trouver, pour un système de fichiers :
Cette organisation varie en fonction du type de système de fichiers prévu pour un système d'exploitation. Ce
type d'organisation est appelé aussi type de partition. Cette information se trouve, sous la forme d'un octet,
dans chaque entrée de la table des partitions primaires (MBR) ou secondaires (EBR, extended boot record).
Ainsi, pour des systèmes d’exploitation sur PC, on trouvera des organisations FAT (12, 16, 32), HPFS,
NTFS, EXT2 (liste non exhaustive).
Pour effectuer cette opération délicate de formatage, de nombreux outils sont disponibles, soit sous la forme
de commandes externes du système d’exploitation, soit en tant que produit particulier mis sur le marché par
certaines sociétés.
Si l’on considère le cas d’une installation du système d’exploitation DOS sur un disque vierge de capacité
compatible, le processus d’installation va :
page 6
ESAT / DGF / DMSI
La place étant préparée, le système d’exploitation va alors pouvoir s’installer (mise en place des fichiers du
noyau, création des sous-répertoires destinés à contenir le système, copie des fichiers du système
d’exploitation, …).
Le nom symbolique donné au fichier est l’élément majeur d’identification pour l’utilisateur. Respectant
certaines conventions, il sera suffisamment clair pour éviter toute équivoque. En fonction du système de
fichiers, ce nom peut connaître des limitations en matière de caractères autorisés ou de longueur.
Exemple 1 : MS-Dos n’autorise que des noms en ASCII pur et ne fait pas de différence de casse.
Les noms de fichiers TOTO.TXT et toto.txt sont identiques. Il n’autorise aucun caractère accentué, ni signe
de ponctuation (excepté le point qui précède l’extension).
Exemple 2 : Unix autorise des noms de l’ASCII étendu mais supporte peu les caractères accentués.
Mais contrairement à MS-Dos, il y a une différence au niveau de la casse : TOTO.TXT n’est pas le même
nom que toto.txt.
page 7
ESAT / DGF / DMSI
• Dans certains cas, le caractère espace est souvent la cause de bien des soucis (le système
considère que le nom est terminé et ne présente pas de suite).
2.1.1.3 LONGUEUR
La longueur du nom symbolique va être limitée par la taille du champ qui le contient dans la structure définie
pour le catalogue. Il peut aller de 11 caractères (8 pour le nom et 3 pour l’extension) pour MS-Dos à 253,
254 ou 255 caractères pour les systèmes de gestion de fichiers plus récents.
2.1.2 L’EXTENSION
L’extension est une caractéristique des systèmes de fichiers du monde MS-Dos et de ses dérivés. Cette
notion d’extension va permettre à l’utilisateur et au système d’exploitation de reconnaître le type de fichier
et, parfois, d’agir en conséquence.
Les fichiers possédant les extensions suivantes seront reconnus par le système comme étant des
exécutables : .com, .exe, .bat, .pif, .cmd.
L’utilisateur reconnaît la caractéristique de certains fichiers par leur extension : .bmp est un fichier image en
mode point, .txt est une fichier texte, .htm est une page web, …
Le système d’exploitation peut ouvrir un fichier dans une application grâce à une association faite au moyen
de l’extension : .txt sera ouvert dans le bloc notes (notepad.exe), .doc sera ouvert dans une application
gérant les fichiers au format word, .xls sera ouvert dans un tableur, …
Dans le monde Unix, l’extension éventuelle placée après le dernier point donne à l’utilisateur une idée du
type de fichier mais n’est pas prise en compte par le système d’exploitation : .tar est un fichier archive, .pl
est fichier source écrit en Perl. Le statut de fichier exécutable est porté par les droits posés sur le fichier
(rwX rwX rwX).
Comme précédemment, l’attribut tel qu’il est défini dans ce qui suit est une caractéristique du monde MS-
Dos et de ses dérivés. La présence d’un attribut va permettre de typer, d’une certaine manière, un fichier vis
à vis du système d’exploitation.
Ces attributs peuvent se combiner en fonction des résultats recherchés. D’autres attributs peuvent exister et
revêtir des formes particulières (voir plus loin compression et chiffrement).
Dans le monde Unix, cette forme d’attribut n’existe pas. On obtient des effets identiques voire supérieurs
avec la combinaison des droits posés sur les fichiers (rwx rwx rwx), ces droits correspondant respectivement
à l’utilisateur, au groupe d’utilisateurs et au propriétaire du fichier.
page 8
ESAT / DGF / DMSI
2.1.4 LA LOCALISATION
• le numéro de bloc où commence le fichier, dans le cas d’une allocation chaînée des blocs :
répertoire
4 5 6 1 7
8 9 6 10 11
12 13
• le numéro du bloc où se trouve la première table d’index, dans le cas d’une allocation indexée des
blocs :
répertoire
4 5 6 7
8 9 10 11
12 13
4
10 1
2
13
Pour un complément d’information, on se réfèrera plus loin dans ce chapître où la méthode d’allocation
chaînée est développée.
Le nombre maximum de blocs utilisables correspondra à la valeur du plus grand numéro de bloc possible.
Cette valeur sera liée au nombre d’octets que l’on va consacrer à la conservation de cette information. Par
exemple, si l’on dédie 2 octets à cette information, on aura une capacité de représentation de 2 16 soit 65536
blocs au maximum.
page 9
ESAT / DGF / DMSI
2.1.5 LA TAILLE
Cette information concernant la taille, associée à l’information de taille de bloc, permet entre autre de
déduire par calcul le nombre de blocs qui seront alloués au fichier.
L’information conservée ici sera la taille rigoureusement exacte et non une approximation issue d’un arrondi.
Il s’en suit un problème de taille maximum de fichier lié au nombre d’octets que l’on va utiliser pour
conserver cette information. Par exemple, si l’on consacre 3 octets à cette information, on aura une capacité
de représentation de 224 soit une taille maximum de 16 777 214 octets (16 Mo).
.
Par contre, l’information présentée à l’utilisateur pourra être un arrondi ou une valeur représentative. Par
exemple, une taille de fichier de 124 563 584 272 octets n’est pas parlante, il vaut mieux présenter une taille
de 116 Giga octets (taille arrondie mais significative). Cette capacité à présenter l’information est une des
fonctionnalités du système de gestion de fichiers.
Le groupe date-heure permet d’obtenir les informations de datation de différents fichiers. Ainsi, de façon
native, on aura un classement naturel des fichiers dans l’ordre chronologique. On peut obtenir les
informations de création ou, après la création, les informations de dernière modification.
Afin d’obtenir un repère homogène sur toute la planète, on pourra modifier ce groupe date et heure (GDH)
par une opération avec le fuseau horaire (GMT) ou par l’heure du lieu.
2.2.1 LE PROPRIÉTAIRE
L’information de propriété est intéressante au point de vue sécurité. Un utilisateur qui crée un fichier va en
devenir le propriétaire (owner, créateur propriétaire). Il aura des droits particuliers vis à vis du fichier.
Le besoin croissant de sécurité, de contrôle des actions des utilisateurs, entraîne une évolution des
fonctions des attributs, la création de droits particuliers, de permissions sur les fichiers. On retrouvera, sans
distinction de systèmes, les permissions ou les droits suivants, ceux-ci pouvant s’appliquer à une personne
ou un ensemble de personnes :
• Aucun droit : tout droit est refusé (mention restrictive la plus forte) ;
• Lire le contenu d’un répertoire (liste des fichiers et répertoires inclus) ;
• Lire le contenu d’un fichier (le fichier peut être ouvert, modifié mais ne peut pas être
enregistré dans son emplacement d’origine, l’utilisateur doit enregistrer ailleurs le fichier modifié) ;
• Ecrire dans un répertoire : ajout de fichier ou de répertoire dans un répertoire ;
• Ecrire dans un fichier : modification du contenu du fichier, le fichier peut être enregistré
dans son emplacement d’origine après modification ;
• Modification : droit global permettant la gestion des fichiers et répertoires (création,
modification, suppression) dans une partie de la structure de système de fichiers ;
• Contrôle total : droit maximum vis à vis de la structure du système de fichiers.
page 10
ESAT / DGF / DMSI
D’autres permissions peuvent être obtenues en combinant les permissions précédentes. Chaque ensemble
de permissions doit être examiné avec soin quand on aborde l’étude d’un système de fichiers. L’efficacité
des actes d’administration dépend étroitement de cette connaissance.
Ce groupe date-heure est une fonctionnalité supplémentaire qui va permettre de surveiller la ‘’vie’’ du fichier
ou du répertoire. Dans ce cas, le groupe date-heure de création est figé et seul le GDH de modification du
fichier est mis à jour. A ce stade de suivi, on pourra trouver une notion du type ‘’modifié tel jour à telle heure
par untel’’.
Afin de répondre à des impératifs de sécurité, on pourra historier les informations de modification dans une
structure particulière. On obtiendra alors la trace de la vie du fichier.
Comme précédemment, afin d’obtenir un repère homogène sur toute la planète, on pourra modifier ce
groupe date-heure par une opération avec le fuseau horaire (GMT) ou par l’heure du lieu où l’on se trouve.
Ce groupe date-heure constitue un cran de plus dans la surveillance de la ‘’vie’’ du fichier ou du répertoire.
Comme ci-dessus, on pourra trouver une notion du type ‘’accédé tel jour à telle heure par untel’’.
Comme précédemment, afin d’obtenir un repère homogène sur toute la planète, on pourra modifier ce
groupe date-heure par une opération avec le fuseau horaire (GMT) ou par l’heure du lieu où l’on se trouve.
Afin d’augmenter encore les caractéristiques de sécurité, on pourra historier les informations d’accès dans
une structure particulière. Ceci, combiné avec les deux fonctions précédentes, permettra d’obtenir le journal
complet de la vie du fichier. Il ne restera alors qu’à définir une procédure de marquage concernant la
suppression du fichier ou du répertoire et une stratégie quant à la conservation de ces informations
(manuelle ou automatique).
2.3.1 LA COMPRESSION
2.3.2 LE CHIFFREMENT
Des impératifs de sécurité peuvent entraîner la mise en œuvre du chiffrement sur un fichier, un répertoire ou
même une partition. A l’heure actuelle, aucun système de fichier ne propose de façon native la fonctionnalité
de chiffrement de ressource. Quelques produits existent sur le marché et offrent tous les fonctions de base :
page 11
ESAT / DGF / DMSI
• chiffrement de support amovible (disquette, disque zip, …) : le support ne peut être lu que
sur la machine qui l’a créé, l’accès au support est lié à la saisie d’une authentification.
• chiffrement de disque ou de partition : un couple disque (partition) + machine est créé, le
disque ne peut pas être lu sur une autre machine.
Nota 1 : en France, depuis le 1er janvier 1999, l’utilisation de produits de chiffrement est autorisée à la
condition que l’algorithme de chiffrement utilise une clé dont la longueur n’excède pas 128 bits.
page 12
ESAT / DGF / DMSI
Sur l’exemple qui suit, on peut ainsi considérer un fichier qui, après division du flot d’octets, sera composé
de 5 blocs. Le système va enregistrer ce fichier sur les blocs libres choisis : 02, 1A, 14, 48 et C0. On peut
noter que les blocs A9, AA et AB sont marqués comme défectueux et ne pourront donc être alloués.
Une convention de représentation peut être : case vide = bloc libre ; X = bloc occupé ; B = bloc défectueux.
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 X
1 X X
2
3
4 X
5
6
7
8
9
A B B B
B
C X
D
E
F
10
11
Une solution consiste à renseigner la table avec le chaînage des blocs. Au lieu de renseigner le bloc par un
marqueur d’état (libre, occupé), on va inscrire le numéro du bloc suivant dans la case concernant le bloc. La
case représentant le dernier bloc occupé par le fichier sera renseignée par un marqueur de fin de fichier (sur
l’exemple qui suit <FF> ; dans la plupart des cas <EOF> pour End Of File ).
Si l’on considère, à présent, notre fichier composé de 5 blocs, comme précédemment, le système va
enregistrer ce fichier sur les blocs libres choisis : 02, 1A, 14, 48 et C0. Par contre, chaque entrée de notre
tableau concernant le fichier va être maintenant renseignée de la façon suivante :
- premier bloc : 02, le bloc est occupé, le bloc suivant est le bloc 1A, (la façon dont on arrive sur le
premier bloc est abordée plus loin)
- deuxième bloc : 1A, le bloc est occupé, le bloc suivant est le bloc 14,
page 13
ESAT / DGF / DMSI
- troisième bloc : 14, le bloc est occupé, le bloc suivant est le bloc 48,
- quatrième bloc : 48, le bloc est occupé, le bloc suivant est le bloc C0,
- cinquième bloc : C0, le bloc est occupé et c’est le dernier bloc du fichier.
Etant donné cette logique de gestion, les quatre premiers blocs seront, sur le disque, totalement remplis.
Par contre, il y a de fortes chances pour que le cinquième bloc ne soit pas utilisé en totalité. Ceci justifie que
l’on porte une attention toute particulière à la taille que l’on va choisir pour ces blocs de façon à gaspiller le
moins de place disque possible.
Dans le cas où un fichier occupe une place inférieure ou égale à la taille d’un bloc, l’information portée dans
la case de référence du bloc sera l’information de fin de fichier (le bloc est occupé et il n’y a pas de bloc
suivant).
On peut encore noter que les blocs A9, AA et AB sont marqués comme défectueux et ne pourront donc être
alloués.
Une convention de représentation peut être : case vide = bloc libre ; <FF> = bloc contenant la fin du fichier ;
<B> = bloc défectueux.
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 1A
1 48 14
2
3
4 C0
5
6
7
8
9
A <B> <B> <B>
B
C <FF>
D
E
F
10
11
On arrive ici à un modèle de gestion des blocs proche de ce qui est connu sous le nom de table d’allocation
des fichiers (FAT : File Allocation Table).
Une autre solution consiste à référencer dans le premier bloc une table contenant tous les numéros de blocs
alloués au fichier. Dans cette table, les blocs sont ordonnés en fonction de l’allocation faite au fichier. Avec
ce système, les blocs sont marqués comme alloués, libres ou défectueux.
En reprenant l’exemple précédent, notre fichier est toujours composé de 5 blocs. Cependant, le système va
mobiliser un bloc supplémentaire pour référencer l’emplacement du disque qui contient la table décrivant
l’enchaînement des blocs.
page 14
ESAT / DGF / DMSI
Le bloc 2D marqué occupé contient, sur le disque, la table qui décrit la répartition du fichier sur les blocs :
02, 1A, 14, 48 et C0. Le chaînage n’apparaît plus dans la table d’allocation. Chaque entrée de notre tableau
concernant le fichier est renseignée de la façon suivante :
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 X
1 X X
2 X
3
4 X
5
6
7
8
9
A <B> <B> <B>
B
C X
D
E
F
10
11
02 1A 14 48 C0
Dans tous les cas évoqués ici, le numéro du premier bloc va figurer en information dans la table assurant la
liaison entre le nom symbolique donné au fichier (ou au répertoire) par l’utilisateur et sa localisation effective
sur le disque.
A la suite de la table qui reflète l’utilisation du disque, ou à un endroit du disque connu du système
d’exploitation, se trouve le premier tableau qui va assurer le lien entre le logique et le physique. En fonction
des systèmes, ce tableau porte divers noms (root, directory, racine, répertoire racine, …) mais il va toujours
assurer les mêmes fonctions. De façon à simplifier, en se basant sur certaines des informations
indispensables, on peut réaliser le tableau qui suit :
page 15
ESAT / DGF / DMSI
bloc
Nom_de_fichier_1 A 20/09/90 16 : 00 02
Nom_de_fichier_2 A 20/09/90 16 : 04 7A
Nom_donné_à_la_partition V 20/09/90 16 : 05
Nom_de_sous-répertoire_1 D 20/09/90 16 : 07 C2
Nom_de_fichier_3 H 20/09/90 16 : 08 F7
Nom_de_sous-répertoire_2 D 20/09/90 16 : 20 41
…. …. …. …. ….
Les effets de la création chronologique : le tableau est renseigné tout au long des créations, l’ordre
est chronologique croissant (colonnes date et heure).
Dans les deux premières lignes et la cinquième ligne : la création de fichiers avec la référence au
premier bloc où commence chaque fichier (colonne premier bloc). C’est avec cette information là
que se fait le lien avec la table décrite précédemment et avec la position physique du fichier sur le
disque. Il est à noter que deux noms symboliques appliqués à un fichier ne peuvent être identiques.
Si tel était le cas, on obtiendrait des homonymes et le système ne saurait lequel choisir ou prendrait
systématiquement le premier dans la table.
Dans la troisième ligne : le nom donné à la partition, l’attribut concerne un nom de volume (partition
définie et, par extension, nom donné à la partition), il n’y a pas de référence de bloc.
Dans les quatrième et sixième lignes : la création d’un répertoire. Pour le quatrième ligne, cette
opération va créer dans le bloc référencé en C2 un tableau de même structure :
L’opération de création de répertoire constitue le tableau ci-dessus vide avec les deux premières entrées
renseignées de façon particulière :
La première entrée porte le nom de point (.) et correspond à un répertoire. Si l’on regarde le numéro
de bloc, on constate qu’il correspond au bloc contenant le répertoire que l’on examine. Point ( .)
permet donc de retrouver le sommet du répertoire dans lequel on se trouve en cas de parcours
séquentiel. Point (.) est une référence au répertoire lui-même.
La deuxième entrée porte le nom de point point (..) et correspond à un répertoire. Si l’on regarde le
numéro de bloc, on constate qu’il n’est pas renseigné. Point point ( ..) permet de retrouver le
répertoire d’où l’on vient. Point point (..) est donc une référence au répertoire père de celui dans
lequel on se trouve. Dans le cas présent, l’entrée n’est pas renseignée car elle correspond au
répertoire racine (celui d’où l’on vient).
page 16
ESAT / DGF / DMSI
Ici, l’entrée point (.) fait référence à l’endroit où l’on se trouve (H4) et l’entrée point point (..) désigne la table
située en C2, où a été créée l’entrée de répertoire.
La commande de parcours (cd : change directory) et les deux entrées de parcours, (.) et (..), sont
quasiment universelles. Quel que soit le système d’exploitation :
Ce qui précède définit un système de gestion très simple destiné à illustrer les grands principes. Il est, bien
évidemment, loin de présenter toutes les fonctionnalités des systèmes de fichiers actuels.
page 17
ESAT / DGF / DMSI
Le système de fichiers FAT16, successeur de la FAT12, est le système utilisé par MS-DOS pour organiser
et gérer les fichiers. FAT s’appuie sur une table d'allocation de fichiers et sur des structures de clusters. Elle
constitue une structure de données que MS-DOS crée sur le disque lors du formatage logique de celui-ci.
La taille d’une partition FAT16 est limitée à 2 Go (2,048 Mo). En effet, les partitions FAT16 codent les
numéros de clusters sur 16 bits, le nombre maximal de clusters est donc limité à 216 = 65 536. Comme,
d’autre part, un cluster ne peut pas dépasser (sous DOS, Windows 95 et Windows 98) 32 768 octets, la
taille maximale d'une partition FAT16 est donc égale à 65536 x 32768 = 2 147 483 648 octets (2 Go ou
2048 Mo)
La taille de la partition détermine celle du cluster dans lequel les données sont stockées. Il peut en résulter
un gaspillage plus ou moins important d’espace disque dans le cas de partitions supérieures à 1 Go.
Les partitions FAT16 sont utilisées par la plupart des versions de DOS et de Windows 95. Elles sont prises
en charge par : Windows 95, Windows 98, Windows NT, DOS (incluant MS-DOS, PC-DOS et DR-DOS),
OS/2, Linux et d'autres systèmes d'exploitation.
FAT16x est un système de fichiers autorisant la création de partitions FAT au-delà du 1024ème cylindre.
Les codes qui définissent dans le MBR ces différents types de partition sont :
• 01h pour la FAT12 (< 10Mo),
• 04h pour la FAT16 (< 32 Mo),
• 06h pour la FAT16 (> 32 Mo et < 2 Go),
• 0Eh pour la FAT 16x (idem 06h + LBA).
FAT32 est une version améliorée du système de fichiers FAT Il comprend des entrées de table d'allocation
de fichiers de 32 bits, alors que le système FAT comprend des entrées de 16 bits. Le système FAT32 prend
ainsi en charge des tailles de disque ou de partition plus grandes (jusqu’à 2 teraoctets, 2047 Go).
Le système FAT32 peut prendre en charge des partitions jusqu'à 8 Go avec un cluster de seulement 4 Ko.
Les partitions jusqu'à 16 Go peuvent être utilisées avec un cluster de 8 K, ce qui réduit sensiblement
l'espace disque gaspillé.
Les partitions FAT32 (reconnues sous Windows 95 OSR2, Windows 98, Windows 2000) codent les clusters
sur 32 bits, le nombre maximal de clusters est donc limité à 232 = 4 294 967 296. La taille maximale
THÉORIQUE d'une partition FAT32 est donc égale à 232 x 32768 = 140 737 488 355 328 octets (128 téra
octets), mais, compte tenu de la limitation EIDE fixée sur les disques, la taille maximale réelle d'une partition
FAT32 est égale à 8 Go.
page 18
ESAT / DGF / DMSI
Pour dépasser cette limite, Microsoft a créé un nouveau type de partition, appelé FAT32X, supporté à
l'heure actuelle uniquement par Windows 95 OSR2, par Windows 98 et par Windows 2000, qui permet
d'utiliser des partitions de taille supérieure à cette limite des 8 Go. Elle est subordonnée obligatoirement à
l'utilisation des extensions de l'interruption 13h du BIOS (mode LBA). La FAT se trouve alors déplacée à la
fin de la partition (au lieu de suivre immédiatement le secteur de boot comme dans les autres cas).
Une partition FAT32 est accessible uniquement par Windows 95 OSR2 (version 4.00.950B), Windows 98,
Windows Me, Windows 2000 et les versions récentes de Linux.
DOS, Windows 3.x, Windows NT 3.51/4.0, les versions précédentes de Windows 95 et OS/2 ne
reconnaissent pas FAT32 de façon native et ne peuvent pas utiliser de fichiers sur une partition FAT32.
FAT32x autorise l’activation de partitions FAT32 au-delà du 1024ème cylindre. Windows 95 OSR2,
Windows 98 et Windows 2000 peuvent utiliser des partitions FAT32x.
Les codes qui définissent dans le MBR ces différents types de partition sont :
• 0Bh pour la FAT32 (> 2 Go et < 2047 Go),
• 0Ch pour la FAT32x (idem 0Bh + LBA).
La taille minimale d'une partition FAT32 est de 256 Mo ce qui interdit sont utilisation sur disquette.
HPFS (High Performance File System) est le système de fichiers d’OS/2 (version 1.2 et ultérieures), les
anciennes versions de Windows NT (v. 3.51 et versions précédentes) ou les versions de Windows NT qui
ont été mises à niveau à partir de v. 3.51 ou de versions plus récentes. Il est conçu pour accéder au disque
dur plus rapidement que le système FAT et en gaspillant beaucoup moins d'espace.
Le système HPFS alloue les données par secteurs, évitant ainsi le gaspillage lié à la mauvaise utilisation
des clusters. Les partitions HPFS sont utilisées uniquement par OS/2 et par certaines configurations de
Windows NT 3.51.
HPFS/386 est un système de fichiers utilisé par OS/2 Advanced Server caractérisé par l’utilisation de listes
de contrôle d'accès (ACL : access control list).
Dans ces deux systèmes de fichiers, chaque fichier et répertoire est relié à une structure appelée fnode.
Dans un système HPFS/386, chaque fnode dispose en plus d'un espace de stockage interne pour les ACL
et les attributs étendus (attributs de sécurité).
Le code qui définit dans le MBR ce type de partition est : 07h (pour HPFS et NTFS).
Sous Windows NT les disquettes sont formatées en FAT avec certaines particularités :
• la taille disponible passe de 1,44 Mo à 1,38 Mo ;
page 19
ESAT / DGF / DMSI
• la disquette est formatée système pour Windows NT et devient une disquette système après
la copie à la main de certains fichiers du système d’exploitation ;
• on ne peut pas créer de disquette système Dos sous Windows NT mais on peut dupliquer
une disquette système MS-Dos originale.
Le code qui définit dans le MBR ce type de partition est : 07h (pour HPFS et NTFS).
Il est déconseillé d'utiliser le système de fichiers NTFS sur des disques inférieurs à 400 Mo, car ce système
utilise une grande quantité d'espace pour la structure du système (MFT : main file table). La taille de
l’amorce du système de gestion de fichiers est supérieure à la taille d’une disquette.
Le système de fichiers Linux Ext2 est uniquement accessible par Linux et reste conforme aux
caractéristiques des systèmes de fichiers d'UNIX. Il prend en charge une taille de partition maximale de 4
téra octets.
Linux Swap est le système de fichiers de la partition de swap de Linux. Sa taille maximale est de 128 Mo. La
taille par défaut qui s'affiche lorsqu’une partition d'échange Linux est créée peut être légèrement supérieure
en raison de la géométrie physique du disque dur.
Les codes qui définissent dans le MBR ces types de partition sont :
• 83h pour la Linux Ext2 (Linux native),
• 82h pour la Linux Swap.
Certains systèmes d'exploitation peuvent accéder, par leurs caractéristiques propres ou avec des outils
externes, à des systèmes de fichiers fonctionnant sur d'autres systèmes d’exploitation.
• Un grand nombre de systèmes Unix, dont Linux, savent accéder aux partitions de type FAT,
• Windows NT4, avec service pack 4 ou ultérieur, permet l'accès à des partitions Windows 2000
(NTFS5),
• Windows NT4 peut accéder à des partitions FAT32 à l’aide d’un driver (FAT32.SYS) ,
• L’outil Samba (Linux) permet de voir en réseau un système de fichiers Microsoft à partir du
monde Linux et inversement,
• …
Ces possibilités seront à examiner au cas par cas pour chaque système d’exploitation chaque fois que l’on a
affaire à des milieux hétérogènes.
page 20
ESAT / DGF / DMSI
CDFS (compact disc file system) est le système de fichiers de votre CD qui présente des formats différents
selon son utilisation (audio, programmes, photos).
La corbeille (poubelle, trash box) qui permet de récupérer des fichiers et répertoires effacés par
inadvertance est un système de fichier qui gère, en général, l’endroit d’où vient le fichier (répertoire).
L’effacement n’a vraiment lieu que lorsque la corbeille est vidée.
Le client de messagerie offre une structure semblable à des répertoires pour répartir et trier le courrier
électronique reçu. Ceci est aussi un système de fichiers particulier.
Et bien d’autres …
page 21
ESAT / DGF / DMSI
secteur 1
secteur 2
piste 0 piste 1
Immédiatement après, sans aucune autre intervention de l’utilisateur, le formatage logique installe le
système de gestion de fichiers sur la disquette.
secteurs 1 à 9 :
1° exemplaire de la FAT
secteurs 10 à 18 :
2° exemplaire de la FAT
secteurs 19 à 32 :
catalogue (racine)
page 22
ESAT / DGF / DMSI
- un secteur de boot (premier secteur du support : secteur 0) qui porte les informations
concernant le système de fichiers et fournit les fonctionnalités d'une disquette système
bootable. Dans ce cas, la petite routine qui se trouve dans ce secteur charge les fichiers de
MS/DOS (les deux fichiers du noyau : msdos.sys et io.sys). Si la disquette n’est pas une
disquette système, on retrouve les caractéristiques de la disquette et des messages d’erreur.
- la FAT (File Allocation Table : table d'allocation des fichiers) qui contient la liste des secteurs
du disque utilisés par chaque fichier et sous-répertoire : secteurs 1 à 9.
- un catalogue (directory) qui contient la liste des fichiers et sous-répertoires éventuels et leurs
attributs : secteurs 19 à 32.
Une disquette 1,44 MO contient 2880 secteurs il reste donc 2880-32 = 2848 secteurs pour les utilisateurs.
Sous MS-DOS tous les disques sont formatés par secteurs de 512 octets. En outre, MS-DOS définit une
unité d'allocation de ressources appelée cluster : cette unité est la quantité minimale de la ressource
pouvant être attribuée à un programme sur le support. Dans le cas d'une disquette 1,44 MO le cluster
représente 2 secteurs soit 1024 octets (1 Ko). Quelle que soit la taille d'un fichier, celui-ci occupera un
nombre entier de clusters.
Chaque entrée de la FAT contient des informations sur l'état du cluster considéré selon les codes suivants :
000 : disponible,
FF0 à FF6 : réservé au DOS,
FF7 : détruit ou rayé de la FAT,
FF8 à FFF : dernier cluster alloué à un fichier,
XXXX : numéro relatif au prochain cluster alloué au fichier.
Ce système permet le chaînage des clusters alloués à un fichier, on remonte ainsi la chaîne jusqu'à la
lecture de FF8, FF9 ou FFF.
On trouve dans ce catalogue toutes les informations sur les fichiers. Certaines de ces informations sont
accessibles sous MS-DOS par la commande dir. Le répertoire racine est découpé en entrées de répertoire
de 32 octets chacune comme l’illustre le schéma qui suit :
page 23
ESAT / DGF / DMSI
Le positionnement à 1 des différents bits peut se combiner pour obtenir l’effet désiré. Le positionnement des
bits s’effectue par la commande attrib.
Le répertoire racine occupe 14 secteurs (19 à 32) c'est à dire 14 X 512 octets = 7168 octets.
Chaque entrée du catalogue fait 32 octets, on va donc pouvoir décrire 7168 / 32 = 224 fichiers ou
sous répertoires dans le répertoire racine.
La déclaration d’un sous répertoire (commande mkdir ou md) met en œuvre le même mécanisme que pour
un fichier mais positionne le bit 4 de l'octet attribut à 1 et ne mentionne pas la taille du fichier. Il y a alors
création d’une structure quasiment identique à celle du répertoire racine. Deux entrées sont
automatiquement créées dans ce catalogue de sous répertoire :
• L’entrée « . » qui porte en numéro de cluster celui qui contient le catalogue lui-même
page 24
ESAT / DGF / DMSI
• L’entrée « .. » qui porte en numéro de cluster celui qui contient le catalogue père du
catalogue où l’on se trouve.
Suivant le même principe, un sous-répertoire pourra lui-même contenir d'autres sous-répertoires en plus de
ses propres fichiers.
Le fichier est ensuite recherché dans le catalogue du disque grâce à son nom (parcours séquentiel). A
l’entrée correspondante, on récupère le numéro du premier cluster alloué au fichier.
Ce cluster est alors transféré à sont tour en mémoire centrale. Les informations de chaînage contenues
dans la table d’allocation permettent de procéder au chargement de la totalité du fichier jusqu'à ce que l'on
arrive au cluster portant la marque de fin de fichier.
page 25
ESAT / DGF / DMSI
6. ANNEXES
Taille de la partition Type de système FAT Nombre de secteurs Taille des clusters
(en Mo) par cluster
0 - 15 12 bits 8 512 octets
16 - 127 16 bits 4 2 Ko
128 - 255 16 bits 8 4 Ko
256 - 511 16 bits 16 8 Ko
512 - 1 023 16 bits 32 16 Ko
1 024 - 2 047 16 bits 64 32 Ko
2 048 - 4 096 16 bits 128 64 Ko*
*Uniquement disponible avec Windows NT et Windows 2000 pour un disque de 2 à 4 Go.
Les tailles exprimées ici concernent Windows 95 OSR2, Windows 98, Windows Me et Windows 2000.
Taille de la partition (en Go) Nombre de secteurs par Taille des clusters
cluster
0,256 - 8,01 8 4 Ko
8,02 - 16,02 16 8 Ko
16,03 - 32,04 32 16 Ko
> 32,04 64 32 Ko
page 26
ESAT / DGF / DMSI
page 27