Correction TD 2
Correction TD 2
Correction TD 2
Proposé par :
Mme BEN ABDELJELIL Mouna
Exercice 2
Un disque contient 32 blocs. En représentant un bloc libre par
1 et un bloc occupé par 0 on obtient le vecteur suivant :
00111000010011000111100011000000.
On veut représenter l’espace libre par une liste linéaire
chaînée dont chaque élément est un couple (num_bloc,
nbre_bloc) : num_bloc est le numéro du premier bloc d’un
ensemble de blocs libres contigus, nbre_bloc est le nombre
de blocs libres contigus de cet ensemble.
1. Donner la liste chaînée représentant l’espace libre en utilisant la méthode décrite.
Enseignante : MBA 2
Exercice 2
2. Cette liste doit être évidemment sauvegardée sur le disque, pour pouvoir la charger en
mémoire dès le lancement du système et la rendre disponible pour le module « gestion de
l’espace libre » du SGF.
3. On fait une demande d'allocation d'une zone de 4 blocs. Proposer une zone et donner le
nouvel état de la liste.
3. Zone accordée composée des blocs : 17, 18, 19 et 20.
Enseignante : MBA 3
Exercice 3
On considère un disque disposant d’un système de fichiers similaire à
celui d’UNIX avec une taille de blocs de 1 Ko et chaque pointeur
d’adressage est défini sur 4 octets.
On supposera que l’i-noeud de chaque fichier comporte 12 pointeurs
directs, 1 pointeur indirect simple, 1 pointeur indirect double et 1
pointeur indirect triple.
On désire sauvegarder un fichier texte contenant un total de
20.000.000 de caractères.
1. Quelle est la plus grande taille de fichier que ce système de fichiers
peut supporter ?
1. Le nombre d’adresses dans un bloc d’adresses =1024/4
=256 pointeurs.
Taille max d’un fichier = (12 +256 +2562 +2563) x 1ko
Enseignante : MBA 4
= 16 843 020 o
Taille max d’un fichier = (12 +256 +2562 +2563) x 1ko
Enseignante : MBA 5
Exercice 3
Enseignante : MBA 6
Exercice 3
Enseignante : MBA 7
On a à ce niveau un premier bloc d’adresses (ou d’index).
Le niveau INDIRECT_2 permet d’allouer au maximum 2562
blocs de données ce qui est largement supérieur à 19264.
Tous les blocs restants sont donc repérés à partir de ce
niveau. Il faut déterminer jusqu’à quelle profondeur.
On peut écrire que 19264 = 256 * 75 + 64, nécessite donc 76
blocs d’index INDIRECT_2_i (75 blocs d’index INDIRECT_2_i
pleinement utilisés et 1 dernier bloc d’index INDIRECT_2_76
avec uniquement les 64 premières entrées d’utilisées).
Enseignante : MBA 8
Enseignante : MBA 9
Exercice 3
Enseignante : MBA 10
Exercice 3
= (19532-19531,25)*1024=0.75*1024=768 octets
Enseignante : MBA 11
5. Calculer la perte due à la réservation des
pointeurs d’adressage.
5. La perte due à la réservation des pointeurs d’adressage
*bloc d’@ ID-simple : (NB Total de pointeur d’@ID-simple -Nb de pointeurs d’@
utilisés ID-simple ) * Taille de pointeur d’@
=(256-76)*4=720
*bloc d’@ ID-76 : (NB Total de pointeur d’@ID-76 -Nb de pointeurs d’@ utilisés
ID-76) * Taille de pointeur d’@
= (256-64)*4= 768
D’où la perte totale des pointeurs= 720+768= 1488 octets
Enseignante : MBA 12
Exercice 3
6. Déduire la fragmentation interne totale résultant de la
sauvegarde de ce fichier.
Enseignante : MBA 13
Enseignante : MBA 14