Cours: Système d’exploitation
Chapitre 2 : La gestion des
fichiers
Enseignante : Mme Mouna Ben Abdeljelil A.U: 2021/2022 1LT1, 1LT2, 1LT3 et 1LT4
2
PLAN
L’organisation des fichiers
Le système de gestion de fichiers
Les types d’allocation de l’espace disque
Le système de gestion de fichiers sous UNIX/Linux
3
Le Système de Gestion de Fichiers (SGF)
La notion d’un SGF
Les fonctionnalités d’un SGF
4 La notion d’un SGF
Le SGF est un module du noyau qui sert à gérer un système de fichiers.
Il s’agit d’un ensemble de méthodes et de structures de données permettant de
manipuler les données (fichiers et répertoires) stockées sur des mémoires secondaires.
En effet, il est chargé d’organiser et d’optimiser l’implantation des fichiers sur les
différents supports.
Une telle gestion des fichiers permet de traiter et de conserver des quantités importantes
de données ainsi que de les partager entre plusieurs programmes informatiques.
Il offre à l’utilisateur une vue abstraite sur ses données et permet de les localiser à partir
d’un chemin d’accès.
5 Les fonctionnalités d’un SGF
Le SGF joue un rôle primordial dans un système d’exploitation car il doit gérer la
plupart des informations des utilisateurs et du système lui-même.
Il a comme fonctionnalités :
Conservation permanente des fichiers.
Manipulation des fichiers : le SGF fournit un certain nombre d'opérations pour la
manipulation des fichiers et des répertoires (création, insertion, suppression,
modification).
Allocation de zones mémoires : le SGF alloue à chaque fichier un nombre variable
de blocs (suite d'octets de taille fixe).
6 Les fonctionnalités d’un SGF
Il a comme fonctionnalités :
Localisation des fichiers : chaque fichier est décrit par un ensemble d'informations
qui permettent d'identifier son emplacement (nom, adresse, etc.).
Partage des fichiers : assurer une utilisation d'un même fichier / répertoire / disque
par des utilisateurs différents.
Protection des fichiers : le SGF doit assurer la sécurité et la confidentialité des
données surtout en cas de partage. Des droits d'accès sont ainsi associés à chaque
fichier pour assurer une protection contre les accès interdits.
Système de Gestion de Fichiers (SGF)
8
PLAN
L’organisation des fichiers
Le système de gestion de fichiers
Les types d’allocation de l’espace disque
Le système de gestion de fichiers sous UNIX/Linux
9 Types d’allocation de l'espace disque
Un fichier physique est constitué d'un ensemble de blocs physiques.
Un bloc définit la plus petite unité allouable sur le support.
L’allocation de ces blocs au fichier représente l’une des principales fonctions
d’un SGF.
Différents points doivent être pris en considération pour l'allocation de
l'espace disque :
l'optimisation du temps d'accès
le coût de stockage
l'évolution de la taille des fichiers (la fragmentation)
10 Types d’allocation de l'espace disque
On distingue trois techniques d’allocation qui sont:
l’allocation contiguë
l’allocation chaînée
l’allocation indexée
11 Allocation contiguë
La méthode d'allocation contiguë consiste à stocker chaque fichier dans une suite de
blocs consécutifs.
Pour chaque fichier à enregistrer, le système recherche une zone suffisamment grande
pour accueillir le fichier.
Chaque fichier est ainsi décrit par l'adresse disque du premier bloc et sa taille.
Les adresses des différents blocs d'un fichier sont obtenues par une simple addition.
12 Allocation contiguë
Avantages
Simplicité de la mise en œuvre: il suffit de mémoriser un seul nombre, l’adresse du premier bloc
pour localiser le fichier.
Performance excellente (la rapidité de l’accès): le fichier peut être lu en une seule opération
(limite les déplacements de la tête le lecture/écriture).
Inconvénients
Difficulté de prédiction de la taille qu’il faut réserver au fichier
un fichier est amené à augmenter de taille, par conséquent il faut prévoir de l’espace libre
après le dernier secteur alloué.
Si le fichier est agrandi, il faudra le déplacer pour trouver un nouvel ensemble de blocs
consécutifs de taille suffisante.
13 Allocation contiguë
Inconvénients
La perte d’espace sur le disque
si on prévoit trop d’espace libre, le fichier risque de ne pas l’utiliser en entier.
si on prévoit trop peu d’espace libre, le fichier risque de ne pas pouvoir être étendu.
Gaspillage de place: le dernier bloc a toutes les chances d'être sous-utilisé
Problème de fragmentation externe : c’est l’espace perdu en dehors des fichiers.
Au fil de l’utilisation, il peut se créer un grand nombre de petites zones dont la taille ne suffit
souvent pas pour allouer un fichier mais dont le total correspond a un espace assez volumineux.
14 Allocation chainée
Chaque fichier est une liste chaînée de blocs de disques.
Ces blocs peuvent être dans n'importe quel emplacement sur le disque.
Chaque bloc, excepté le dernier, contient un pointeur vers le bloc suivant.
Le dernier bloc d'un fichier contient un pointeur vers le premier emplacement
libre.
15 Allocation chainée
Avantages
Elimination du problème de fragmentation externe: pas d’espace perdu
Tous les blocs peuvent être utilisés
Inconvénients
L’accès au fichier est totalement séquentiel, on doit toujours commencer le parcours
du fichier à partir du début.
La perte d’un chaînage entraîne la perte de tout le reste du fichier. Pire encore, il
suffit qu’une valeur soit modifiée dans un pointeur pour qu’on se retrouve dans une
autre zone de la mémoire.
16 Allocation indexée
Ce système d’allocation utilise une table d’index pour allouer les blocs au fichier.
A chaque fichier sera associée une entrée dans la table.
Ainsi, cette table contient la liste des pointeurs des blocs alloués au fichier.
17 Allocation indexée
De cette manière, les informations sur les numéros de blocs peuvent être obtenue à tout moment.
Chaque élément de la table contient l’adresse physique du bloc alloué au fichier.
Ceci permet d’accéder directement à chaque bloc du fichier sans être obligé d’accéder au bloc
précédent.
18 Allocation indexée
Avantages
Implémentation efficace de l’accès direct
Inconvénients
Problème de la taille des index
19 Allocation indexée
La plupart des systèmes actuels appliquent ce mode.
MS-DOS utilise la FAT (File Allocation Table) pour y conserver les chaînages
entre les blocs.
Windows NT utilise la MFT (Master File Table) associé au système NTFS (New
Technology File System),
UNIX, GNU/Linux utilisent le I-Node (Index node).
20 Gestion de l’espace libre sur le disque
Les systèmes d’exploitation utilisent essentiellement deux approches pour
mémoriser l’espace libre :
une approche statique (Bitmap)
une approche dynamique (liste chainée)
21 Gestion de l’espace libre sur le disque
Bitmap
Approche statique utilise une table de bits (vecteur de bits n blocs) comportant
autant de bits que de blocs sur le disque.
A chaque bloc du disque, correspond un bit dans la table, positionné à 1 si le bloc est
occupé, à 0 si le bloc est libre (ou vice versa).
0 1 2 N-1
……………
Si les blocs 3, 4, 5, 9, 10, 15, 16 sont libres : 11100011100111100…
Cette solution est utilisée pour trouver n blocs contigus, elle est utilisée dans les
systèmes : NTFS, ext2fs
Gestion de l’espace libre sur le disque
22
Liste chaînée
Approche dynamique utilise une liste chaînée constituée d’éléments, chacun
mémorisant des numéros de blocs libres.
Tous les blocs libres sont liés ensemble par des pointeurs. 1110001110010
9,2 12,1
3,3
occupé libre
Questions