Chapitre 3 Systèmes de gestion de fichiers

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

Programmation impérative

GESTION DES FICHIERS C/UNIX

Le système de gestion des fichiers, les entrées/sorties.

Cours de Système : Gestion de Fichiers

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

SYSTÈME DE GESTION DE FICHIERS

Cours 6 : Tubes anonymes et nommés

Système de Gestion de Fichiers

Chapitre 3 : Système de gestion de fichiers

Unix/Linux I. 1 ere année DUT. Université marne la vallée

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

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

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

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

Table des matières Hakim Benameurlaine 1

Chapitre 10 Arithmétique réelle

Programmation système I Les entrées/sorties

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

PPe jaune. Domingues Almeida Nicolas Collin Leo Ferdioui Lamia Sannier Vincent [PPE PROJET FTP]

C.M. 1 & 2 : Prise en main de Linux

Introduction au Système d Exploitation Unix/Linux

Le Network File System de Sun (NFS)

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

Les Boitiers de Vote Electroniques (Clickers)

TP : Gestion d une image au format PGM

Programmation système de commandes en C

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

Licence Sciences et Technologies Examen janvier 2010

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

Gestion des fichiers. Telecom-ParisTech BCI Informatique

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

PROJET ALGORITHMIQUE ET PROGRAMMATION II

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

SERVEUR DE SAUVEGARDE POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

Introduction à la Programmation Parallèle: MPI

Introduction aux Systèmes et aux Réseaux

Structure fonctionnelle d un SGBD

Les processus. Système L3, /39

SRAL Saint Raphaël. Maison des associations 213, rue de la Soleillette Saint Raphaël. : : dromain.jean-pierre@neuf.

Personnes ressources Tice. Académie de Rouen

Sécurisation de Windows NT 4.0. et Windows 2000

1.1 L EXPLORATEUR WINDOWS

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

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

La Comptabilité UNIX System V Acctcom

TD séances n 3 et n 4 Répertoires et Fichiers sous Unix

Gestion répartie de données - 1

Playing with ptrace() for fun and profit

Programmation système en C/C++

Systèmes d exploitation

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.

Chapitre 3. Sécurité des Objets

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

TP 1 Prise en main de l environnement Unix

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Réparer un disque dur passé en RAW

Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires.

Les fichiers. Chapitre 4

1 Mesure de la performance d un système temps réel : la gigue

Encryptions, compression et partitionnement des données

Technologie SDS (Software-Defined Storage) de DataCore

Cours Programmation Système

Exporter des écritures. Importer des écritures. Depuis EBP Comptabilité.

_ PARAMETRE DU COMPTE _ ACCEUIL. 1 ere Etape «Créer un compte principal» Créer un compte secondaire. Ouvrir un compte principal

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

1 Lecture de fichiers

Plan global. Programmation système II. Socket du domaine UNIX. Plan. Socket UNIX, Terminaux, Async IO, Mémoire, ELF.

3 L'arborescence Windows

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Installation d un poste i. Partage et Portage & permissions NTFS

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

Compression de Données - Algorithme de Huffman Document de Conception

TP1 - Prise en main de l environnement Unix.

Partie 7 : Gestion de la mémoire

Plan du cours. Historique du langage Nouveautés de Java 7

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan

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

WINDOWS SERVER 2003 Maintenance d'active directory V1.0

Organiser le disque dur Dossiers Fichiers

Créer le schéma relationnel d une base de données ACCESS

Automatisation de l administration système avec

Réparer un disque dur passé en RAW

table des matières Administration système

Créer et partager des fichiers

Mise à jour : February 4, / 93

Outils pour la pratique

Systèmes de fichiers répartis

CREATION WEB DYNAMIQUE

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

TP1 : Initiation à l algorithmique (1 séance)

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

Création et Gestion des tables

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Transcription:

Chapitre 3 Systèmes de gestion de fichiers Jean Privat Université du Québec à Montréal INF3172 Principes des systèmes d exploitation Automne 2016 Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 1 / 54

Plan 1 Systèmes de fichiers 2 Table des inodes 3 Liens durs et liens symboliques 4 Accès et modification des fichiers 5 Adressage des fichiers 6 Traitement des fichiers ouverts 7 Fiabilité de l espace disque Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 2 / 54

Plan 1 Systèmes de fichiers 2 Table des inodes 3 Liens durs et liens symboliques 4 Accès et modification des fichiers 5 Adressage des fichiers 6 Traitement des fichiers ouverts 7 Fiabilité de l espace disque Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 3 / 54

Rappel Rôles d un SE Gestion des processus Gestion de l espace mémoire Gestion de l espace disque Gestion des entrées-sorties Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 4 / 54

Gestion de l espace disque Objectifs Gérer l espace, répondre aux demandes d allocation et de libération de l espace Donner à l utilisateur une abstraction cohérente et indépendante du mode de gestion de l espace Notion de base : le fichier La partie du SE qui s occupe des fichiers : Système de gestion de fichiers (SGF) Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 5 / 54

Les fichiers Besoins de l utilisateur (et des logiciels) Contenu défini par l utilisateur Fichiers nommés (plutôt que numérotés) Organisés pour les retrouver facilement Notion de propriétaire et droits d accès Indépendants du matériel Il veut aussi un SGF extensible Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 6 / 54

Hiérarchie de fichiers Sous Unix La racine s appelle / (slash) et elle est unique Sous Windows Plusieurs racines possibles (C :, etc.) Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 7 / 54

Fichiers sous Unix Un principe Unix de base Tout est fichier Fichiers standards Textes, exécutables, code source, images... Contenu décidés par l utilisateur Fichiers spéciaux Répertoires, fichiers physiques (dans /dev), liens symboliques, tubes nommés... Manipulation par des appels systèmes spécifiques Règles au cas par cas Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 8 / 54

Partitions Morceau du système de fichier Chaque partition est indépendante Mais partie d un grand tout Montage et démontage Une partition est montée dans un répertoire Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 9 / 54

Partitions Partition de l espace disque = Système de fichier simple Contient tout le nécessaire pour sa bonne gestion Se compose de deux parties Espace de gestion Espace de donnée Différents types de partition (différents systèmes de fichier) FAT32, NTFS, HFS+, EXT4, BTRFS, XFS... Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 10 / 54

Partitions Espace de gestion Table des i-nodes (i-nœuds) : matricule des fichiers Un moyen de connaître les blocs libres Espace de données Contient les contenus des fichiers Utilisation de blocs de taille identique (en général) Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 11 / 54

Plan 1 Systèmes de fichiers 2 Table des inodes 3 Liens durs et liens symboliques 4 Accès et modification des fichiers 5 Adressage des fichiers 6 Traitement des fichiers ouverts 7 Fiabilité de l espace disque Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 12 / 54

Table des inodes Une entrée = un fichier numéro d inode type de l inode (fichier standard, répertoire...) propriétaire (uid, gid) droits (utilisateur, groupe, autre) taille du fichier en octets dates (plusieurs sortes) nombre de liens durs pointeurs vers blocs de donnée Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 13 / 54

Nom de fichiers et répertoires Le nom des fichiers n apparaît pas dans la tables des inodes Les donnés d un répertoire contiennent uniquement la liste des fichiers avec leurs numéros d inodes et leurs noms 253.. 146. 540 f i c e l l e 490 repondeur Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 14 / 54

Droits et propriétaires Système utilisateur-groupe-autres Chaque utilisateur et associé à une identité (uid) et à un groupe (gid) Chaque processus lancé par un utilisateur est associé à son uid et son gid Chaque fichier du système possède un utilisateur propriétaire et un groupe propriétaire Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 15 / 54

Droits des fichiers Un triplet de 3 droits (rwx) est assigné à chaque classe de propriétaire (ugo) r (read/lecture) : Le contenu du fichier/répertoire est accessible en lecture w (write/écriture) : Le contenu du fichier/répertoire est accessible en écriture (modifiable) x (execute/exécution) : Le fichier est exécutable. Le répertoire est traversable Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 16 / 54

Exemple Table des inodes i n o d e type d r o i t s prop t a i l l e 2 d rwxr xr x 0 ; 0 2048 795 d rwxr xr x 470;47001 1024 1450 rwxr x 470;47001 125 Contenu répertoires / r e p u s / 2.. 2.. 795. 2. 1450 f i f r e 795 r e p u s Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 17 / 54

Dates (Unix) Trois types de dates mtime : date de dernière modification du fichier ctime : date de dernière modification de l entrée dans la table des inodes atime : date de dernier accès au fichier (lecture) Représentation Stockées en temps Unix Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 18 / 54

Plan 1 Systèmes de fichiers 2 Table des inodes 3 Liens durs et liens symboliques 4 Accès et modification des fichiers 5 Adressage des fichiers 6 Traitement des fichiers ouverts 7 Fiabilité de l espace disque Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 19 / 54

Liens durs Définition Des entrées dans un ou plusieurs répertoires (avec possiblement des noms de fichiers distincts) qui référencent un même inode Le champ nombre de liens durs de la table des inodes compte le nombre de références Piège Les liens durs ne sont pas des liens Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 20 / 54

Création de liens durs Commande ln et appel système link() $ ln oldpath newpath int link (const char oldpath, const char newpath) Attention : pas de distinction entre l original et le lien Tous les deux «sont» le même fichier Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 21 / 54

Suppression d un fichier Algorithme Supprimer l entrée dans le répertoire; Décrémenter le nombre de liens durs; si nombre de liens durs = 0 alors Supprimer l inode dans la table; Libérer les blocs pointés; fin Commande rm et appel système unlink() $ rm pathname int unlink (const char pathname) Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 22 / 54

Limites de liens durs Forcément sur la même partition Pas de liens durs entre répertoires Pas forcément l effet voulu lors de l écrasement de fichiers Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 23 / 54

Liens symboliques Objectif Résoudre les limitations des liens durs Nouveau type de fichier (L) Contenu : un chemin (relatif ou absolu) Même vers un fichier spécial : répertoire, fichier périphérique, un autre lien symbolique Même vers une autre partition Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 24 / 54

Création de liens symboliques Appel système symlink(), commande ln $ ln s oldpath newpath int symlink(const char oldpath, const char newpath) Comportement Le nombre de liens dur de l orginal reste inchangé Accéder au lien symbolique revient à manipuler le fichier lié Le SE fait le travail automatiquement Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 25 / 54

Plan 1 Systèmes de fichiers 2 Table des inodes 3 Liens durs et liens symboliques 4 Accès et modification des fichiers 5 Adressage des fichiers 6 Traitement des fichiers ouverts 7 Fiabilité de l espace disque Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 26 / 54

Accès à l inode Commandes ls et stat $ ls li monfichier 4965657 rwx 1 p r i v a t p r o f 2975 2007 08 29 17:15 m o n f i c h i e r Appel système stat() et lstat() int stat (const char path, struct stat buf); int lstat (const char path, struct stat buf); Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 27 / 54

Modification de l inode Droits d accès chmod et chmod() Propriétaires chown, chgrp et chown() Dates touch et utime() Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 28 / 54

Manipulation des fichiers Déplacer, renommer Commande mv, appel système rename() Copier Commande cp, pas d appel système Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 29 / 54

Manipulation de fichiers Niveau Unix (norme POSIX, volume 2 du man) creat(), open(), read(), write(), close() Niveau C (norme C89, volume 3 du man) fopen(), fread(), fwrite(), fprintf(), fclose() Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 30 / 54

Répertoires Les répertoires sont des fichiers spéciaux Manipulés de façon spéciale Associent numéro d inode et nom de fichier Fonctions Unix (portables) DIR *opendir(const char *nom) ; struct dirent *readdir(dir *dir) ; int closedir(dir *dir) ; int chdir(const char *path) ; char *getcwd(char *buf, size_t size) ; Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 31 / 54

Descripteurs de fichiers Désignent un fichier ouvert Dans un processus, chaque fichier ouvert manipulé via un descripteur de fichier C est un entier de type int Trois descripteurs par défaut 0 : entrée standard 1 : sortie standard 2 : sortie standard pour les messages d erreur Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 32 / 54

Utilisation des descripteurs Ouverture d un fichier int creat(const char *pathname, int mode) ; retourne le descripteur de fichier (ou -1) Exemple plus long char message = " H e l l o World " ; i n t fd = c r e a t ( " h e l l o ", S_IRWXU ) ; w r i t e ( fd, message, s t r l e n ( message ) ) ; c l o s e ( fd ) ; Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 33 / 54

Masque de création de fichiers Quels droits pour les fichiers crées C est l utilisateur qui choisit? C est le programme qui choisit? C est l administrateur qui choisit? Il y a un moyen de combiner les trois umask, le masque de création de fichiers Chaque processus a un masque Les droits de l umask sont éliminés des fichiers crées Règle de bonne programmation Utiliser les droits les plus larges L umask fera le reste Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 34 / 54

Plan 1 Systèmes de fichiers 2 Table des inodes 3 Liens durs et liens symboliques 4 Accès et modification des fichiers 5 Adressage des fichiers 6 Traitement des fichiers ouverts 7 Fiabilité de l espace disque Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 35 / 54

Adressage des fichiers Rappel L espace de donnée est divisé en blocs Les données d un fichier sont réparties entre blocs (la table des inodes en contient l adresse) Pointeurs vers les blocs de donnée Pointeur direct : contient l adresse d un bloc de donnée Pointeur indirect : contient l adresse d un bloc contenant des pointeurs directs Pointeur indirect double : contient l adresse d un bloc contenant des pointeurs indirects Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 36 / 54

Adressage des fichier Exercice Dans la table des inodes Il y a 13 pointeurs de blocs : 10 sont des pointeurs directs 1 est indirect 1 est indirect double 1 est indirect triple Un bloc fait 2k Un pointeur de bloc est représenté sur 32 bits Question Quel est la taille maximale d un fichier? Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 37 / 54

Plan 1 Systèmes de fichiers 2 Table des inodes 3 Liens durs et liens symboliques 4 Accès et modification des fichiers 5 Adressage des fichiers 6 Traitement des fichiers ouverts 7 Fiabilité de l espace disque Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 38 / 54

Table des descripteurs Rappel Un processus manipule des descripteurs de fichiers Le SE s occupe de l accès et de la cohérence des fichiers Mise en œuvre Une table des descripteurs par processus Le descripteur est un indice de cette table Le SE s occupe des tables des inodes Le SE gère un tampon pour optimiser les accès Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 39 / 54

Tables du SE (globales) Table des inodes en mémoire (TIM) Une entrée par fichier ouvert C est l ensemble des caches de l ensemble des fichiers ouverts du SE Le SE essaye de minimiser les accès disques Il y a un asynchronisme entre les demandes de l utilisateur et les écritures effectives sur le disque. Table des fichiers ouverts (TFO) Une entrée par demande d ouverture de fichiers Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 40 / 54

Contenu des tables Table des descripteurs (TD) pointeur vers la table fichiers ouverts Table fichiers ouverts (TFO) nbre descripteurs (de TD) mode d ouverture (lecture, écriture) position (voir appel système lseek()) pointeur vers la table des inodes en mémoire Table inodes en mémoire (TIM) nombre pointeurs (de TFO) données des fichiers (méta-infos, caches) Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 41 / 54

Ouverture multiple de fichiers Principe Un même fichier peut être manipulé indépendamment par deux processus Exemple Deux processus font un open() d un même fichier Chacun a un descripteur Chaque descripteur pointe vers une entrée de la table des fichiers ouverts Chaque entrée de la table des fichiers ouvert pointe vers le même inode en mémoire Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 42 / 54

Héritage entre processus Lors d un fork() (en plus du reste) La table des descripteurs est dupliquée Les compteurs de la tables des fichiers ouverts sont incrémentés L entrée dans la tables des fichiers ouverts est partagée en particulier le compteur de position Exemple Entrée et sorties standard Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 43 / 54

Duplication de descripteurs Descripteurs synonymes Deux descripteurs d un même processus peuvent pointer une même entrée dans la table des fichiers ouverts Appels systèmes dup() et dup2() Quel est l intérêt? Redéfinir les entrées et sorties standard Communication par tube (pour plus tard) Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 44 / 54

Exemple Redirection de la sortie standard i n t o = c r e a t ( " s o r t i e ", 0 6 6 6 ) ; i f ( o == 1) { p e r r o r ( " I m p o s s i b l e d o u v r i r s o r t i e " ) ; e x i t ( 1 ) ; } c l o s e ( 1 ) ; dup2 ( o, 1 ) ; p r i n t f ( " H e l l o World!\ n" ) ; Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 45 / 54

Fermeture d un fichier Algorithme du close() Le descripteur est libéré; Le compteur dans la TFO est décrémenté; si compteur FO == 0 alors L entrée dans la TFO est libérée; Le compteur dans la TIM est décrémenté; si compteur IM == 0 alors L entrée dans la TIM est synchronisée; L entrée est libérée; fin fin Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 46 / 54

Fin des processus Le SE nettoie Lors de la terminaison d un processus, le SE ferme tous les descripteurs restés ouverts. Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 47 / 54

Pour résumer Lors d un open() Une entrée dans la TFO est crée Le processus obtient un descripteur vers cette entrée Cette entrée pointe vers la TIM Soit vers une nouvelle entrée Soit vers une entrée existante Deux descripteurs peuvent pointer une même entrée dans la TFO Soit par héritage : fork() Soit par duplication de descripteurs : dup() Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 48 / 54

Plan 1 Systèmes de fichiers 2 Table des inodes 3 Liens durs et liens symboliques 4 Accès et modification des fichiers 5 Adressage des fichiers 6 Traitement des fichiers ouverts 7 Fiabilité de l espace disque Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 49 / 54

Besoin de fiabilité L important Les données sont la partie essentielle d un système informatique «Système d information» : la valeur est dans les informations, pas dans le système Administrateur système Un des rôle d un administrateur système est de garantir que les données ne sont ni perdues ni corrompues Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 50 / 54

Sauvegarde (backup) Objectifs Récupérer d une catastrophe naturelle Récupérer d une erreur humaine Moyens Dupliquer les données Conserver un historique Stocker le double ailleurs Deux approches Sauvegarde physique vs. sauvegarde logique Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 51 / 54

Cohérence d un SGF Cohérence L incohérence d un système de fichier peut amener à des pertes de données Dans l idéal, la cohérence doit pouvoir être garantie par le SGF En pratique, cet idéal n est pas atteignable besoin de vérifier la cohérence besoin de corriger les incohérences Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 52 / 54

Incohérences d un SGF Quelques exemples Un bloc est à la fois libre et utilisé Le nombre des liens durs est incohérent Deux fichiers occupent un même bloc Les dates indiquent le futur La taille est plus grande que le maximum Un répertoire contient un fichier avec un numéro d inode inexistant Deux problèmes Détecter Corriger Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 53 / 54

Comment vérifier Certaines vérifications prennent du temps parcours nécessaire de l arborescence parcours de la table des inodes et des blocs d indirection Quand faire les vérifications le moins souvent possible quand un risque incohérence est détecté Jean Privat (UQAM) 03 SGF INF3172 Automne 2016 54 / 54