Vous êtes sur la page 1sur 27

ESAT / DGF / DMSI

GENERALITES SUR LES


SYSTEMES D'EXPLOITATION
CHAPITRE 11

Edition 2001
ESAT / DGF / DMSI

SOMMAIRE : GESTION DES FICHIERS

1. CARACTERISTIQUES DES DISPOSITIFS DE STOCKAGE.....................................................4

1.1 FORMATAGE DE BAS NIVEAU................................................................................................................4


1.2 CRÉATION DES PARTITIONS.................................................................................................................5
1.3 FORMATAGE LOGIQUE........................................................................................................................6

2. CARACTÉRISTIQUES DES FICHIERS......................................................................................7

2.1 INFORMATIONS NÉCESSAIRES AU SYSTÈME..............................................................................................7


2.1.1 LE NOM DE FICHIER (NOM SYMBOLIQUE).............................................................................................7
2.1.2 L’EXTENSION...............................................................................................................................8
2.1.3 LES ATTRIBUTS..........................................................................................................................8
2.1.4 LA LOCALISATION.........................................................................................................................9
2.1.5 LA TAILLE................................................................................................................................10
2.1.6 LA DATE ET L’HEURE DE CRÉATION / MODIFICATION....................................................................10
2.2 INFORMATIONS COMPLÉMENTAIRES......................................................................................................10
2.2.1 LE PROPRIÉTAIRE......................................................................................................................10
2.2.2 LES PERMISSIONS, LES DROITS...................................................................................................10
2.2.3 LA DATE ET L’HEURE DE DERNIÈRE MODIFICATION..............................................................................11
2.2.4 LA DATE ET L’HEURE DE DERNIER ACCÈS.........................................................................................11
2.3 FONCTIONNALITÉS SUPPLÉMENTAIRES..................................................................................................11
2.3.1 LA COMPRESSION......................................................................................................................11
2.3.2 LE CHIFFREMENT.......................................................................................................................11

3. CONSTRUCTION D’UN SGF....................................................................................................13

3.1 RENDRE COMPTE DE L’OCCUPATION DU DISQUE......................................................................................13


3.1.1 ALLOCATION DES BLOCS CHAINÉE.............................................................................................13
3.1.2 ALLOCATION DES BLOCS INDEXÉE..............................................................................................14
3.2 GÉRER L’ORGANISATION LOGIQUE DES DONNÉES....................................................................................15
3.3 PARCOURIR LE RÉPERTOIRE ET LES SOUS RÉPERTOIRES......................................................................17

4. SYSTÈMES DE FICHIERS POUR PC......................................................................................18

4.1 FAT16 ET FAT16X (MICROSOFT)..................................................................................................18


4.2 FAT32 ET FAT32X(MICROSOFT)...................................................................................................18
4.3 HPFS ET HPFS/386 (OS/2)......................................................................................................19
4.4 NTFS (MICROSOFT).....................................................................................................................19
4.5 LINUX EXT2 ET LINUX SWAP...........................................................................................................20
4.6 VISIBILITE DES SYSTEMES DE FICHIERS..........................................................................20
4.7 QUELQUES SYSTEMES DE FICHIERS PARTICULIERS............................................................20

5. EXEMPLE : LE SYSTÈME DE FICHIERS DE MS-DOS SUR UNE DISQUETTE 3,5’’.............22

page 2
ESAT / DGF / DMSI

5.1 CREATION ET DESCRIPTION DU SYSTÈME.............................................................................22


5.2 DESCRIPTION DE LA FAT.......................................................................................................23
5.3 COMPOSITION DU RÉPERTOIRE RACINE (DIRECTORY).................................................................................23
5.4 RECHERCHE D’UN FICHIER SUR LA DISQUETTE.................................................................................25

6. ANNEXES..................................................................................................................................26

6.1 LIMITES DES TAILLES DE PARTITION..............................................................................................26


6.2 TAILLES DE CLUSTERS FAT PAR DÉFAUT............................................................................................26
6.3 TAILLES DE CLUSTERS FAT32 PAR DÉFAUT........................................................................................26
6.4 NOMBRE D'ENTRÉES À LA RACINE D'UNE FAT......................................................................................27

Dépôt des marques :

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.

Un système de gestion de fichiers doit :

• permettre la création et la suppression de fichiers ;


• permettre l’accès aux fichiers en lecture et en écriture ;
• gérer automatiquement les mémoires de masse dont l’utilisateur ne doit pas
s’occuper ;
• permettre d’appeler les fichiers par un nom symbolique que manipulera l’utilisateur ;
• protéger les fichiers contre les défaillances du système de façon à assurer leur
intégrité ;
• permettre le partage de fichiers entre utilisateurs tout en les protégeant si possible
contre les accès non autorisés.

1. CARACTERISTIQUES DES DISPOSITIFS DE STOCKAGE


Avant de pouvoir être utilisé, un support de stockage doit subir un certain nombre d’opérations.
Seuls les cas des disquettes et des disques durs seront traités dans ce qui suit.

Pour un disque dur :


• Un formatage de bas niveau ;
• La création d’une (ou plusieurs) partition(s) ;
• Le formatage logique de chaque partition créée.

Pour une disquette :


• Un formatage de bas niveau suivi immédiatement par un formatage logique.

1.1 FORMATAGE DE BAS NIVEAU


Ce formatage de bas niveau est en fait un formatage physique du support. C’est une opération magnétique,
effectuée :
• une fois pour toute en usine par le constructeur d'un disque dur ;
• chaque fois que l'on formate une disquette (sauf dans le cas d’un formatage rapide).

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).

En principe, le formatage de bas niveau d'un disque dur :

• 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.

1.2 CRÉATION DES PARTITIONS


Cette deuxième opération qui n’est utile que pour les disques durs de grande capacité, va permettre de
créer des entités de gestion, des lecteurs : les partitions.

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

• tête, secteur et cylindre où commence la partition ;


• tête, secteur et cylindre où se termine la partition ;
• nombre de secteurs ;
• état de la partition ;
• type de la partition.

1.3 FORMATAGE LOGIQUE

Ce formatage va procéder à l’installation de l’amorçage du système d’exploitation et du système de fichiers


sur le disque.

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 :

• un tableau ou un ensemble de tableaux reflétant l’occupation du disque ;


• un catalogue (liste, répertoire) destiné à recevoir les informations de gestion concernant tout
ce qui va être créé sur le disque (fichiers ou sous-répertoires) et qui va ainsi constituer la racine
du système de fichiers ;
• un catalogue (liste, répertoire) destiné à recevoir les informations de sécurité concernant
tout ce qui va être créé sur le disque (fichiers ou sous-répertoires) ;
• un tableau ou un ensemble de tableaux faisant le lien entre les informations de gestion et les
informations de sécurité ;
• …
• pour répondre à des impératifs de sécurité, ces éléments pourront être redondants.

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.

• Pour MS-Dos, Windows 9x : format.com,


• Pour Windows NT4 : windisk.exe (Administrateur de disques), format.com (pour NT),
• Pour Linux (Unix) : hdformat (vérification de la partition et bourrage par valeurs neutres)
suivi de mkfs (installation du système de fichiers).

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 :

• Créer une partition en appliquant les limites de taille liées au système ;


• Formater cette partition en créant :
• le secteur de démarrage (bootsector) du système ;
• une table d’allocation des fichiers (fat : file allocation table) reflet de l’occupation
et de l’état de tous les unités d’allocation (secteurs, clusters) de la partition ;
• une copie de sécurité de la table d’allocation des fichiers ;
• le catalogue principal (répertoire racine) limité en taille.

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, …).

2. CARACTÉRISTIQUES DES FICHIERS


Sans s’occuper du contenu du fichier, un certain nombre d’informations vont être nécessaires au système
ou à l’utilisateur et vont constituer les caractéristiques externes du fichier. On ne traitera pas de
l’organisation interne du fichier.

2.1 INFORMATIONS NÉCESSAIRES AU SYSTÈME


Les informations qui suivent sont indispensables au système pour assurer une gestion cohérente des
fichiers.

2.1.1 LE NOM DE FICHIER (NOM SYMBOLIQUE)

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.

2.1.1.1 CARACTÈRES AUTORISÉS


Selon le système, le jeu de caractères pouvant servir à donner un nom symbolique sera différent. Depuis
l’ASCII pur, sans distinction de casse (différenciation majuscules minuscules), jusqu’à l’ASCII étendu en
tenant compte de la casse, toutes les variantes sont possibles (à l’exception de quelques caractères
interdits).

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.

2.1.1.2 CARACTÈRES INTERDITS


Quel que soit le système retenu, certains caractères seront interdits. Ce sont des caractères utilisés par
d’autres fonctions du système d’exploitation.

On peut citer, par exemple :


• Le caractère : utilisé pour séparer une lettre de lecteur logique ;
• Le caractère \ utilisé pour décrire un chemin, ou sa version réseau \\ ;
ou sa version du monde unix / ;
• Le point n’est pas forcément géré comme séparateur d’extension, il peut (doit) être unique
ou multiple ;
• Le caractère souligné _ (underscore), souvent utilisé pour remplacer un espace, n’est pas
toléré dans des noms symboliques destinés à l’Internet ;

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).

2.1.3 LES ATTRIBUTS

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.

Visant une sécurité minimale, les attributs courants sont :


• R : read only, le fichier accessible uniquement en lecture.
• S : system, le fichier est un fichier système.
• H : hidden, le fichier est caché à l’utilisateur dans la configuration normale du
système.
• A : archive, le fichier a subi un archivage (lecteur, cartouche, …).
• V : volume, cet attribut caractérise un nom de volume, nom symbolique donné à une
partition.
• D : directory, cet attribut caractérise un sous – répertoire.

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

L’information de localisation pourra être :

• le numéro de bloc où commence le fichier, dans le cas d’une allocation chaînée des blocs :

répertoire

Fichier début fin


0 1 3 2 3 -1 Jeep 9 3

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

Fichier bloc d ’index


0 1 2 3 Jeep 10

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.

2.1.6 LA DATE ET L’HEURE DE CRÉATION / MODIFICATION

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 INFORMATIONS COMPLÉMENTAIRES

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.

2.2.2 LES PERMISSIONS, LES DROITS

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.

2.2.3 LA DATE ET L’HEURE DE DERNIÈRE MODIFICATION

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.

2.2.4 LA DATE ET L’HEURE DE DERNIER ACCÈS

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 FONCTIONNALITÉS SUPPLÉMENTAIRES

2.3.1 LA COMPRESSION

Certains systèmes de fichiers offrent la possibilité de compresser un fichier, un ensemble de fichiers, un


répertoire ou la partition complète. Cette fonctionnalité est soit native soit obtenue par l’ajout d’un
programme particulier. Il est à noter que cette compression (décompression) passe par une phase
importante de calcul et va donc solliciter le processeur.
Etant donné la taille actuelle des disques, la compression de ressources doit rester exceptionnelle car, bien
que l’on puisse considérer la compression comme fiable, elle modifie le contenu du fichier (répertoire).
L’information portée n’est plus celle créée par l’utilisateur.

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.

Comme pour la compression, le contenu est modifié.

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.

Nota 2 : en matière d’informations Classifiées de Défense, l’utilisation d’outils (logiciels ou


mécanismes) de chiffrement est subordonnée à l’évaluation et à l’agrément de la Direction Centrale
de la Sécurité des Systèmes d’Information (ex SCSSI) dépendant du Secrétariat Général de la
Défense Nationale (SGDN).

page 12
ESAT / DGF / DMSI

3. CONSTRUCTION D’UN SGF

3.1 RENDRE COMPTE DE L’OCCUPATION DU DISQUE


Une table positionnée à un endroit fixé du disque contient les informations concernant tous les blocs (unités
d’allocation) : chaque bloc est libre, alloué ou défectueux. Le système peut alors choisir dans les blocs libres
ceux qu’il va allouer au fichier à stocker.

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

3.1.1 ALLOCATION DES BLOCS CHAINÉE

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).

3.1.2 ALLOCATION DES BLOCS INDEXÉE

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

La table référencée en 2D pourrait ressembler à ceci :

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.

3.2 GÉRER L’ORGANISATION LOGIQUE DES DONNÉES

Le deuxième élément du système va permettre de répondre au besoin d’organisation conforme à la logique


de l’utilisateur. Partant du nom symbolique donné à un fichier ou un répertoire, il va assurer la liaison avec
l’espace physique qui reçoit ou contient les données.

L’exemple développé à partir d’ici, mettra en évidence les principales caractéristiques.

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 :

Nom Attribut Date Heure Emplacement


du premier

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
…. …. …. …. ….

On peut constater ici :

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 :

Nom Attribut Date Heure Premier bloc


. D 20/09/90 16 : 07 C2
.. D 20/09/90 16 : 07

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).

Si, maintenant, on crée un répertoire dans ce tableau, …

page 16
ESAT / DGF / DMSI

Nom Attribut Date Heure Premier bloc


. D 20/09/90 16 : 07 C2
.. D 20/09/90 16 : 07
Nom_de_sous-répertoire_11 D 20/09/90 18 : 23 H4

… on crée dans le bloc référencé en H4, le tableau suivant :

Nom Attribut Date Heure Premier bloc


. D 20/09/90 18 : 23 H4
.. D 20/09/90 18 : 23 C2

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.

3.3 PARCOURIR LE RÉPERTOIRE ET LES SOUS RÉPERTOIRES


Dans tout l’exemple développé précédemment, le parcours des tables à la recherche d’un nom symbolique
va se faire de façon séquentielle à partir du répertoire racine. Tous les sous-répertoires seront parcourus
jusqu’à ce que la première occurrence du nom symbolique recherché soit trouvée.

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 :

• cd chemin_de_répertoire (path) : passe du répertoire courant au répertoire spécifié ;


• cd . : permet de se repositionner en haut de la table du répertoire courant ;
• cd .. : permet de se positionner en haut de la table du répertoire père (celui d’où l’on vient).

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

4. SYSTÈMES DE FICHIERS POUR PC


Quelques systèmes de fichiers sont décrits dans ce qui suit. On ne retrouvera pas la totalité des
informations, mais des caractéristiques intéressantes et surtout limitatives.

4.1 FAT16 ET FAT16X (MICROSOFT)

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).

Ce système de fichiers est utilisable sur disquette.

4.2 FAT32 ET FAT32X(MICROSOFT)

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.

4.3 HPFS ET HPFS/386 (OS/2)

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).

4.4 NTFS (MICROSOFT)


Le système de fichiers NTFS (New Technology File System) a été spécialement développé pour Windows
NT et est accessible à la fois par Windows NT et par Windows 2000. Il prend en charge le système de
protection améliorée disponible via ce système d'exploitation, les listes de contrôle d’accès, la restauration
du système de fichiers, la compression dynamique des volumes et la gestion de supports de stockage très
volumineux.

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.

4.5 LINUX EXT2 ET LINUX SWAP

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.

4.6 VISIBILITE DES SYSTEMES DE FICHIERS

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.

Voici quelques exemples de visibilité entre systèmes d’exploitation et systèmes de fichiers :

• 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.

4.7 QUELQUES SYSTEMES DE FICHIERS PARTICULIERS


Les systèmes d’exploitation actuels utilisent, sans qu’il y soit fait référence de façon explicite, des systèmes
de fichiers particuliers. Dans un environnement de travail standard, on trouvera notamment :

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

5. EXEMPLE : LE SYSTÈME DE FICHIERS DE MS-DOS SUR


UNE DISQUETTE 3,5’’
Afin de récapituler les notions précédentes, l’exemple qui suit présente le système de gestion de fichiers
installé sur une disquette de 3,5’’, de capacité 1,44 Mo, formatée sous MS-DOS.

5.1 CREATION ET DESCRIPTION DU SYSTÈME


Le formatage physique (formatage de bas niveau) s'effectue en première phase du formatage. Il assure le
traçage des pistes magnétiques sur la surface des disques et le découpage de ces pistes en secteurs.

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.

secteur 0 : secteur de Boot

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

Une fois formatée (commande format.com), se trouvent sur la disquette :

- 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.

- une copie de sûreté de la FAT : secteurs 10 à 18.

- 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.

5.2 DESCRIPTION DE LA FAT


La FAT est une suite de mots de deux octets ; chaque mot est appelé "entrée de FAT" et fait donc 16 bits.

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.

5.3 COMPOSITION DU RÉPERTOIRE RACINE (DIRECTORY)

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

Attributs du fichier bit 0 : lecture seule


bit 1 : fichier caché
bit 2 : fichier système
bit 3 : volume
bit 4 : sous-répertoire
bit 5 : archive
bit 6 et 7 : non utilisés
Réservés

Nom Extension Date Taille

Heure N° premier bloc

Pour une entrée de répertoire, on a la structure suivante :

Nom du fichier (nom + extension) : 11 octets,


Attributs du fichier : 1 octet,
Réservés (non utilisés) : 10 octets,
Date de création ou modification : 2 octets,
Heure de création ou modification : 2 octets,
N° du premier bloc (cluster) du fichier : 2 octets,
(ce qui limite à 216 , soit 65536, le nombre de blocs ‘’adressables’’)
Taille du fichier : 4 octets.

Les bits de l'octet d'attributs de l’entrée de catalogue signifient :

Etat du bit L’entrée de catalogue …


bit 0 positionné à 1 est accessible seulement en lecture, statut read only (modification impossible)
bit 1 positionné à 1 est une entrée cachée, statut hidden (invisible par la commande dir)
bit 2 positionné à 1 est une entrée système, statut system
bit 3 positionné à 1 décrit un volume, statut volume (nom de volume donné à la disquette, partition)
bit 4 positionné à 1 décrit un sous-répertoire, statut directory (taille à zéro)
bit 5 positionné à 1 est une entrée archive, statut archive (fichier archivé)
bit 6 non utilisé
bit 7 non utilisé

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.

5.4 RECHERCHE D’UN FICHIER SUR LA DISQUETTE


Dans un premier temps, la FAT et le catalogue de la disquette sont chargés en mémoire centrale pour
lecture.

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

6.1 LIMITES DES TAILLES DE PARTITION

Système Partitions Types de partitions Limite du Espace


d'exploitation amorçables pris en charge code requis
d'amorçage
DOS 6.22 et avant Principale FAT 2 Go 8 Mo
Windows 95 Principale FAT ou FAT32* 8 Go 90 Mo
Windows 98 Principale FAT ou FAT32 >8 Go 175 Mo
Windows Me Principale FAT ou FAT32 >8 Go 295 Mo
Windows NT Principale FAT ou NTFS 4 Go 125 Mo
Windows 2000 Principale FAT, FAT32 ou NTFS >8 Go 1 Go
Linux Principale ou Logique Linux Ext2 8 Go 250 Mo
OS/2 Principale ou Logique FAT ou HPFS 4 Go 110 Mo
* Uniquement disponible avec les versions postérieures à Windows 95 OSR1.

6.2 TAILLES DE CLUSTERS FAT PAR DÉFAUT

Les tailles exprimées ici concernent MS-Dos et Windows.

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.

6.3 TAILLES DE CLUSTERS FAT32 PAR DÉFAUT

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

6.4 NOMBRE D'ENTRÉES À LA RACINE D'UNE FAT

Support Nombre d’entrées maximum


Disquette 1,44 Mo (FAT) 224
Disque dur (FAT16) 512
Disque dur (FAT32) Limité par la capacité de la partition

page 27

Vous aimerez peut-être aussi