Vous êtes sur la page 1sur 14

Correction du TD N°1

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.

1. Si on commence la numérotation des blocs par 0 :

Enseignante : MBA 2
Exercice 2

2. Où doit on mémoriser cette liste ?

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.

4. On fait une demande d'allocation de 5 blocs supplémentaires. Que se passe-t-il ? Discuter


4.S’il s’agit d’une demande d’une zone contiguë de 05 blocs : la demande ne peut pas être
satisfaite. S’il s’agit de blocs pas nécessairement contigus, la demande peut être satisfaite. Les
blocs accordés sont : 2, 3, 4, 9, 12. La nouvelle liste est alors :

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

2. Calculer le nombre total des blocs (données et d’adresses)


utilisés par ce fichier.

2. Le nombre total de blocs= le nombre de bloc de données


+ le nombre de bloc d’adresses
*Le nombre de blocs de données = Taille du fichier/ taille du bloc
= 20000000/1024
= 19531,25 = 19532 blocs

Enseignante : MBA 6
Exercice 3

*Le nombre de blocs d’adresses


L’allocation est réalisée comme suit : 12 blocs de données
sont en accès direct pointés par les 12 premières entrées
de la table de l’inode.
Il reste à allouer 19532 – 12 = 19520 blocs de données.
Le niveau INDIRECT_1 permet d’allouer 256 blocs.
Il reste 19520 – 256 = 19264 blocs de données.

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

Au total 78 blocs d’adresses (ou d’index) sont donc


nécessaires.

Le nombre total de blocs= le nombre de bloc de données


+ le nombre de bloc d’adresses
= 19532+78=19610 blocs

Enseignante : MBA 10
Exercice 3

3. Calculer le nombre total d’octets (données et d’adresses) utilisés par ce


fichier.
3. Le nombre total d’octets utilisés= le nombre total de
blocs * Taille du bloc
= 19610*1024
= 20 080 640 octets
4. Calculer la perte due à la réservation des blocs de données.
4. La perte due à la réservation des blocs de données=(nombre total de blocs de
données -Taille du fichier/ taille du bloc) * Taille bloc

= (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.

6. Fragmentation interne totale résultant de la


sauvegarde de ce fichier= la perte due à la réservation
des blocs de données+ la perte due à la réservation des
pointeurs d’adressage
=768+1488=2270 octets

Enseignante : MBA 13
Enseignante : MBA 14

Vous aimerez peut-être aussi