Vous êtes sur la page 1sur 28

SYSTÈMES D’EXPLOITATION AVANCÉS

Système de gestion
de fichiers

Nadia Bel Hadj Aissa


Plan
2

 Méthode d ’allocation
 Gestion de l ’espace libre
 Performance
3 Mise en œuvre
Mise en œuvre du système de fichiers
4

 Les utilisateurs sont préoccupés par les


noms de fichiers, les opérations qui
permettent de manipuler les fichiers et ses
arborescences.
 Vu par les concepteurs, soucis sur
l’organisation de l’espace du disque et
attention sur la manière dont les fichiers et
catalogues sont sauvegardés.
 Conception fondamentale : mémorisation
des adresses des blocs de chaque fichier.
Allocation contigüe
5

Méthode d’allocation
Répertoire la plus simple
Fichier Début Taille
consiste à stocker
chaque fichier
count 0 2
0 1 2 3 4 dans une suite de
tr 14 3 bloc consécutifs.
5 6 7 8 9
mail 19 6
Exemple: Un fichier
10 11 12 13 14 list 28 2
de 50Ko
f 6 2 occuperait 50
15 16 17 18 19
blocs consécutifs
20 21 22 23 24 sur un disque dont
la taille d’un bloc
25 26 27 28 29
est de 1Ko.
Allocation contiguë
6

 Avantages
 simple à mettre en œuvre, il suffit de mémoriser un seul nombre,
l’adresse du premier bloc pour localiser le fichier.
 Performance excellente car le fichier peut être lu en une seule
opération.

 Inconvénients
 mise en œuvre que si la taille du fichier est connu au moment de
leur création. Sans cette information, le système ne peut pas
déterminer l’espace à réserver sur le DD.
 La fragmentation du disque. Perte d’allocation car gaspille de
l’espace sur le DD. Le compactage du DD peut y remédier mais il
est en général coûteux.
Problème d’extension d’un fichier
7
Probléme de fragmentation

8
Allocation au moyen du liste chaînée
9

 Méthode qui
consiste à
sauvegarder les
blocs de fichier
dans une liste
chaînée.
 Le premier mot de
Fichier B chaque bloc est
un pointeur sur le
Bloc 0 Bloc 1 Bloc 2 bloc suivant. Le
Fichier A
6 3 11 reste contient les
données.
Bloc 0 Bloc 1 Bloc 2 Bloc 3

4 7 2 10
Allocation au moyen du liste chaînée
10

 Avec cette méthode, tous les blocs peuvent être


utilisés.
 Pas d’espace perdu en raison d’une fragmentation du
disque.
 Les autres blocs sont trouvés à partir de ce bloc.
 Si la lecture séquentielle d’un fichier est simple,
l’accès aléatoire est très lent. De plus pour les gros
fichiers, le pointeur sur le bloc suivant occupant
quelques octets, l’espace réservé aux données dans
chaque bloc n’est plus une puissance de 2.
 Conséquence : moins efficace car de nombreux
programmes lisent et écrivent des blocs dont la taille
est une puissance de 2.
Allocation au moyen du liste chaînée
11
indexée
Les inconvénients de l’allocation au moyen d’une liste
chaînée peuvent être éliminés en retirant le pointeur de
chaque bloc pour le placer dans une table ou un index en
mémoire.
0 Bloc inutilisé
1
Idée :Séparer les pointeurs et les
2 10
données
3 11
 Utilisation d’une table d’allocation
4 7 Le fichier A commence ici
de fichier
5
6 3 Le fichier B commence ici
Si on reprend nos deux fichiers A 7 2
et B 8
Le fichier A occupe les blocs 4, 7, 9
2 et 10 dans cet ordre. 10 NULL
Le fichier B occupe les blocs 6, 3 11 NULL
et 11 dans cet ordre. N° de bloc physique
Allocation au moyen du liste chaînée
12
indexée

Cette méthode libère intégralement l’espace du bloc pour les


données et facilite les accès aléatoires.
La liste doit toujours être parcourue pour trouver un
déplacement donné dans le fichier, mais elle réside
entièrement en mémoire et peut être parcourue sans
accéder au disque.
Comme pour la méthode précédente, l’entrée du catalogue
contient un seul entier (le n° du bloc) qui permet de retrouver
tous les autres blocs quelque soit la taille du fichier.
MS-DOS utilise cette méthode.
Allocation au moyen du liste chaînée
13
indexée

Inconvénient de cette méthode :


la table doit être entièrement en mémoire en permanence.

Ex : un disque de 500 000 blocs de 1Ko (500Mo) requiert 500 000 entrées
dans la table qui occupent chacune au minimum 3 octets.
Pour accélérer la recherche, la taille des entrées devrait être de 4 octets.
La table occupera 1,5Mo si le système est optimisé pour l‘espace disque et
de 2Mo si le système est optimisé pour l’occupation mémoire.
Mise en œuvre du système de fichiers
14

 Allocation par nœud d’information

Dernière méthode pour mémoriser les blocs de chaque fichier


consiste à associer à chaque fichier une petite table appelé
nœud d’information (i-node).
Cette table contient les attributs et les adresses sur le
disque des blocs du fichier.
Mise en œuvre du système de fichiers
15

 Nœud d’information
Les informations stockées dans un inode disque sont :
 utilisateur propriétaire,
 groupe propriétaire,
 type de fichier,
 droits d'accès,
 date de dernier accès,
 date de dernière modification,
 date de dernière modification de l'inode,
 nombre de liens,
 taille du fichier,
 adresses des blocs-disque contenant le fichier (13).
Mise en œuvre du système de fichiers
16

 Nœud d’information
Bloc de
données

Attributs Bloc
d’indirection
simple

Bloc
Adresses d’indirection
blocs double

Bloc
d’indirection
triple
Mise en œuvre du système de fichiers
17

 Nœud d’information

Les premières adresses disques le nœud d’information


>> les informations des petits fichiers y sont entièrement
contenues lorsqu’il est chargé en mémoire à l’ouverture du
fichier.
Pour les fichiers plus important, une des adresses du nœud
d’information est celle d’un bloc du disque appelé bloc
d’indirection simple. Ce bloc contient des adresses
disques additionnelles , et si cela ne suffit pas, une adresse
du nœud d’information (indirection double) contient
l’adresse d’un bloc contenant une liste de bloc
d’indirection simple.
Mise en œuvre du système de fichiers
18

 Nœud d’information

Chaque bloc d’indirection simple pointe sur quelques


centaines de blocs de données.
UNIX utilise cette méthode.

Remarques sur les inodes :


 Seul le premier niveau de la table d'index des fichiers
ouverts est présent en permanence en mémoire centrale.
 La structure d'index peut comporter des vides. Les
entrées vides correspondent à des trous (blocs non
remplis pour l'instant) dans le fichier.
Mise en œuvre du système de fichiers
19

 Nœud d’information
Capacité de la structure d'index : numéro de bloc sur 32 bits
(4 octets), et bloc de 1 KO.
On peut donc mettre p = 256 numéros de blocs dans un bloc.
 blocs directs : 10 blocs,
 bloc indirect_1 : 256 blocs,
 bloc indirect_2 : 256 2 blocs,
 bloc indirect_3 : 256 3 blocs.
Nombre maximum de blocs dans un fichier : 10 + 256 + 2562+ 2563

Taille maximale d'un fichier ~ 16 Go !!!


Ordonnancement du bras du disque
dur

20
Pourquoi?
21

 Plusieurs processus peuvent être en attente d’un accès


au disque
 Puisque le disque est relativement lent il est avantageux
d’ordonnancer les accès au disque
 L’ordonnanceur d’accès au disque peut s’implanter
comme un processus serveur; les processus clients
envoient des requêtes d’accès qui sont mis dans une file
d’attente
 L’ordonnanceur choisit l’ordre dans lequel ces requêtes
sont traitées de façon à maximiser le débit du disque
Nadia Bel Hadj Aissa
Exemple
22

On considère un disque composé de 200 pistes


numérotées de 0 à 199. Le bras est positionné sur
la piste 53. La liste des requêtes (n° de piste
recherchée) à servir est la suivante :
98, 183, 37, 122, 14, 124, 65, 67

Nadia Bel Hadj Aissa


FCFS: First Come First Serve
23

Mouvement total: 640 cylindres = (98-53) + (183-98)+...


En moyenne: 640/8 = 80
Nadia Bel Hadj Aissa
FCFS: First Come First Serve
24

 servir la requête arrivée en premier


 Implémentation simple. Intrinsèquement juste. Risque
de déplacement « sauvage » des têtes.

Au total 640
déplacements

Nadia Bel Hadj Aissa


SSTF: Shortest Seek Time First
25

12
2
30
23
84
24
2
59

Mouvement total: 236 cylindres


En moyenne: 236/8 = 29.5 Nadia Bel Hadj Aissa
SSTF: Shortest Seek Time First
26

 À chaque moment, choisir la requête avec le temps


de recherche le plus court à partir de la position
courante
 Réduire le temps de recherche
 Basé sur l’écart entre pistes. Analogue au SJF.
Risque de famine. Non optimal (contrairement au
SJF).

Nadia Bel Hadj Aissa


SCAN
27

 La tête balaye le disque dans une direction, puis dans la


direction opposée, etc., en desservant les requêtes quand il
passe sur le cylindre désiré
 Pas de famine

Algorithme de l'ascenseur balayage avant / arrière perpétuel


des pistes.
Service des requêtes en fonction de la position des têtes.
 Peu de travail à faire après le renversement de direction
Temps
 Les requêtes seront plus denses à l’autre extrémité

 Arrive inutilement jusqu’à 0

Nadia Bel Hadj Aissa


SCAN
28

direction

Mouvement total: 208 cylindres


En moyenne: 208/8 = 26
Nadia Bel Hadj Aissa

Vous aimerez peut-être aussi