Vous êtes sur la page 1sur 6

Système d'exploitation, 2eme année licence

Chapitre VII: Système de gestion de 2 Fonctions d’un SGF

fichiers SGF 1) Offrir à l’utilisateur la possibilité d’effectuer des opérations abstraites sur
les fichiers (suppression, ouverture, fermeture, lecture et écriture).
2) Garder trace des informations sur tous les fichiers stockés par le SGF.
3) Définir une politique ou méthode d’accès aux fichiers.
1 Introduction 4) Définir une politique d’allocation et dé allocation de l’espace MS.

Un système de fichiers est l’ensemble des informations stockées sur une mémoire 3 Modes d’accès aux fichiers
secondaire, comprenant les données et programmes de l’utilisateur.
Un système de gestion de fichiers (SGF) est l’ensemble des programmes Un mode d’accès défini la manière dont les blocs composant un fichier sont
s’occupant de l’organisation et la gestion des fichiers. Le SGF assure la accessibles. Le mode d’accès peut aussi s’étendre aux enregistrements
correspondance entre les noms de fichiers visibles à l’utilisateur, et leurs logiques. Un mode d’accès est une caractéristique très importante d’un SGF qui
emplacements physiques sur la mémoire secondaire. peut être dépendant de la nature physique des périphériques. Trois mode
existent :
Exemple :
Mode d’accès séquentiel : Pour accéder à un bloc donné, il faut parcourir tous
Le SGF ISO 9660 pour les fichiers sur CD-ROM.
les blocs précédents. Ainsi, le temps d’accès à un bloc N° i dépend de la position
Le SGF FAT 16, FAT 32 de Dos et Windows, le NTFS de Microsoft Windows et le actuelle du pointeur de fichier (le bloc actif).
SGF ext et ext2 de linux, UNIX V7 pour Unix.
Mode d’accès Indexé (ou aléatoire) : ce mode permet d’accéder directement à
un bloc quelque soit sa position dans le fichier.
1.1 Fichier logique
Mode d’accès Direct ou Relatif : c’est un cas particulier du mode indexé, il
C’est une entité logique de stockage d’informations, stockée dans une mémoire permet l’accès direct à un bloc en spécifiant sa position par rapport au début de
secondaire (CD-ROM, DD, flash Disque, .etc). On peut le voir comme une fichier.
séquence d’octet non structurée, ou une séquence d’enregistrements de taille fixe,
ou comme un arbre d’enregistrement pas nécessairement tous de la même
longueur.

1.2 Fichier physique


Un fichier physique est l’espace de la MS alloué pour stocker un ensemble
d’informations d’une manière permanente.
- Contrairement à un fichier logique pour un utilisateur, pour un SGF, un fichier
physique est l’espace de la MS alloué à un ensemble de données.
- L’unité de base pour un fichier logique est l’enregistrement logique, pour un SGF
l’unité de base de manipulation de fichier est le BLOC.

Chapitre VII Système de gestion de fichiers SGF


1
Gestion de l’espace disque
Système d'exploitation, 2eme année licence

4 Gestion de l’espace disque Gestion de l’espace libre Gestion de l’espace occupé

Exemple : disque de 16 blocs Vecteur Liste Allocation Allocation non


SE Vecteur = 1000 0100 0110 1001 de bits chaînée contiguë contiguë
Vecteur de bits 0 1 2 3
1000 0100 0110
dans la MC 1001 Liste chaînée de Allocation non
4 5 6 7 zones libres contiguë indexée

8 9 10 11
Figure 1 Les techniques de gestion d’espace mémoire disque
12 13 14 15
MC
- La taille du vecteur égale au nombre de blocs sur disque
Figure 2 Illustration d’un vecteur de bits de blocs libres - Cette table est sauvé dans le disque et chargée au démarrage du SE dans la
MC.
Le SGF doit gérer la MS en terme d’allocation et libération de l’espace. La Figure - Si la taille du disque augmente, la taille du vecteur augmente aussi
1 montre les techniques de gestion de l’espace mémoire libre et occupé.
Avantages :
- Simple puisque la SDD est un tableau de vecteur.
4.1 Gestion de l’espace libre
- Rapide puisque la table sera chargée dans la MC au démarrage du SE,
On peut se poser la question suivante : Comment arrive t-il, le SGF, à connaître par conséquent la recherche est plus rapide et n’implique aucun accès
la liste des blocs libres ? disque.
Le SGF doit gérer la liste des blocs libres en utilisant des Structures De Données Inconvénients :
SDD adéquats. Le SGF doit la sauvegarder cette SDD dans la MS. Ceci pour
pouvoir la retrouver une fois la machine a été remise sous tension. De plus, il est - Dans le cas où le disque est d’une grande taille, la taille du vecteur peut
très utile que cette SDD soit chargée d’une manière permanente dans la MC, ceci être grande. De ce fait, ce vecteur nécessite un grand espace MC, et une
évite les accès disques coûteux une fois le système décide de lire ou écrire dans sauvegarde dans la MS, peut provoquer plusieurs accès à la MS.
un fichier. - Le temps d’E/S pour la lecture de la table peut aussi être grand

4.1.1 Vecteur de bits 4.1.2 Liste Chaînée


Chaque bloc est représenté par un bit Vi. Les blocs libres sont chaînés entre eux de telle sorte que chaque bloc libre
Vi = 0  le bloc N° i est libre pointe sur le bloc suivant. On garde dans la MC que la tête de la liste :
TêteBlocsLibres. Pour allouer un espace disque il faut parcourir la liste des blocs
Vi = 1  le bloc N° i est occupé libres. .
- L’ensemble de tous les blocs constitue une table (un vecteur) de bits Avantage :

Chapitre VII Système de gestion de fichiers SGF


2
Système d'exploitation, 2eme année licence

SE 0 1 2 3
- Gain de l’espace mémoire par rapport au vecteur de bits.
Inconvénient : 4 5 6 7
TêteBlocsLibres
- Temps énorme pour le parcours de la liste nécessitant à chaque fois le
chargement des blocs dans la MC. 8 9 10 11

- Redondance d’infos d’inoccupation (blocs successifs pointent chacun sur


son voisins). 12 13 14 15
-1
MC
4.1.3 Liste Chaînée des zones
L’objectif est de minimiser le chaînage dans la technique précédente. Une zone Figure 3 Illustration d’une liste chaînée des blocs libres
libre est constituée de plusieurs blocs libres adjacents. Pour allouer un espace
disque à un fichier de taille m blocs, il suffit de trouver une zone libre de taille m - Fragmentation externe : des blocs isolés peuvent apparaître comme des
blocs. espaces libres entre les fichiers (solutions coûteuse  compactage).
Avantage :
- Recherche plus rapide que la précédente.
Inconvénient :
- Temps plus réduit pour le parcours de la liste nécessitant à chaque fois le
chargement du premier bloc de la zone dans la MC. 0 1 2 3
SE 3,6
4.2 Gestion de l’espace occupé
4 5 6 7
La création d’un fichier implique l’allocation d’un espace libre. Le SGF peut
TêteZonesLibres 3,11 Zone
décider que cet espace soit contigu (un ensemble de blocs libres adjacents) ou
non contigu (les blocs éparpillés). Dans les deux cas, le SGF doit gérer les blocs 8 9 10 11
alloués et il doit garantir l’extensibilité du fichier et assurer un accès rapide aux
1,13
fichiers.

4.2.1 Allocation contiguë MC 12 13 14 15


2,-1

Les blocs alloués à un fichier doivent être contigus. Un fichier occupant m blocs et
commençant au bloc N° K occupera les blocs : K, k+1, K+2 , …, (K+m-1) Figure 4 Illustration d’une liste chaînée des zones libres
Le répertoire contenant ce fichier garde trace de l’@ du premier bloc alloué au
fichier et sa taille en nombre de blocs.
Avantage :
- Garantit l’accès direct à un bloc quelconque du fichier (en plus d’e l’accès
séquentiel relativement rapide)
Inconvénients :
- L’user doit spécifier la taille de son fichier dès le début.

Chapitre VII Système de gestion de fichiers SGF


3
Système d'exploitation, 2eme année licence

- L’extension du fichier peut être condamnée. Ainsi, la taille du fichier F3 ne - Accès séquentiel au fichier : pour accéder à un bloc il faut visiter tous les
peut pas être augmentée. blocs qui le précèdent  perte de temps. On a perdu l’accès direct !
(Pour lire le 1000ème bloc il faut lire 999 bloc avant lui).
4.2.2 Allocation non contiguë : liste de blocs occupés chaînés - Si un lien est perdu, tout le reste l’est aussi !! Pour chaque bloc il faut
prévoir un espace pour le lien : - Si un lien tient sur 4 octet et la taille d’un
Les blocs alloués à un fichier ne sont pas obligatoirement contigus. Un fichier est
bloc est de 1Ko alors un disque de 20 MO perd 80KO pour les liens
Fichier F2 0 1 2 3

5
4.2.3 Allocation non contiguë Indexé
2 4 5 6 7
3 1,8 Faire la combinaison entre l’allocation contiguë et non contiguë. Au lieu que les
7 pointeurs soient dispersés le long des blocs, on les regroupe ensemble dans un
-1 8 9 10 11 seul bloc appelé index. Les entrées de ce bloc pointe dans l’ordre vers les blocs
1,13 occupés par le fichier : le ième élément du bloc index contient le numéro du ième
Fichier F5 bloc du fichier.
12 13 14 15
15 2,-1 -
-1
Nom -1@Bloc 0 1 2 3
Fich -1début Figure 7 Allocation non contiguë
1 6 3 7
-1 0 1 2 3 Avantages :
F1 0
Nom @Bloc Taille en 4 5 3,6 6 7 - Gagner de l’accès direct de l’allocation contiguë
Fich
F2 5début blocs 1,8 2 -1 - Gagner l’extensibilité de l’allocation chaînée
-1
4 5 6 7 - Eviter la fragmentation externe de l’allocation chaînée
F3
F1 09 1
8 9 10 3,11 11 Inconvénients :
F4
F2
11
4 2 1,13 10 -1 1 - Fragmentation interne au niveau du bloc d’index (cas du fichier F5)
8 9 10 2 11 - Problème de choix de la taille de l’index :
F5 15
F3 9 1 12 13 14 15 1,14 - Taille élevée : plusieurs accès disques pour le lire
-1 2,-1 -
- Taille petite : saturation rapide
F4 10 1
12 13 14 15
2,-1
F5 12 2 Figure 6 Allocation non contiguë 5 Correspondance entre un Fichier Nommé et un
Figure 5 Allocation contiguë
Fichier Physique
une liste de blocs chaînés entre eux, son adresse est celle de son premier bloc. Le SGF doit montrer à l’utilisateur une vue simple de ses données, il est obligé
Avantage : de faire une correspondance entre un nom de fichier (répertoires + nom) et son
- Extension d’un fichier possible tant qu’il y a des blocs libres espace physique occupé (ensemble de blocs).
- PAS de Fragmentation externe
Inconvénient :

Chapitre VII Système de gestion de fichiers SGF


4
Système d'exploitation, 2eme année licence

5.1 Concepts de répertoire 5.1.3 Répertoire en arbre (hiérarchique)


Un fichier est vu par l’utilisateur comme étant un objet définit par : Un nom unique Plusieurs niveau constituant un arbre de fichiers.
et des attributs (taille, date, lecture seul, exécutable etc) dans un répertoire. Le
Entrée1 Entrée2 Entrée i Inconvénient :
SGF compliqué et le partage de fichiers entre utilisateur est difficile.
Prog.c Cours.doc Prog.exe Prog2.exe

16 kO 240 kO 26 kO …. 26 kO
02/04/2005 02/04/2006 02/04/2007 02/04/2007 MFD
Répertoire 09:09:09 09:09:09 09:09:09 09:09:09
Salim Système
Ali User User User
3 4 5
… … … … UFD
f1 f2 f3 f10 f2 f1 F3 .. . .
15 . .

Figure 8 Organisation des fichiers dans un répertoire à un seul niveau Figure 9 Répertoire à deux niveaux

groupe de fichiers est dans une unité logique (C,D,E …)


6 Partition est volumes
5.1.1 Répertoire à un seul niveau
Pour faciliter la gestion d’un disque d’une grande taille on peut :
Toute la MS est un seul répertoire contenant uniquement des fichiers.
- Diviser le disque en un ensemble de disques virtuels appelés Partitions
Inconvénient :
- Chaque partition à son tour est divisée en un ensemble de lecteurs
Lorsque le nombre de fichiers augmente ou plusieurs utilisateurs travaillent sur le
logiques ou volumes.
même système de fichiers, la structure devient difficile à gérer, car un fichier doit
avoir un nom unique. Dans un disque physique, il existe un secteur spécial appelé secteur
d’amorçage maître (Master Boot Record MBR) dont le rôle est d’amorcer
5.1.2 Répertoire à deux niveaux (initialiser) la machine. Il contient un programme (lancer par BIOS) permettant,
une fois chargé dans la RAM, de localiser un système d’exploitation pour le
La MS est structurée en deux répertoires. Le premier est appelé MFD (Master File charger en MC.
Directory) Chaque utilisateur a son propre répertoire UFD (User File Directory).
Pour ce faire, la fin du secteur d’amorçage contient la table de toutes les
Inconvénient : partitions. Elle contient une entrée par partition ; chaque entrée indique l’adresse
Il n’est pas possible que les utilisateurs partagent et accèdent à des fichiers entre début de partition, l’adresse fin et un indicateur indiquant si la partition est active
eux. Les fichiers d’un utilisateur sont isolés dans un répertoire UFD. ou non. La partition active contient les SE actifs susceptible d’être chargé dans la
MC au démarrage.

Chapitre VII Système de gestion de fichiers SGF


5
Disque physique
Système d'exploitation, 2eme année licence
MBR N°0 Table de Partition B Partition C
Partition A
Partitions

Programme d’initialisation et de
localisation de la partition active

Répertoire structuré en arbre Boot Block Structure des Répertoires Répertoires et fichiers

Programme de chargement du noyau du


Chaque partition est subdivisée en trois parties ; la première contient un SE dans la partition active
programme permettant le chargement dans la MC du noyau du SE contenu dans
la partition active. La deuxième partie contient les structures de répertoires. La Figure 10 Conception d’un SGF d’un disque dur
troisième partie représente les blocs de données.

7 Etude de cas du FAT 16 et FAT 32


La FAT (File Allocation Table) implémente une allocation Chaînée-indexée : au
lieu que les pointeurs soient à l’intérieur des blocs libres, la FAT les regroupe dans
index (table).
Un numéro (adresse) de bloc tient sur :16 bits pour FAT 16  Le SGF ne peut
pas gérer un disque dont la taille dépasse 216 blocs. Dans la FAT 32 l’adresse
d’un bloc est sur 32 bits.

8 Conclusion
Le SGF du S.E (propre au SE) est une partie complexe mais nécessaire: Il permet
à l’utilisateur de stocker et maintenir des données sur des fichiers. Un fichier dans
son état physique occupe un ensemble de blocs. L’espace occupé et libre d’un
disque est géré par des méthodes logiques. L’espace libre est reconnue en
utilisant une SDD qui peut être un vecteur de bits, une liste chaînée ou une liste
chaînée des zones (ensembles de blocs). Les fichiers occupent des blocs
contigus, non contigus (dispersés) ou dispersés gérés par une table d’indexes. Un
utilisateur reconnaît les fichiers par leurs noms, le SGF organise les fichiers dans
des répertoires (à un seul niveau, à deux niveaux ou en arbre).

Chapitre VII Système de gestion de fichiers SGF


6

Vous aimerez peut-être aussi