790 likes | 1.14k Views
Système de fichiers. Ahmed Serhrouchni. Plan. Fichier: les concepts Système de gestion de fichier Exemple le système de fichier UNIX. Fichier: Concept. Espace d’adresse logique contiguë Types: Data numérique caractère binaire Programme. Fichier: Structure.
E N D
Système de fichiers Ahmed Serhrouchni
Plan • Fichier: les concepts • Système de gestion de fichier • Exemple le système de fichier UNIX
Fichier: Concept • Espace d’adresse logique contiguë • Types: • Data • numérique • caractère • binaire • Programme
Fichier: Structure • Sans - séquence de mots ou de bytes • Structure de données simple • Lignes • Longueur fixe • Longueur variable • Structures de données Complexes • Document avec format spécifique • La décision revient: • Au système d’exploitation • Ou au Programme
Fichier: Attribut • Nom – sous forme lisible • Type – pour permettre au système de supporter plusieurs types • Location – adresse pour localiser le fichier sur le périphérique • Taille – Taille courante du fichier • Protection – contrôle qui peut lire, écrire, exécuter • heure, date, et l’identificationde l’utilisateur– données pour la protection, securité, et l’administration • Ces Informations sur le fichier sont contenus dans une structure qui est maintenue dans le disque
Fichier: Opérations • Create • Write • Read • file seek – repositionne dans le fichier • Delete • Truncate • Open(Fi) – recherche la structure sur le disque de l’entrée Fi, et place le contenu de cette entrée en mémoire • Close (Fi) – place le contenu de cette entrée qui est en mémoire vers la structure sur le disque
Fichier: accès • Plusieurs éléments de données ont besoin d’être gérés pour l’accès au fichier: • pointeur de fichier: pointe sur la dernière position en read/write, par processus qui a ouvert le fichier • Compteur du nbr d’ouveture du fichier • Localisation du fichier sur le disque • Droits accès : par processus
Fichier: verrouillage en ouverture • Fournit par certains systèmes d’exploitation et systèmes de fichier • Médiateur pour accéder à un fichier
Fichier: méthodes d’accès • Accès Sequentiel read next write next reset no read after last write (rewrite) • Accès directe read n write n position to n read next write next rewrite n n = relative block number
Fichier: opérations sur les répertoires • Recherche d’un fichier • Créer un fichier • Détruire un fichier • Lister un répertoire • Renomer un fichier • Parcourir un système de fichier
Fichier: l’organisation des répertoires (logiquement) • Efficacité – localisation rapide d’un fichier • Nommage – commodité pour l’utilisateur • Deux utilisateurs peuvent avoir un même nom pour deux fichiers différents • Le même fichier peut avoir plusieurs noms différents • Groupage – groupage logique de fichiers sur la base de propriétés, (exp., tous les doc., tous les jeux, …)
Fichier: un niveau de répertoire • Un simple répertoire pour tous les utilisateurs Problèmes de nommage et de groupage
Fichier: deux niveaux de répertoire • Séparation du répertoire pour chaque utilisateur • Path name • Possibilité de même nom pour des utilisateurs différents • Recherche efficace • Pas de capacité de groupage
Fichier: arbre structuré de répertoire • Recherche efficace • Capacité de groupage • Répertoire courant (working directory) • cd /spell/mail/prog • type list
Fichier: arbre structuré de répertoire • Absolu ou relatif path name • Création d’un nouveau fichier se fait dans le répertoire courant • Détruire un fichier rm <file-name> • Création d’un nouveau sous répertoire dans le répertoire courant mkdir <dir-name>
Fichier: répertoire en Graphe Acyclique • Partage de répertoire et de fichiers
Fichier: Montage du système de fichier • Le SF doit être monté avant d’être accessible • UN SF non monté (Fig. 11-11(b)) est monté à un point de montage
Partage de fichier • Le partage de fichiers sur un système multi utilisateurs est des fois nécessaire • Le partage doit être conforme à un schéma de protection • Sur un systeme distribué, les fichiers doivent être partagés en réseau • Network File System (NFS) est samba sont des méthodes de partage de fichiers distribuées
Partage de fichier – Utilisateurs Multiple • User IDs identifie les utilisateurs, permet la mise en oeuvre des permissions et protections • Group IDs permet l’association d’un utilisateur à un groupe, permission d’accès aux membres d’un groupe
Listes d’accès et Groupes • Mode d’accès: read, write, execute • Trois classes d’usagers RWX a) owner access 7 1 1 1 RWX b) group access 6 1 1 0 RWX c) public access 1 0 0 1 owner group public chmod 761 game
Structure du SF • Structure du SF • Unité logique de stockage • LE SF réside sur la mémoire secondaire (disque). • SF organisé en couches. • File control block –structure de stockage contient les informations sur un fichier.
Structures du SF en mémoire • Les figures suivantes illustres les structures nécessaires fournit par l’OS • La figure (a) réfères un fichier ouvert. • La figure (b) réfères un fichier en lecture.
Virtual File Systems (VFS)ou Système de Fichier Virtuel • Le VFS une méthode orienté objet pour la mise en œuvre d’un SF. • VFS fournit une interface système unique (API) pour différents types de SF.
Implantation des répertoires • Liste Linéaire des noms de fichiers avec des pointeurs sur les blocs de données • simple pour le traitement • Consomme bcp. de tps d’exécution • Table de hachage– liste linéaire avec une structure de donnée avec hachage. • Recherche rapide • collisions – deux noms de fichiers peuvent donner la même localisation • Taille fixe
Méthodes Allocation • Une méthode allocation réfère comment allouer les blocs de données aux fichiers : • Allocation Contiguë • Allocation avec lien • Allocation indexée
Allocation Contiguë • Chaque fichier occupe un ensemble de blocs contigu sur le disque. • Simple – seulement le début de la location (block #) et la longueur (nombre de blocs) sont nécessaires. • Gaspillage d’espace (stockage dynamique –problème d’ allocation ). • Les fichiers ne peuvent augmenter de taille.
Systèmes basé sur des extensions • Certains SF nouveau (exp. Veritas File System) utilise un schéma d’allocation contiguë modifié. • « Extent-based file systems » alloue des blocs dans une extension. • une extension un ensemble de bloc de disque contiguë. Un fichier consiste en une ou plusieurs extension.
pointeur bloc = Allocation liée • Chaque fichier est désigné par une liste de blocs sur le disque : un bloc de la liste peut être situé n’importe où sur le disque.
Allocation liée • Simple – besoin uniquement du début de la liste • Pas d’espace pour la gestion système – aucun gaspillage d’espace • Pas d’accès aléatoire
Allocation par table d’index • Tous les pointeurs sont la table d’index « index block ». index table
Allocation Indexée • Besoin de table d’index • Accès aléatoire • Accès dynamique sans fragmentation externe, surcharge avec la table d’index.
Gestion de l’espace libre 0 1 2 n-1 • Bit vector (n blocks) … 0 block[i] libre 1 block[i] occuppé bit[i] = Calcul du numéro de Bloc (nombre de bits par mot) * (nombre de 0-valeur du mot) + offset du premier 1 bit
Gestion de l’espace libre • Bit map requires extra space. Example: block size = 212 bytes disk size = 230 bytes (1 gigabyte) n = 230/212 = 218 bits (or 32K bytes) • Facile d’avoir des fichiers contiguë • liste (free list) • Pas de gaspillage d’espace • Groupage • comptage