Système de fichiers Ahmed Serhrouchni.

Slides:



Advertisements
Présentations similaires
Formation - Fedora et VMware
Advertisements

Active Directory Windows 2003 Server
Module Systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
Structures de données avancées : Introduction
GEF 435 Principes des systèmes dexploitation Structure du logiciel dE/S Partie II (Tanenbaum & 5.3.4)
Stockage de données.
GEF 435 Principes des systèmes dexploitation Concepts des Systèmes dexploitation (Tanenbaum 1.5)
Gestion de FICHIERS.
Mémoire & Processus Cours SE - SRC
Systèmes d’Exploitation
SYSTEME D’EXPLOITATION
Systèmes d'exploitations GRARI Mounir ESTO Année 2011.
Active Directory Windows 2003 Server
CPI 2005 Théorie des systèmes d’exploitation
Gestion de la Mémoire Bases Swapping Allocation Contigue Pagination
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
Hachage et Indexation 1. Concepts de base 2. Organisations par hachage
TP Fichiers et Tableaux Avril Un fichier Permet le stockage de données sur des supports de mémoire externes (donc les données ne seront pas perdues.
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2001 © Julie Dufort, M. Ing. Chapitre 3 - ajout Systèmes de fichiers.
Systèmes d'exploitations
Standard Template Library (STL)
Structures de données IFT-2000
LES FICHIERS Un exemple : Unix.
Allocation de mémoire Allocation de mémoire.
FICHIERS : Définition : Algorithme général:
Les fichiers indexés (Les B-arbres)
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Structures de données IFT-2000 Abder Alikacem Standard Template library Édition Septembre 2009 Département dinformatique et de génie logiciel.
Stockage Secondaire: Disques
Operations de Base en C++ sur les Fichiers
Standard Template Library
Plan cours La notion de pointeur et d’adresse mémoire.
Le langage C Structures de données
Sécurité des Systèmes Informatique
Le langage C Rappel Pointeurs & Allocation de mémoire.
Gérer la sécurité des mots de passe et les ressources
Hachage et Indexation 1. Concepts de base
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
SYSTÈME D’EXPLOITATION I
Créer des packages.
SYSTÈME D’EXPLOITATION I
Labo 4 : Les structures et les entrées et sorties
1 Extension du modèle de composants CORBA avec accès concurrent à des données partagées Travail réalisé par : Landry BREUIL PFE, ISIMA Encadrants : Gabriel.
Programmation Système et Réseau
ETNA – 1ème année Guillaume Belmas –
SYSTÈME D’EXPLOITATION I
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
Structure de stockage et relations
Serveur Linux Christophe BECKER.
1 Système d’exploitation Les scripts csh 1 ère Année Année Tienté HSU.
Classe 1 CSI2572 Autres modificateurs de déclaration de variables: & volatile & register & static & auto & extern & const volatile Indique au compilateur.
Les fichiers 1ère partie
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
Elaboré par Ahmed BESSAIDI
1.1 Fichiers et systèmes de fichiers Fichiers et Systèmes de fichiers.
Doan Chien Thang Aôut,2008.  La vue d'ensemble des systèmes d'exploitation  Les processus et les fils  Gestion de la mémoire  Le système des fichiers.
COMPARAISON DES SYSTEMES DE GESTION DE FICHIERS LINUX / WINDOWS NT
1 UMLV  FICHIERS Mémoire de masse découpée en blocs Fichier :liste chaînée de blocs, ou arbre de blocs (répertoires - fichiers)‏ Bloc d’éléments Bloc.
Système de gestion fichiers
Structures de données avancées : Principales structures de fichiers
LE SYSTEME DE GESTION DE FICHIERS
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Introduction D. E ZEGOUR Institut National d ’Informatique.
Chapitre 3 L’accès aux données.
Ordinateurs, Structure et Applications
ALLOCATION DU CPU et GESTION DES TRAVAUX.
Configuration NAT Dynamique
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Transcription de la présentation:

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’identification de 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: Types, Nom, Extension

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 rewrite n n = relative block number

Fichier: accès séquentiel

Fichier: Simulation de l’accès séquentiel sur accès direct

Fichier: exemple d’un index de fichier relatif

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

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: répertoire en graphe générale

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

(a) Existante. (b) Partition non monté

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

SF de fichiers en couches

Structure: File Control Block

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.

Structures du SF en mémoire

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.

Vue Schématique d’un VFS

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.

Allocation Contiguë d’espace disque

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.

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. pointeur bloc =

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 basée sur les liens

File-Allocation Table

Allocation par table d’index Tous les pointeurs sont la table d’index « index block ». index table

Exemple d’allocation basée sur la table d’index

Allocation Indexée Besoin de table d’index Accès aléatoire Accès dynamique sans fragmentation externe, surcharge avec la table d’index.

Schéma: exemple UNIX (4K bytes par block)

Gestion de l’espace libre 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

Liste liée des espaces libres sur le disque

Le système de fichier Unix L’un des systèmes le plus populaire depuis 1969 Ecris en langage C avec un petit noyau Le système de fichier Unix Structure globale pour le stockage et contrôle des données sur le système. La caractéristique la plus signifiante du système UNIX

Vue globale des fichiers UNIX Tout est considéré comme fichier et tout fichier est une suite d’octets (aucune structure) Quatre types de fichier régulier: ASCII files répertoire: contient une liste de noms de fichiers avec un pointeur sur leur inode spéciale: périphérique - imprimante, terminal pipe: FIFO inode: index node représente un fichier. Tout accès à un fichier doit faire usage des informations de l’inode.

Structure INODE Information de gestion et d’adressage physiques du fichier : file mode count of hard links owner id group id time of last file access time of last file modification time of last inode modification file size file addresses

Adresses des blocks de données dans un INODE Block comme unité d’adresse de base, BLOCKSIZE est constant 13 pointeurs directe ou indirecte sur les blocks qui contiennent les données du fichier Pointeurs 0-9: adresses directe des blocks contenant les données du fichier Pointer 10: adresse indirecte simple, vers des blocks qui contiennent les adresses vers les blocks qui contiennent les données du fichier Pointer 11: adresse double indirection … Pointer 12: adresse triple indirection …

Adresses des blocks de données dans un INODE Direct block addresses 000 001 ……. 009 010 011 012 Indirect block addresses Double indirect block addresses Triple indirect block addresses File data blocks

Adresses des blocks de données dans un INODE Taille du fichier: blocksize = 1K, adresse du bloc est sur quatre octets en mémoire (1024 / 4 = 256 adresses de blocs dans un bloc): Adresse directe de bloc: 10K Adresse indirecte de bloc : 256K Adresse double indirecte de bloc : 256 * 256K = 64M Adresse triple indirecte de bloc : 256 * 64M = 16G adresses pour les fichiers spéciaux: seulement les deux premiers pointeurs sont utilisés: numéro du contrôleur, numéro du périphérique (major et minor number) Adresses des PIPEs sont limités à 10K

Vue externe d’un SF root ( / ) user bin dev etc hello.c ls.tmp junk vi tty1 mto tty2 null

Vue interne d’un SF Block 0 Boot Block 1 Super Block 2 i-list Blocks …… . . . FD-1 Last i-list Blocks FD First Data Block . . Data Blocks . T Total Blocks in File System

Vue interne d’un SF Boot Block: le premier bloc du SF UNIX, contient le programme boot et d’autres informations d’initialisation ou non utilisée. Super Block: le second bloc, contient l’ensemble des informations spécifiques sur le SF i-list Blocks: liste des inodes pour le SF, contigu au super block. Le nombre d’inodes est spécifié by par l’administrateur système Data Blocks: immédiatement après la i-list et occupe le reste des blocs.

Organisation des Blocs libres Tous les blocs libres sont dans la chaîne des free-block. Dans le superbloc l’entrée s_free[0] est la tête de chaîne des free-block est pointe vers la suivante adresse des free-block. Structure du bloc adresse des Free-block: struct { int df_nfree; d_addr_t df_free[NICFREE]; }

Structure des Blocs libres s_nfree s_free[0] s_free[1] …… s_free[49] df_nfree df_free[0] df_free[1] …… df_free[49] df_nfree df_free[0] df_free[1] …… df_free[49] df_nfree df_free[0] df_free[1] …… df_free[49] df_nfree df_free[0] df_free[1] …… df_free[49]

Appels systèmes du SF UNIX 19 appels systèmes en 7 catégories: Return file desp. Assign inodes Set file attr. Process input/ output Change file system Modify view of file system Use namei algorithm open close creat pipe dup creat link unlink chown chmod stat fstat read write lseek mount umount chdir chroot open creat mknod chdir chroot chown chmod stat mount umount