Implémentation des systèmes de fichiers. Didier Verna. didier@lrde.epita.fr http://www.lrde.epita.fr/ didier. Systèmes d Exploitation



Documents pareils
Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

EX4C Systèmes d exploitation. Séance 14 Structure des stockages de masse

Partie 7 : Gestion de la mémoire

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Structure fonctionnelle d un SGBD

SYSTÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Chapitre 3 : Système de gestion de fichiers

Systemes d'exploitation des ordinateurs

Cours de Système : Gestion de Fichiers

Présentation du module Base de données spatio-temporelles

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Technologie de déduplication de Barracuda Backup. Livre blanc

LA mémoire principale est le lieu où se trouvent les programmes et les

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Cours A7 : Temps Réel

Fonctionnalités d Acronis :

LES SYSTÈMES DE FICHIERS

4D v11 SQL BREAKING THE LIMITS * Les nouveautés

Conservation des documents numériques

BROCHURE TARIFAIRE Tarifs en vigueur à compter du 01 Septembre 2014

26 Centre de Sécurité et de

Cours Bases de données

Limitations of the Playstation 3 for High Performance Cluster Computing

Cours Informatique 1. Monsieur SADOUNI Salheddine

Big Data et Graphes : Quelques pistes de recherche

Aide à l installation et à la migration en HelloDoc 5.60

Système de Gestion de Fichiers

Programmation C. Apprendre à développer des programmes simples dans le langage C

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

Fonctions De Base D un Système D Exploitation. I- introduction : II- Gestion des processus :

CH.3 SYSTÈMES D'EXPLOITATION

IV- Comment fonctionne un ordinateur?

GESTION DE LA MEMOIRE

INSTALL ATION D UNE D I S T RIBUTION

TP3 : Manipulation et implantation de systèmes de fichiers 1

Solutions libres de stockage. Patrice Langlois / Antoine Puechlong Service Informatique IGMM CRBM CPBS

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre Université de Rennes I - IRISA

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

contexte cahier des charges critères de choix fonctionnalités configuration en pratique Bilan Conclusion Backuppc Logiciel de sauvegarde

Linux Partition Mini-HOWTO

L'organisation du système de fichier NTFS est encore plus complexe, fonctionnant un peu à la façon d'une base de données.

Cours d initiation à la programmation en C++ Johann Cuenin

Clients et agents Symantec NetBackup 7

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Architecture des ordinateurs

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

Gestion répartie de données - 1

Windows 7, Configuration

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

Réplication de données de classe entreprise pour environnements distribués et reprise sur sinistre

Big Data et Graphes : Quelques pistes de recherche

PGI EBP Openline

Sommaire. AIDAUCLIC BACKUP : Solution de sauvegarde en ligne 3. Quelles problématiques résout la solution? 3. Fonctionnement de la solution 4

GUIDE DE L UTILISATEUR Recoveo Récupérateur de données

TD : Codage des images

Partie théorique (20 points) :

Réalisation d un OS 32 bits pour PC(x86)

Documentation d information technique spécifique Education. PGI Open Line PRO

Les journées SQL Server 2013

À propos de cette page Recommandations pour le mot de passe... 26

Boot Camp Guide d installation et de configuration

SYSTÈME RAID 2-BAIES DISQUE DUR SATA 3,5

Gestion des sauvegardes

Procédure de restauration F8. Série LoRdi 2012 à Dell V131 V3360 L3330

Tivoli Endpoint Manager Introduction IBM Corporation

en version SAN ou NAS

ASR3. Partie 4 Le système de fichier. Arnaud Clérentin, IUT d Amiens, département Informatique

Programmation parallèle et distribuée

La gestion des disques

Extrait de uvrez/technique.mspx UREC MMSH (S. ZARDAN) 1

PACK ADSL WIFI. Configurer ma connexion ADSL avec Modem/Routeur Sagem 1400W

Janvier Entretien de l ordinateur

Effacement d'un disque dur avant mise au rebut. Denis PUGNÈRE IN2P3/IPNL A3IMP - La Grande Motte /09/2007

EMC AVAMAR. Logiciel et système de sauvegarde avec déduplication

Symantec Backup Exec 11d

Windows 10 Technical Preview

PROJET ALGORITHMIQUE ET PROGRAMMATION II

vbladecenter S! tout-en-un en version SAN ou NAS

Architecture des ordinateurs Introduction à l informatique

Les bases de données Page 1 / 8

Analyse et réalisation d un système de disques répartis à forte disponibilité

Acquisition des données

GPA770 Microélectronique appliquée Exercices série A

Acronis True Image 10 Home Edition

Transcription:

1/25 Implémentation des systèmes de fichiers didier@lrde.epita.fr http://www.lrde.epita.fr/ didier

2/25 Table des matières 1 2 Méthodes d allocation 3 Implémentation des répertoires 4 Implémentation du swap 5 Représentations de l espace libre 6 des systèmes de fichiers 7 s des systèmes de fichiers

4/25 Fonctionnalités requises Définir l interface utilisateur : caractéristiques et attributs des fichiers, opérations sur les fichiers, structures des répertoires etc. Définir l interface matérielle : structure de données, algorithmes, liaison entre système logique et dispositif de stockage en mémoire auxiliaire Programmes Système de fichiers logique Module d organisation des fichiers Système de fichiers de base Contrôle des Entrées / Sorties Connaissance de la structure de répertoires Mécanismes de protection / sécurité Traduction entre adresses de bloc logiques et physiques Gestion de l espace libre Commandes génériques de lecture / écriture de blocs physiques Drivers de périphériques Handlers d interruptions Prériphériques

6/25 et efficacité Utiliser la mémoire auxiliaire le plus efficacement possible Efficacité des entrées / sorties : transferts de données par «blocs» (Cf. aussi le DMA). = d espace disque également par bloc plutôt que par octet. Compromis espace / performance : blocs de 1K. Accès direct : par opposition aux périphériques à accès séquentiel (ex. bandes magnétiques). = Implémentation des méthodes d accès aux fichiers facile.

7/25 contiguë Exemple : IBM VM/CMS Principe Fichiers stockés par blocs contigus sur le disque Temps de positionnement des têtes minimal Entrée de répertoire : adresse du premier bloc et longueur (en nombre de blocs) Accès direct et séquentiel faciles à implémenter : il suffit de mémoriser l adresse du premier bloc Gestion de l espace libre : Cf. -fit, fragmentation externe, compactage etc. Problème majeur : fichiers de taille variable Trop d espace : fragmentation interne Pas assez d espace : déplacement (coûteux) du fichier. Pas toujours possible. Utilisation actuelle : CD / DVD-ROM

8/25 chaînée Principe Fichier = chaîne non contiguë de blocs disque Chaque bloc se termine par un pointeur sur le bloc suivant Une entrée de répertoire contient un pointeur sur le premier bloc Avantages Pas de fragmentation externe Pas de limite de taille Inconvénients Accès direct inefficace Fiabilité : perte de pointeur critique. Solutions : listes doublement chaînées, reproduction du nom de fichier et numéro de bloc dans chaque bloc etc. Coûteux dans tous les cas.

9/25 File Table (FAT) Variante de l allocation chaînée (MS-DOS, OS/2) Principe Une FAT au début de chaque partition Table indexée par numéros de bloc Chaque entrée pointe sur le numéro de bloc suivant Une entrée de répertoire contient un pointeur sur le premier bloc Avantages (à condition de mettre la FAT en mémoire) Moins de risque de corruption Accès séquentiel aussi rapide Accès direct (presque) aussi rapide que l accès séquentiel Inconvénients Taille de la FAT Disque de 20G, blocs de 1Kb = FAT de 80M

10/25 indexée («i-nodes») Schéma analogue à la pagination Principe Chaque fichier possède un bloc d index (1 er bloc) Une entrée de répertoire pointe sur le bloc d index La ie entrée du bloc d index pointe sur le i e bloc de données du fichier Avantages Implémentation efficace de l accès direct Table des i-nodes de taille proportionnelle au nombre de fichiers (Cf. FAT : taille du disque) Inconvénients Fragmentation interne plus grande qu avec l allocation chaînée Problème de la taille des index

11/25 Schémas d indexation Comment stocker des index sur plusieurs blocs? Schéma chaîné : réserver le dernier mot du bloc d index pour un pointeur sur le bloc d index suivant. Index à multiniveaux : analogue à la pagination à plusieurs niveaux. Index pointant sur des index pointant... sur des blocs de données. Indexation à 2 niveaux = Fichiers de l ordre de 10 Go. Schéma combiné : les premières entrées pointent sur des blocs de données. Les suivantes pointent sur des blocs d index de différents niveaux.

12/25 Structure des i-node Schéma combiné d Unix (BSD, System V) Droits UID / GID Date Taille Nombre de liens Bloc direct 1 Bloc direct 2... Bloc direct 10 Bloc indirect (1) Bloc indirect (2) Bloc indirect (3) Données Données... Données Index Données... Données Index Index Index Données... Données Données... Données

14/25 Implémentation des répertoires Liste linéaire : noms de fichiers / attributs / pointeurs sur des blocs de données, ou noms de fichiers / pointeurs sur des i-nodes. Avantage : implémentation simple Inconvénient : recherche linéaire dans la liste Caching des répertoires fréquemment utilisés. Triage de la liste (arbre binaire chaîné, recherche dichotomique etc.) Table de hachage : transformation des noms de fichiers en index de tableau (fonction de hachage). Avantage : temps de recherche plus court Inconvénient : tables de taille fixe, fonction de hachage dépendante de la taille de la table

16/25 Implémentation du swap Utilisation Stockage des images mémoires des processus Stockage des pages supprimées de la mémoire Emplacement Système de fichiers (Windows). Utilisation des primitives standard de création, destruction, allocation d espace. Implémentation facile. Inconvénient : lenteur. Partition distincte Pas de système de fichiers. Plus de fragmentation interne, mais accès plus efficace. Inconvénient : réservation de l espace au moment du formattage disque. Remarque : certains systèmes (ex. Solaris 2) permettent l existence de plusieurs espaces de swap, en partition ou en fichiers.

Représentation de l espace libre 18/25 Vecteur binaire : (Mac OS) représentation de chaque bloc dans l ordre par un bit d occupation. Instructions matérielles facilitant la manipulation (i386, 68030). Efficace à condition que le vecteur en entier soit maintenu en mémoire vive. Liste chaînée : un pointeur sur le premier bloc libre. Chaque bloc libre pointe sur le suivant. Inefficace en cas de besoin de plus d un bloc. Groupement : stockage des adresses de blocs libres dans autant de blocs libres que nécessaire. Efficace grâce au principe de lecture par bloc. Compactage : en général, plusieurs blocs libres se suivent. Stockage d une adresse de bloc et du nombre de blocs libres contigus. Liste plus courte que dans les cas précédents.

20/25 des systèmes de fichiers Profiter de la redondance... Vérification de blocs : parcours de tous les i-nodes et calcul de deux compteurs par blocs : présence dans des fichiers et dans l espace libre. Chaque bloc ne devrait être présent qu une fois : en libre ou en fichier. Vérification de fichiers : parcours de tous les répertoires et calcul d un compteur de références par fichier. Comparaison avec le compteur de référence de l i-node.

22/25 RAM = O(ns), disque = O(ms) Caching : Cf. algorithmes de pagination (LRU etc.). Mais attention aux blocs critiques pour la cohérence du système de fichiers : sauvegarder immédiatement tous les blocs structurels, ou simplement tous les blocs («write-through cache»). Read-ahead : lire à l avance plus d un bloc. Analogue à la prépagination. Intéressant pour l accès séquentiel. Organisation physique : profiter de blocs libres contigüs, maintenir une proximité entre les i-nodes et les blocs de données correspondants.

23/25 Structure des disques Piste Axe Secteur Têtes Cylindre Plateau

24/25 Délai de réception d une E/S Temps de positionnement : déplacement des têtes sur la piste (le cylindre) considéré(e). Temps de latence : passage du bloc sous la tête par rotation des plateaux. Temps de transfert : temps effectif de transfert des données vers (ou depuis) la mémoire.

Algorithmes d ordonnancement des disques 25/25 FCFS : servir la requête arrivée en premier. Implémentation simple. Intrinsèquement juste. Risque de déplacement «sauvage» des têtes. SSTF : servir la requête la plus proche de la position actuelle. Basé sur l écart entre pistes. Analogue au SJF. Risque de famine. Non optimal (contrairement au SJF). SCAN : balayage avant / arrière perpétuel des pistes. Service des requêtes en fonction de la position des têtes. Aussi appelé «ascenseur» ou «chasse-neige». C-SCAN : SCAN circulaire. En fin de disque, retour au début sans traiter aucune requête. [C-]LOOK : [C-]SCAN avec retour quand plus aucune requête n existe dans la direction courante. Le plus utilisé.