GPA435 - Systèmes d'exploitation et programmation de système Université du Québec École de technologie supérieure Département de génie de la production automatisée GPA435 Systèmes d exploitation et programmation de système Chapitre 3 - ajout Systèmes de fichiers Copyright, 2001 Julie Dufort 1 Méthodes d allocation Il existe principalement 3 types de méthodes d allocation de l espace disque L allocation contiguë L allocation chaînée L allocation indexée 2
GPA435 - Systèmes d'exploitation et programmation de système Allocation contiguë Cette méthode exige que chacun des fichiers occupe des blocs disque qui se suivent La structure répertoire contient dans ce cas le nom du fichier, son bloc disque de départ et le nombre de blocs faisant partie du fichier 3 Allocation contiguë Répertoire fichier début longueur 0 1 2 3 4 5 6 7 8 9 Mail 0 2 10 11 12 13 14 15 16 17 18 19 Liste 7 5 20 21 22 23 24 temp 16 3 4
GPA435 - Systèmes d'exploitation et programmation de système Allocation contiguë Avantages : Peu de déplacements de la tête de lecture du disque lors de la lecture du fichier Lecture rapide du fichier Inconvénients : Fragmentation du disque lors de l effacement et de la réécriture des blocs disque le nouveau fichier peut être plus petit que l ancien Pour éviter la fragmentation, les algorithmes utilisés sont complexes et coûteux en temps il reste toujours de la fragmentation Comment déterminer l espace requis pour un fichier Augmentation de la taille du fichier è il faut déplacer le fichier 5 Allocation chaînée L allocation chaînée résoud les problèmes de l allocation contiguë Un fichier (dans l allocation chaînée) est constitué d une liste chaînée de blocs disque Chaque bloc contient un pointeur sur le bloc suivant La structure répertoire contient le nom du fichier, le bloc de départ et le bloc de fin Le dernier bloc contient un pointeur NULL 6
GPA435 - Systèmes d'exploitation et programmation de système Allocation chaînée fichier Répertoire début fin 0 1 2 18 3 4 Mail 9 22 5 6 7 8 9 16 10 2 11 12 13 14 15 1610 17 1822 19 20 21 22-1 23 24 7 Allocation chaînée Avantages : Pas de fragmentation du disque Augmentation de la taille du fichier è on change le dernier pointeur et l entrée «fin» dans la table de répertoire et on ajoute un ou des bloc de liés de la même façon Inconvénients : Lecture moins rapide du fichier On ne peut aller au x ième bloc du fichier directement, il faut parcourir chacun des blocs pour s y rendre De plus, si un pointeur est endommagé, toutes les des 8 blocs suivants sont perdues
GPA435 - Systèmes d'exploitation et programmation de système FAT une variation de l allocation chaînée Une section de disque au début de chaque partition contient une table d allocation de fichiers (FAT) La table contient une entrée pour chacun des blocs disque Elle est indexée par le numéro du bloc et le contenu de la table est le numéro du bloc suivant 9 FAT Répertoire fichier Bloc de début 0 Mail 217 217 618 Chacune des entrées fait référence à un bloc sur le disque 339 End-of-file Le contenu du fichier Mail est donc écrit dans les blocs 217, 618 et 339 618-1 339 FAT 10
GPA435 - Systèmes d'exploitation et programmation de système Allocation indexée L allocation indexée règle le problème d accès direct à un bloc de En effet, dans les méthodes avec chaînage, il faut suivre la liste de pointeurs avant d obtenir le numéro du bloc qui contient les voulues Dans l allocation indexée, chaque fichier à un bloc disque (ou une liste de blocs disque) contenant (chacun) un tableau de pointeurs sur les blocs contenant les du fichier 11 Allocation indexée Répertoire fichier Mail Bloc index 19 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 9 15 16 17 18 19 16 1 20 21 22 23 24 10-1 12
GPA435 - Systèmes d'exploitation et programmation de système Allocation indexée Inconvénient Difficulté de déterminer combien d éléments le bloc index doit contenir 13 Allocation indexée - INODE de UNIX (BSD) L entrée dans le répertoire point sur un INODE INODE = bloc index composé de 15 pointeurs Les 12 premiers pointeurs pointent sur des blocs de Le 13 ième pointe sur un bloc index dont les pointeurs pointent sur des (simple indirection) Le 14 ième pointe sur un bloc index dont les pointeurs pointent sur d autres blocs index dont les pointeurs pointent sur des (double indirection) Le 15 ième pointe sur un bloc index (triple indirection) 14
GPA435 - Systèmes d'exploitation et programmation de système INODE 1 2 13 14 15 Bloc index 15