Vous êtes sur la page 1sur 27

Séance 10

03/12/2010 1
 Définitions
 Notion de fichiers et de répertoire
 Concept de fichiers
 Concept de répertoire
 Organisation logique des fichiers
 Organisation séquentielle
 Organisation à accès directe
 Organisation physique des fichiers
 Allocation contigüe
 Allocation chaînée
 Allocation indexée
 La gestion de l’espace libre
 La protection des fichiers
 Exemples de cours

03/12/2010 2
 Le système de gestion de fichiers (SGF) est la partie du SE qui
s'occupe de la gestion physique des fichiers.
 Son rôle est de rendre transparentes à l'utilisateur toutes les
manipulations du support physique en réalisant la
correspondance entre l'organisation logique et l'organisation
physique des fichiers.
 Un SGF permet de stocker les informations et de les
organiser dans des fichiers sur des mémoires secondaires
(disque dur, disquette, CD-ROM, clé USB, disques SSD, etc.).
 Le SGF est la partie la plus visible d'un SE.
 C’est un élément essentiel des SE modernes : il permet
d'accéder à divers périphériques tels que le disque dur, le
lecteur de disquette, de CD-ROM et de DVD.
 Le SGF a pour principal rôle de gérer les fichiers et d'offrir
des primitives pour manipuler ces fichiers.

03/12/2010 3
 Un fichier peut être vu sous deux angles différents :
 du côté utilisateur (point de vue logique),
 du côté SE (point de vue physique).
 Un fichier constitue une collection de données considérée
comme une entité par l'utilisateur (programme, texte, etc.).
 Afin de différencier les fichiers entre eux, chaque fichier a un
ensemble d'attributs qui le décrivent : le nom, l'extension, la
date et l'heure de sa création ou de sa dernière modification, la
taille, etc.
 Certains attributs sont indiqués par l'utilisateur, d'autres sont
complétés par le SE.
 Le fichier est l'unité logique gérée par le SGF.
 Les supports de stockage sont habituellement divisés en
blocs de longueur fixe (en général 512 octets) et le SGF alloue
le nombre de blocs nécessaires à chaque fichier.

03/12/2010 4
 Un fichier possède plusieurs attributs, qui peuvent varier d'un SE à
un autre, parmi lesquels :
 Nom : le fichier est nommé, par souci de simplicité pour l’utilisateur.
Un nom est généralement une chaine de caractères. Certains SE font la
différence entre les majuscules et les minuscules.
 Type : on a besoin de cette information dans les SE supportant
différents types.
 Emplacement : cette information pointe sur un périphérique et
l’emplacement dans ce périphérique.
 Taille : la taille courante du fichier (en octets).
 Protection : information du contrôle d'accès vérifiant qui peut lire,
écrire, exécuter, etc.
 Heure, date et identification de l'utilisateur : Ces données peuvent être
utiles pour la protection, la sécurité et la surveillance de l'utilisation.
 Ces informations sont rangées, pour tous les fichiers, dans la
structure de répertoires.

03/12/2010 5
 Le SE a besoin d'une organisation afin de structurer ces
fichiers et de pouvoir y accéder rapidement.
 Un répertoire est une entité créée pour l'organisation des
fichiers.
 On distingue plusieurs structures pour les répertoires : la
structure plate à un niveau, la structure à deux niveaux et la
structure arborescente.
 Pour la structure arborescente chaque répertoire peut
contenir des fichiers et des sous-répertoires. On parle de
chemin à partir de la racine.
 Du point de vue du SGF, un répertoire est un fichier structuré
en tableau qui possède une entrée par fichier.
 L'entrée du répertoire permet d'associer au nom du fichier
les informations stockées en interne par le SGF.
 La structure des répertoires, organise et fournit des
informations sur tous les fichiers du système.
03/12/2010 6
 Le SE fournit des opérations pouvant être exécutées sur les
fichiers.
 Les opérations de base sur les fichiers :
 Créer un fichier : on doit d'abord trouver de la place dans le
système de fichiers. Ensuite, il faut créer une entrée pour le
nouveau fichier dans le répertoire pour mémoriser le nom du
fichier et son emplacement.
 Ecrire dans un fichier : pour écrire dans un fichier, nous
effectuons un appel système en spécifiant le nom du fichier et
l'information à écrire dans le fichier. Le nom permet au SE de
chercher le répertoire afin de trouver l'emplacement du fichier.
 Lire un fichier : pour lire à partir d'un fichier, nous utilisons le
nom du fichier et l'emplacement où la lecture suivante doit avoir
lieu dans le fichier.
 Détruire un fichier : pour détruire un fichier, nous cherchons le
répertoire du fichier nommé. Une fois trouvé nous libérons tout
l'espace du fichier.
03/12/2010 7
 Les fichiers stockent des informations qu’on doit charger
dans la mémoire de l’ordinateur.
 Les SE proposent plusieurs manières d'accès aux
informations dans les fichiers.
 Accès séquentiel : c’est la méthode d'accès la plus simple.
L'information dans le fichier est traitée en ordre, un
enregistrement après l'autre. Il se base sur le modèle de
bande.
 Une opération de lecture lit la partie suivante du fichier et
incrémente automatiquement un pointeur qui mémorise
l’emplacement des entrées/sorties.
 Une écriture ajoute de l'information à la fin du fichier et
incrémente le pointeur à la fin de l'information écrite.

03/12/2010 8
 L'accès direct : un fichier est constitué d'enregistrements
logiques de longueur fixe permettant aux programmes de lire
et d’écrire rapidement des enregistrements sans aucun ordre
particulier.
 La méthode de l'accès directe se base sur le modèle de disque
d'un fichier, puisque les disques permettent l'accès direct à
n'importe quel bloc du fichier.
 Pour pouvoir accéder directement à un quelconque article du
fichier, il existe une clé d'accès qui permet de le désigner.
 Les fichiers à accès directe sont d'une grande utilité pour
accéder immédiatement à de grandes quantités d'information
telles que les bases de données.
Fichier
Clé

Recherche
i
03/12/2010 9
 Pour décrire une organisation physique des fichiers, on peut
considérer que la mémoire secondaire est un ensemble fini d’unités
d'allocation de taille fixe (blocs), et qu'un fichier occupe dans cette
mémoire un segment logique constitué d'un certain nombre de
blocs.
 Question : comment sont organisés les blocs ou les clusters
(ensemble de blocs) d'un fichier sur le disque dur ?
 On distingue trois manières d'organiser les blocs d'un fichier :
contiguë, chaînée, indexée, chacune offrant des avantages et
également des inconvénients.
 Allocation contiguë : le fichier est enregistré sur des blocs consécutifs
sur le disque.
 Allocation chaînée : on divise le fichier en plusieurs blocs qu'on
enregistre à des endroits espacés et on les relie par des liens.
 Allocation indexée : les blocs sont indépendants mais on conserve
dans une structure statique ou dynamique (bloc index) les numéros
des blocs appartenant au fichier.

03/12/2010 10
 La méthode de l’allocation contigüe demande que chaque
fichier occupe un ensemble de blocs contigus sur le disque.
 Dans une implantation contiguë chaque fichier occupe un
certain nombre de blocs qui sont consécutifs.
 Pour chaque fichier à enregistrer le système recherche une
zone suffisamment grande pour accueillir le fichier.
 L’allocation est définie par l’adresse disque du premier bloc
et la longueur en nombres de blocs.
 Le principal avantage de cette méthode est la rapidité lors de
l'accès.
 Elle présente un grand nombre d'inconvénients :
 La difficulté de prévoir la taille qu'il faut réserver pour le fichier,
un fichier étant amené à augmenter de taille.
 La perte d'espace si nous prévoyons trop pour chaque fichier.
 La fragmentation externe : l’espace perdu en dehors des
fichiers.

03/12/2010 11
Mémoire

Entrée répertoire du fichier

03/12/2010 12
 L'allocation chaînée consiste à allouer des blocs chaînés
entre eux aux fichiers.
 Un fichier peut désormais être éparpillé sur le disque puisque
chaque bloc permet de retrouver le bloc suivant.
 A la fin de chaque bloc, on réserve quelques octets pour y
écrire le numéro du bloc suivant.
 L’avantage principal de cette méthode est l'élimination de la
fragmentation externe puisque tous les blocs peuvent être
alloués.
 Les inconvénients :
 L'accès au fichier est séquentiel. On doit toujours commencer le
parcours à partir du début du fichier même si on a récemment
chargé les blocs.
 La perte d'un chaînage entraîne la perte de tout le reste du
fichier.
03/12/2010 13
Mémoire

Entrée répertoire du fichier

03/12/2010 14
 L'allocation indexée est une variante de l'allocation chaînée.
 Elle utilise le principe de l'allocation chaînée mais en retirant
les pointeurs des blocs et en les plaçant dans le block index.
 Les numéros de blocs peuvent ainsi être obtenus à tout
moment.
 La plupart des systèmes actuels appliquent ce mode.
 Chaque fichier possède son propre bloc index (table
d’implantation).
 Une table d'implantation peut se présenter sous plusieurs
formes : une table unique, des tables chaînées ou encore des
tables à plusieurs niveaux.

03/12/2010 15
 Dans le cas d'une table unique, toutes les adresses des blocs
alloués au fichier y figurent.
 Ceci amène une limitation de la taille du fichier au nombre
d'entrées de la table d'implantation.
Mémoire
Table
Entrée répertoire du fichier d’implantation

03/12/2010 16
 Pour échapper à la limitation due à l'unicité de la table, on peut
chaîner plusieurs tables d'implantation.
 Dans ce cas, chaque table d'implantation doit avoir un lien de
chaînage vers une autre table d'implantation et des pointeurs vers
les blocs de données du fichier.
Table Mémoire
d’implantation 1
Entrée répertoire du fichier

Table
d’implantation k

03/12/2010 17
 Pour des tables d'implantation de grandes tailles, il est
préférable d'organiser les tables selon une structure
hiérarchique.
 Ceci améliore nettement les temps d'accès aux données car
la recherche est plus rapide. Mémoire
Table
d’implantation 1
Table
d’implantation
Entrée répertoire du fichier

Table
d’implantation k

03/12/2010 18
 Outre le fait de garder la trace de l'emplacement de chaque
fichier dans la mémoire auxiliaire, un SE doit aussi être capable
d'identifier les blocs physiques qui ne sont alloués à aucun
fichier.
 Les SE utilisent essentiellement deux approches pour
mémoriser l'espace libre : une statique et une dynamique.
 L'approche statique utilise une structure de données de taille
fixe, le système doit ainsi prévoir la taille nécessaire pour le cas
extrême celui où tout le disque dur est vide.
 En revanche dans l'approche dynamique, on a la possibilité
de rajouter des éléments pour mémoriser l'espace libre au fur
et à mesure que celui-ci augmente.
 La structure dynamique utilise généralement une liste
chaînée et l'approche statique une table de bits.

03/12/2010 19
 Comme les fichiers constituent le mécanisme principal de
stockage de l'information dans la plupart des systèmes
informatiques, il faut leur fournir une protection.
 La protection des fichiers comprend des notions relatives à la
confidentialité (contrôle d’accès) ou à la sécurité des données
(perte d’informations).
 Le besoin de protéger des fichiers est une conséquence
directe de la possibilité d'y accéder.
 L'approche la plus commune au problème de la protection
consiste à rendre l'accès dépendant de l'identité de
l’utilisateur.
 Les accès aux fichiers peuvent être contrôlés séparément
pour chaque type d'accès : lecture, écriture, exécution, ajout,
visualisation de répertoires, etc.
 On peut fournir aussi la protection de fichiers par
l'intermédiaire de mots de passe, de listes d'accès, ou autres.
03/12/2010 20
Exemple 1 :
Un fichier possède des enregistrements d'une taille fixe de 15
octets. Si l'on part du principe que le premier enregistrement est
l'enregistrement 1 à quel emplacement logique se trouve le premier
octet de l'enregistrement 5, si :
1. Le fichier est à accès séquentiel.
 (5-1) x 15 + 1 = 61.
2. Le fichier est à accès direct.
 (5-1) x 15 + 1 = 61.
Exemple 2 :
Un programme vient de lire le premier enregistrement d'un fichier. Il
veut ensuite lire le dixième enregistrement. Combien d'enregistrement doit
lire le programme avant d'entrer dans le dixième si :
1. Le fichier est à accès séquentiel.
 9.
2. Le fichier est à accès direct.
 1.

03/12/2010 21
Exemple 3 :
Sur un système qui utilise l'allocation contiguë,
calculez le numéro du bloc physique correspondant au
bloc logique, sachant que le fichier est stocké en
commençant au bloc physique indiqué :
1. Bloc physique de départ : 1000; Bloc logique : 12.
 1000-1+12=1011
2. Bloc physique de départ : 75; Bloc logique : 2000.
 75-1+2000=2074
3. Bloc physique de départ : 150; Bloc logique : 25.
 150-1+25=174

03/12/2010 22
 FAT , acronyme anglais de file allocation table (table d'allocation
de fichiers), est un système de fichiers conçu par Bill Gates et Marc
McDonald pour le Microsoft Disk BASIC, puis réutilisé dans QDOS.
 Il fut ensuite utilisé sous MS- DOS puis dans la branche 9x de
Windows. Les systèmes Windows actuels, dérivés de la branche NT,
utilisent généralement le NTFS pour les disques durs, mais
reconnaissent toujours FAT car les cartes mémoire des appareils
photos numériques ou des baladeurs, de même que leurs mémoires
internes, sont presque toujours au format FAT.
 FAT a évolué en différentes versions, toutes supportées par les
dernières versions de MS-DOS et les versions actuelles de Windows,
qui ont été rendues nécessaires par l'évolution des capacités de
stockage des disques :
 FAT12 : maximum de 212 , soit 4 096 clusters de taille fixe (choisie au
départ entre 512 octets et 4 Ko). Utilisé entre autres sur les disquettes.
 FAT16 : maximum de 216 , soit 65 536 clusters de taille fixe (choisie au
départ entre 2 Ko et 64 Ko).
 VFAT : Une évolution de la FAT, permettant de gérer les noms longs
dans Windows 95 et les versions suivantes. Il s'applique à toutes les
versions de FAT (FAT12, FAT16, FAT32…).

03/12/2010 23
 FAT32 : apparu avec Windows 95 OSR2 (Windows 95B), il supporte
un maximum de 228 (268 millions) de clusters de taille variable de
4 Ko à 32 Ko, avec reprise du système VFAT. La taille des fichiers ne
peut dépasser 4 Go.
 exFAT Appelé aussi communément FAT64, apparu avec Windows
Vista SP1, il supporte des partitions théoriques de 64 zébioctets.
 À titre indicatif, la FAT d'un disque de 40 Go formaté en FAT32 avec
des unités d'allocation de 4 Ko occupe typiquement dans les 40 Mo
en mémoire vive.
 La taille maximale a été limitée à 2 Tio, ce qui permet à ce système
de fichiers de ne pas être dépassé à l'heure de Windows Vista et
donne encore le choix entre celui-ci et NTFS. Toutefois, un problème
récurrent sur les tables FAT est la fragmentation quasi-permanente
du disque, qui pourrait être en partie évitée par l'utilisation du format
de fichier NTFS.
 Le système FAT a l'avantage d'être standard et compatible avec la
quasi-totalité des systèmes d'exploitations et des logiciels antivirus,
malgré une restriction juridique (voir ci-dessous).

03/12/2010 24
 NTFS (New Technology File System) est un système de
fichiers conçu pour Windows NT ses successeurs chez
Microsoft) pour stocker des données sur disque dur. Il s’inspire
d’HPFS, le système de fichiers conçu pour OS/2.
 Le sigle NTFS désigne en anglais NT File System
(littéralement « système de fichiers de la génération NT »). Ce
système est arrivé avec la première version de Windows NT, en
1993.
 NTFS permet de :
 mettre des droits très spécifiques (ACL) sur les fichiers et
répertoires : lecture, écriture, exécution, appropriation, etc. ;
 chiffrer des fichiers avec EFS ( Encrypting File System ) ;
 compresser des fichiers ;
 d'établir des quotas par volume.

03/12/2010 25
 NTFS fit suite en 1993 à la technologie FAT, qui était utilisée
par MS-DOS, et FAT32, utilisée par les versions « grand public »,
mais ne permettait que difficilement d ’ offrir un système de
fichiers multiutilisateurs :
 pas de zone indiquant le propriétaire du fichier ;
 pas de date du dernier accès en lecture ;
 pas de droits d ’ accès de groupe.
 Il cherchait également à assurer une bonne performance
dans un contexte multitâche, c’est-à-dire de nombreux
programmes accédant simultanément ou presque au disque
dur. La tâche critique était donc l'ordonnancement des
requêtes.

03/12/2010 26
 Un cluster est un groupe de secteurs. Il sert d'unité
d'allocation aux fichiers. Chaque cluster stocke donc les
données d'un fichier.
 Pour un fichier de 9 000 octets par exemple, sur un disque
utilisant des clusters de 8 192 octets (soit 16 secteurs de
512 octets), 2 clusters sont utilisés, dont le dernier n'utilise que
808 octets (9 000 - 8 192).

03/12/2010 27