TD - 5 GF Corrigé
TD - 5 GF Corrigé
TD - 5 GF Corrigé
SYSTEME D’EXPLOITATION
TD 5 : Gestion de fichiers
Exercice 1
Soit un disque dur de 64 Go. La taille d’un bloc physique est fixée à 4Ko.
2) Quelle est la taille minimale (en bits) qu’il faut réserver pour une adresse d’un bloc.
3) Considérons un SGF utilisant la méthode d’allocation par liste chainée indexée à base d’une table
FAT. Calculer le nombre de blocks pour sauvegarder la FAT sur disque.
Nombre d’entrée de la FAT= nombre de blocs --> FAT contient 224 entrées
Chaque entrée est codées sur 24 bits
Taille de la FAT = 224 * 24 = 224 * 23 * 3 = 3*227 bits
Nombre de blocs pour enregistrer la FAT = Taille FAT / Taille bloc = 3*227 bits / 4K octets = 3*227 / 22
* 210 * 23 = 3*212 blocs = 12 288 blocs
4) Pour la mémorisation de blocs libres de cette unité disque, la méthode table de bits (bitmap) est
utilisée. Quelle est la taille de la table de bits, en blocs ?
Taille de la bitmap = nombre de blocs = 224 bits = 224 / 4 K octects = 224 * / 215 = 29 blocs
Exercice 2
1) On rappelle que les i-nodes sous BSD permettent d'adresser 12 blocs, 3 tables de niveau 1, 1 table de
niveau 2 et 1 table de niveau 3. Chaque table a 1024 entrées, et occupe elle même 1 bloc.
a. Quelle est, en nombre de blocs, la quantité maximale des données que peut contenir un
fichier? (vous pouvez répondre par une formule plutôt que par un résultat numérique).
b. Quelle est le nombre total de blocs nécessaires pour stocker un fichier dont la taille est de 10
blocs ?
10
c. Quelle est le nombre total de blocs nécessaires pour stocker un fichier dont la taille est de
1025 blocs ?
(12 + 1013) + 1
1
d. Quelle est le nombre total de blocs nécessaires pour stocker un fichier dont la taille est de
4000 blocs ?
2) On considère un autre système disposant d’un système de fichiers similaire à celui d’UNIX avec une
taille de blocs de données de 4K (4096 octets) et des pointeurs (numéros de blocs) définies sur 4 octets.
On supposera que le i-noeud de chaque fichier compte 12 pointeurs directs, 1 pointeur indirect simple,
1 pointeur indirect double et 1 pointeur indirect triple. On désire créer un fichier contenant un total
de 20.000.000 (vingt millions) de caractères (caractères de fin de ligne et de fin de fichier compris).
Quelle est la fragmentation interne totale sur le disque résultant de la création de ce fichier.
- Taille (fichier) = 20,000,000 = 4882 * 4096 + 3328 octets --> 4883 blocs pour conserver les
données de ce fichier.
- Les pointeurs directs de l’i-noeud : accéder à 12 de ces blocs.
- Reste 4871 blocs l'accès indirects.
- Il faudra ajouter des blocs de pointeurs vers ces blocs de données.
- Le pointeur de lien indirect simple: 1024 pointeurs vers des blocs de données.
- 1 bloc de pointeurs est ajouté: il reste 4871 - 1024 = 3847 blocs à traiter.
- Le pointeur de lien indirect double permet d'accéder à 1024*1024 blocs.
- Il suffit d'utiliser 4 blocs de données pour stocker les 3847 pointeurs de blocs permettant
d'accéder aux données restantes.
2
- C : (4096-3847)*4 = 996 octets dans le dernier bloc de pointeurs alloué
- D :768 octets dans le dernier bloc de données.
Exercice 3 :
Un disque dur est formaté avec un système FAT16 dont la taille du « cluster » est 4 octets (1 bloc
logique= 1 bloc physiques).
3
6) Schématiser la structure des blocs physiques du disque en indiquant l’emplacement mémoire des
fichiers F1, F2 et F3.
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
4
b) Citer les avantages et inconvénients de cette allocation
Avantage : Simple, Déplacement minimal du bras du disque.
8) Un fichier F4 de taille 15 octets est ajouté sur le disque. On suppose que les tailles des fichiers F1, F2
et F3 après modification sont respectivement 6 octets, 5 octets et 14 octets.
a) Calculer le pourcentage d’occupation des blocs physique. Est-ce que la taille du bloc physique
est optimale ?
% d’occupation des blocs physiques= Taille logique (F1, F2, F3, F4) / Taille physique * 100 =
(15 + 6 + 5 + 14) octets / (4 + 2 + 2 + 4) blocs * 4 octets = 40 octets / 48 octets = 83,33% --> taille bloc
physique n’est pas optimale