La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Chap 111 Module 9 Systèmes de fichiers – Chapitres 10 et 11 (Silberchatz)

Présentations similaires


Présentation au sujet: "Chap 111 Module 9 Systèmes de fichiers – Chapitres 10 et 11 (Silberchatz)"— Transcription de la présentation:

1 Chap 111 Module 9 Systèmes de fichiers – Chapitres 10 et 11 (Silberchatz)

2 Chap 112 Concepts importants du chapitre n Systèmes fichiers n Méthodes daccès n Structures Répertoires n Protection n Structures de systèmes fichiers n Méthodes dallocation n Gestion de lespace libre n Implémentation de répertoires n Questions defficacité

3 Chap 113 Que cest quun fichier n Collection nommée dinformations apparentées, enregistrée sur un stockage secondaire u Nature permanente n Les données qui se trouvent sur un stockage secondaires doivent être dans un fichier n Différents types: u Données (binaire, numérique, caractères….) u Programmes

4 Chap 114 Structures de fichiers n Aucune – séquences doctets… n Texte: Lignes, pages, docs formatés n Source: classes, méthodes, procédures… n Etc.

5 Chap 115 Attributs dun fichier n Constituent les propriétés du fichiers et sont stockés dans un fichier spécial appelé répertoire (directory). Exemples dattributs: u Nom: F pour permet aux personnes daccéder au fichier u Identificateur: F Un nombre permettant au SE didentifier le fichier u Type: F Ex: binaire, ou texte; lorsque le SE supporte cela u Position: F Indique le disque et ladresse du fichier sur disque u Taille: F En bytes ou en blocs u Protection: F Détermine qui peut écrire, lire, exécuter… u Date: F pour la dernière modification, ou dernière utilisation u Autres…

6 Chap 116 Opérations sur les fichiers: de base n Création n Écriture u Pointeur décriture qui donne la position décriture n Lecture u Pointeur de lecture n Positionnement dans un fichier (temps de recherche) n Suppression dun fichier u Libération despace n Troncature: remise de la taille à zéro tout en conservant les attributs

7 Chap 117 Autres opérations n Ajout dinfos n Rénommage n Copie u peut être faite par rénommage: deux noms pour un seul fichier n Ouverture dun fichier: le fichier devient associé à un processus qui en garde les attributs, position, etc. n Fermeture n Ouverture et fermeture peuvent être explicites (ops open, close) n ou implicites

8 Chap 118 Informations reliées à un fichier ouvert n Pointeurs de fichier u Pour accès séquentiel u P.ex. pour read, write n Compteur douvertures n Emplacement

9 Chap 119 Types de fichiers n Certains SE utilisent lextension du nom du fichier pour identifier le type. u Microsoft: Un fichier exécutable doit avoir lextension.EXE,.COM, ou.BAT (sinon, le SE refusera de lexécuter) n Le type nest pas défini pour certains SE u Unix: lextension est utilisée (et reconnue) seulement par les applications n Pour certains SE le type est un attribut u MAC-OS: le fichier a un attribut qui contient le nom du programme qui la généré (ex: document Word Perfect)

10 Chap 1110 Types de fichiers

11 Chap 1111 Structure logique des fichiers n Le type dun fichier spécifie sa structure u Le SE peut alors supporter les différentes structures correspondant aux types de fichiers F Cela complexifie le SE mais simplifie les applications n Généralement, un fichier est un ensemble denregistrements (records) u Chaque enregistrement est constitué dun ensemble de champs (fields) F Un champ peut être numérique ou chaîne de chars. u Les enregistrements sont de longueur fixe ou variable (tout dépendant du type du fichier) n Mais pour Unix, MS-DOS et autres, un fichier est simplement une suite doctets « byte stream » u Donc ici, 1 enregistrement = 1 octet u Cest lapplication qui interprète le contenu et spécifie une structure u Plus versatile mais plus de travail pour le programmeur

12 Chap 1112 Méthodes daccès Séquentielle Indexée Séquentielle Indexée Directe

13 Chap 1113 Méthodes daccès: 4 de base n Séquentiel (rubans ou disques): lecture ou écriture des enregistrements dans un ordre fixe n Indexé séquentiel (disques): accès séquentiel ou accès direct (aléatoire) par lutilisation dindex n Indexée: multiplicité dindex selon les besoins, accès direct par lindex n Direct ou hachée: accès direct à travers tableau dhachage n Pas tous les SE supportent les méthodes daccès u Quand le SE ne les supporte pas, cest à lapplication de les supporter

14 Chap 1114 Méthodes daccès aux fichiers n La structure logique dun fichier détermine sa méthode daccès n Les SE sur les « mainframe » fournissent généralement plusieurs méthodes daccès u Car ils supportent plusieurs types de fichiers n Plusieurs SE modernes (Unix, Linux, MS-DOS…) fournissent une seule méthode daccès (séquentielle) car les fichiers sont tous du même type (ex: séquence doctets) u Mais leur méthode dallocation de fichiers (voir + loin) permet habituellement aux applications daccéder aux fichiers de différentes manières n Ex: les systèmes de gestions de bases de données (DBMS) requièrent des méthodes daccès plus efficaces que juste séquentielle u Un DBMS sur un « mainframe » peut utiliser une structure fournie par le SE pour accès efficace aux enregistrements. u Un DBMS sur un SE qui ne fournit quun accès séquentiel doit donc « ajouter » une structure aux fichiers de bases de données pour accès directs plus rapides.

15 Chap 1115 Fichiers à accès séquentiel (archétype: rubans) bloc enregistrements... La seule façon de retourner en arrière est de retourner au début (rébobiner, rewind) En avant seulement, 1 seul enreg. à la fois espace interbloc...

16 Chap 1116 Lecture physique et lecture logique dans un fichier séquentiel n Un fichier séquentiel consiste en blocs doctets enregistrés sur un support tel que ruban, disque… n La dimension de ces blocs est dictée par les caractéristiques du support n Ces blocs sont lus (lecture physique) dans un tampon en mémoire n Un bloc contient un certain nombre denregistrements (records) qui sont des unités dinformation logiques pour lapplication (un étudiant, un client, un produit…) u Souvent de longueur et contenu uniformes u Triés par une clé, normalement un code (code détudiant, numéro produit…) n Une lecture dans un programme lit le prochain enregistrement n Cette lecture peut être réalisée par u La simple mise à jour dun pointeur si la lecture logique précédente ne sétait pas rendue à la fin du tampon u la lecture du proch. bloc (dans un tampon dE/S en mémoire) si la lecture logique précédente sétait rendue à la fin du tampon F Dans ce cas le pointeur est remis à 0

17 Chap 1117 Autres propriétés des fichiers séquentiels n Pour lécriture, la même idée: une instruction décriture dans un programme cause lajout dun enregistrement à un tampon, quand le tampon est plein il y a une écriture de bloc n Un fichier séquentiel qui a été ouvert en lecture ne peut pas être écrit et vice-versa (impossible de mélanger lectures et écritures) n Les fichiers séquentiels ne peuvent être lus ou écrits quun enregistrement à la fois et seulement dans la direction en avant

18 Chap 1118 Adressage Indexé séquentiel (index sequential) n Un index permet darriver directement à lenregistrement désiré, ou en sa proximité u Chaque enregistrement contient un champ clé u Un fichier index contient des repères (pointeurs) à certain points importants dans le fichier principal (p.ex. début de la lettre S, début des Lalande, début des matricules qui commencent par 8) u Le fichier index pourra être organisé en niveaux (p.ex. dans lindex de S on trouve lindex de tous ceux qui commencent par S) u Le fichier index permet darriver au point de repère dans le fichier principal, puis la recherche est séquentielle

19 Chap 1119 Exemples dindex et fichiers relatifs Pointe au début des Smiths (il y en aura plusieurs) Le fichier index est à accès direct, le fichier relatif est à accès séquentiel Accès direct: voir ci-dessous

20 Chap 1120 Index et fichier principal (Stallings) (Relative file) Dans cette figure, lindex est étendu à plusieurs niveaux, donc il y a un fichier index qui renvoie à un autre fichier index, n niveaux

21 Chap 1121 Pourquoi plusieurs niveaux dindex n Un premier niveau dindex pourrait conduire au début de la lettre S n Un deuxième niveau au début des Smith, etc. n Donc dans le cas de fichiers volumineux plusieurs niveaux pourraient être justifiés.

22 Chap 1122 Séquentiel et index séquentiel: comparaison n P.ex. Un fichier contient 1 million denregistrements n En moyenne, 500, 000 accès sont nécessaires pour trouver un enregistrement si laccès est séquentiel! n Mais dans un séquentiel indexé, sil y a un seul niveau dindices avec 1000 entrées (et chaque entrée pointe donc à 1000 autres), n En moyenne, ça prend 500 accès pour trouver le repère approprié dans le fichier index n Puis 500 accès pour trouver séquentiellement le bon enregistrement dans le fichier relatif

23 Chap 1123 Mais… besoin de fichier débordement n Les nouveaux enregistrements seront ajoutés à un fichier débordement n Les enregistrements du fichier principal qui le précèdent dans lordre de tri seront mis à jour pour contenir un pointeur au nouveau enregistrement n Donc accès additionnels au fichiers débordement n Périodiquement, le fichier principal sera fusionné avec le fichier débordement

24 Chap 1124 Fichier indexé n Utilise des index multiples pour différentes clés, selon les différents besoins de consultation n Quelques uns pourraient être exhaustifs, quelques uns partiels, et organisés de façons différentes

25 Chap 1125 Indexed File (Stallings)

26 Chap 1126 Accès directe (ou relatif) n Fichier est vu comme collection denregistrement logiques de grandeurs fixes u Basé sur le modèle disque (composé de blocs) u Spécifie numéro de bloc pour accédés données u Numéro souvent relatif (du début du fichier) n Ce nest pas tous les SEs qui offres les accès séquentiels et directes u Facile de simuler laccès séquentiel avec laccès directe F Maintient un pointeur cp indiquant la position courante dans un fichier u Linverse est très difficile

27 Chap 1127 Utilisation des 4 méthodes n Séquentiel (rubans ou disques): lecture ou écriture des enregistrements dans un ordre fixe n Pour travaux par lots: salaires, comptabilité périodique… n Indexé séquentiel (disques): accès séquentiel ou accès direct par lutilisation dindex n Pour fichiers qui doivent être consultés parfois de façon séquentielle, parfois de façon directe (p.ex. par nom détudiant) n Indexée: multiplicité dindex selon les besoins, accès direct par lindex n Pour fichiers qui doivent être consultés de façon directe selon des critères différents (p.ex. pouvoir accéder aux infos concernant les étudiants par la côte du cours auquel ils sont inscrits) n Direct ou hachée: accès direct à travers tableau dhachage n Pour fichiers qui doivent être consultés de façon directe par une clé uniforme (p.ex. accès aux information des étudiants par No. de matricule)

28 Chap 1128 Répertoires

29 Chap 1129 Structures de répertoires (directories) n Une collection de structures de données contenant infos sur les fichiers. F 1 F 2 F 3 F 4 F n Répertoires Fichiers n Tant les répertoires, que les fichiers, sont sur disques n À lexception dun rép. racine en mém. centrale

30 Chap 1130 Organisation typique de système de fichiers

31 Chap 1131 Information dans un répertoire n Nom du fichier n Type n Adresse sur disque, sur ruban... n Longueur courante n Longueur maximale n Date de dernier accès n Date de dernière mise à jour n Propriétaire n Protection

32 Chap 1132 Opérations sur répertoires n Recherche de fichier n Création de fichier n Suppression de fichier n Lister un répertoire n Rénommer un fichier n Traverser un système de fichier

33 Chap 1133 Organisation de répertoires n Efficacité: arriver rapidement à un enregistrement n Structure de noms: convenable pour usager u deux usagers peuvent avoir le même noms pour fichiers différents u Le même fichier peut avoir différents noms n Groupement de fichiers par type: u tous les programmes Java u tous les programmes objet

34 Chap 1134 Structure à un niveau n Un seul rép. pour tous les usagers n Ambiguïté de noms n Problèmes de groupement n Primitif, pas pratique

35 Chap 1135 Répertoires à deux niveaux n Rép. séparé pour chaque usager n `path name`, nom de chemin n même nom de fichier pour usagers différents est permis n recherche efficace n Pas de groupements

36 Chap 1136 Répertoires à arbres (normal aujourdhui)

37 Chap 1137 Caractéristiques des répertoires à arbres n Recherche efficace n Possibilité de grouper n Repertoire courant (working directory) u cd /spell/mail/prog

38 Chap 1138 Graphes sans cycles: permettent de partager fichiers Unix: un symbolic link donne un chemin à un fichier ou sous- répertoire

39 Chap 1139 Références multiples dans graphes acycliques n Un nœud peut avoir deux noms différents n Si dict supprime list donc pointeur vers fichier inexistant (dangling pointer). Solutions: u Pointeurs en arrière, effacent tous les pointeurs u Compteurs de références (sil y a encore des refs au fichier, il ne sera pas effacé) u Ni Unix ni Microsoft nimplémentent ces politiques, donc messages derreur u Solutions impossibles à gérer dans un système fortement reparti (ex: www)

40 Chap 1140 Graphes avec cycles (structure générale) Presque inévitables quand il est permis de pointer à un noeud arbitraire de la structure Pourraient être détectés avec des contrôles appropriés au moment de la création d un nouveau pointeur Contrôles qui ne sont pas faits dans les SE courants

41 Chap 1141 Considérations dans le cas de cycles n En traversant le graphe, il est nécessaire de savoir si on retombe sur un noeud déjà visité n Un noeud peut avoir compteur de ref != 0 en se trouvant dans une boucle de noeuds qui n est pas accessible! n Des algorithmes existent pour permettre de traiter ces cas, cependant ils sont compliqués et ont des temps d exécution non-négligeables, ce qui fait qu ils ne sont pas toujours employés u Ramasse-miettes = garbage collection root Un sous-arbre qui nest pas accessible à partir de la racine mais il ne peut pas être effacé en utilisant le critère ref=0 car il fait ref à lui-meme!

42 Chap 1142 Combiner plusieurs systèmes de fichier Le système de fichier u Répertoire qui réside dans une partition/appareil spécifique Pourquoi combiner? u Plusieurs partitions de disques rigides, disquettes, CDROM, disques réseau. u Vision et accès uniforme Comment? u Attacher un système de fichier à un nœud particuler dans la hiérarchie du répertoire. u Windows: système à 2 niveaux – attaché à des lettres dappareils u Unix: opération dattachement explicit (mount), peut attacher un système de fichier nimporte où dans le répertoire.

43 Chap 1143 Attachement du système de fichier n Un système de fichier doit être attaché (mounted) avant dêtre accédé n Un système de fichier est attacher à un point dattachement (mount point) – voir Fig (b).

44 Chap 1144 (a) Existant. (b) Partition non-attachée

45 Chap 1145 Point dattachement (mount point)

46 Chap 1146 Partage de fichiers n Désirable sur les réseaux n Nécessite de protection

47 Chap 1147 Protection n Types d accès permis u lecture u écriture u exécution u append (annexation) u effacement u listage: lister les noms et les attributs d un fichier n Par qui

48 Chap 1148 Listes et groupes daccès - UNIX n Modes d accès: R W E n Trois classes d usager: u propriétaire u groupe u public n demander à l administrateur de créer un nouveau groupe avec un certain usager et un certain propriétaire n droit du propriétaire de régler les droits d accès et d ajouter des nouveaux usagers

49 Chap 1149 Listes et groupes daccès n Mode daccès: read, write, execute n Trois catégories dusagers: RWX a) owner access RWX b) group access RWX c) others access n Demander au gestionnaire de créer un groupe, disons G, et ajouter des usagers au groupe n Pour un fichier particulier, disons jeux, définir un accès approprié ownergrouppublic chmod761jeux Changer le groupe dun fichier chgrp G jeux

50 Chap 1150 Méthodes dallocation

51 Chap 1151 Structures de systèmes de fichiers n Structure de fichiers: deux façons de voir un fichier: u unité dallocation espace u collection d informations reliées n Le système de fichiers réside dans la mémoire secondaire: disques, rubans... n File control block: structure de données contenant de l info sur un fichier

52 Chap 1152 Systèmes de fichiers à couches

53 Chap 1153 Structure physique des fichiers n La mémoire secondaire est subdivisée en blocs et chaque opération dE /S seffectue en unités de blocs u Les blocs ruban sont de longueur variable, mais les blocs disque sont de longueur fixe u Sur disque, un bloc est constitué dun multiple de secteurs contiguës (ex: 1, 2, ou 4) F la taille dun secteur est habituellement 512 bytes n Il faut donc insérer les enregistrements dans les blocs et les extraire par la suite u Simple lorsque chaque octet est un enregistrement par lui- même u Plus complexe lorsque les enregistrements possèdent une structure (ex: « main-frame IBM » ) n Les fichiers sont alloués en unité de blocs. Le dernier bloc est donc rarement rempli de données u Fragmentation interne

54 Chap 1154 Un File Control Block typique

55 Chap 1155 Structure en-mémoire du système de fichier Overture dun fichier Lecture dun fichier

56 Chap 1156 Système de fichier virtuel n VFS (virtual file system) utilise une approche objet orienté (OO) pour réaliser les systèmes de fichiers. n VFS permet une interface dappels systèmes (API) pour accès différents types de systèmes de fichier. n Le API est linterface au VFS, plutôt quà un type spécifique de système de fichier.

57 Chap 1157 Schéma du VFS

58 Chap 1158 Limplémentation du répertoire n Liste linéaire des noms de fichiers avec pointeurs aux blocs de données. u Facile à programmer u Prends un plus long temps dexécution n Tableau de hachage – liste linéaire avec une structure de données hachées. u Réduit le temps de recherche dans le répertoire u Collisions – situation où deux noms de fichiers est haché au même endroit u Grandeur du tableau est fixe

59 Chap 1159 Trois méthodes dallocation de fichiers u Allocation contiguë u Allocation enchaînée u Allocation indexée

60 Chap 1160 Allocation contiguë sur disque répertoire

61 Chap 1161 Allocation contiguë n Chaque fichier occupe un ensemble de blocs contigu sur disque n Simple: nous navons besoin que dadresses de début et longueur n Supporte tant laccès séquentiel, que laccès direct n Moins pratique pour les autres méthodes

62 Chap 1162 Allocation contiguë n Application des problèmes et méthodes vus dans le chapitre de lalloc de mémoire contiguë n Les fichiers ne peuvent pas grandir n Impossible dajouter au milieu n Exécution périodique dune compression (compaction) pour récupérer lespace libre

63 Chap 1163 Allocation enchaînée n Le répertoire contient l adresse du premier et dernier bloc, possibl. le nombre de blocs n Utilisé par MS-DOS et OS2. n Chaque bloc contient un pointeur à ladresse du prochain bloc: pointeur bloc =

64 Chap 1164 Allocation enchaînée répertoire

65 Chap 1165 Tableau dallocation de fichiers (FAT)

66 Chap 1166 Avantages - désavantages n Pas de fragmentation externe - allocation de mémoire simple, pas besoin de compression n L accès à l intérieur d un fichier ne peut être que séquentiel u Pas façon de trouver directement le 4ème enregistrement... u Nutilise pas la localité car les enregistrements seront éparpillés n L intégrité des pointeurs est essentielle n Les pointeurs gaspillent un peu d espace

67 Chap 1167 Allocation indexée: semblable à la pagination n Tous les pointeurs sont regroupés dans un tableau (index block) index table

68 Chap 1168 Allocation indexée -1: pointeur nul

69 Chap 1169 Allocation indexée n À la création d un fichier, tous les pointeurs dans le tableau sont nil (-1) n Chaque fois quun nouveau bloc doit être alloué, on trouve de l espace disponible et on ajoute un pointeur avec son adresse

70 Chap 1170 Allocation indexée n Pas de fragmentation externe, mais les index prennent de lespace n Permet accès direct (aléatoire) n Taille de fichiers limitée par la taille de lindex block u Mais nous pouvons avoir plusieurs niveaux dindex: Unix n Index block peut utiliser beaucoup de mém.

71 Chap 1171 UNIX BSD: indexé à niveaux (config. possible) 12 blocs disque de 4K chaque 1024 blocs de 4K chaque 1024x 1024 blocs de 4K Bloc de 4K contient 1024 pointeurs Cette structure est en mémoire, tous les autres sont sur disque

72 Chap 1172 UNIX BSD n Les premiers blocs dun fichier sont accessibles directement n Si le fichier contient des blocs additionnels, les premiers sont accessibles à travers un niveau dindices n Les suivants sont accessibles à travers 2 niveaux dindices, etc. n Donc le plus loin du début un enregistrement se trouve, le plus indirect est son accès n Permet accès rapide à petits fichiers, et au début de tous les fich. n Permet laccès à des grands fichier avec un petit répertoire en mémoire

73 Chap 1173 Gestion de lespace libre

74 Chap 1174 Gestion despace libre Solution 1: vecteur de bits (solution Macintosh, Windows 2000) n Vecteur de bits (n blocs) … 012n-1 bit[i] = 0 block[i] libre 1 block[i] occupé n Exemple dun vecteur de bits où les blocs 3, 4, 5, 9, 10, 15, 16 sont occupés: u … n Ladresse du premier bloc libre peut être trouvée par un simple calcul

75 Chap 1175 Gestion despace libre Solution 2: Liste liée de mémoire libre (MS-DOS, Windows 9x) Tous les blocs de mémoire libre sont liés ensemble par des pointeurs

76 Chap 1176 Comparaison n Bitmap: u si la bitmap de toute la mémoire secondaire est gardée en mémoire principale, la méthode est rapide mais demande de lespace de mémoire principale u si les bitmaps sont gardées en mémoire secondaire, temps de lecture de mémoire secondaire... F Elles pourraient être paginées, p.ex. n Liste liée u Pour trouver plusieurs blocs de mémoire libre, plus. accès de disque pourraient être demandés u Pour augmenter lefficacité, nous pouvons garder en mémoire centrale l adresse du 1er bloc libre

77 Chap 1177 Implantation de répertoires (directories) n Liste linéaire de noms de fichiers avec pointeurs aux blocs de données u accès séquentiel u simple à programmer u temps nécessaire pour parcourir la liste n Tableaux de hachage: tableaux calculés u temps de recherche rapide u problème de collisions u dimension fixe du tableau

78 Chap 1178 Efficacité et performance n L efficacité dépend de: u méthode dallocation et dorganisation répertoires n Pour augmenter la performance: u Rendre efficace laccès aux blocs souvent visités F Dédier des tampons de mémoire qui contiennent limage des infos plus souvent utilisées u Optimiser laccès séquentiel sil est souvent utilisé: free behind and read ahead

79 Chap 1179 Récupération: différentes méthodes n Contrôle de cohérence entre la structure de répertoires en mémoire centrale et le contenu des disques u Essaye de réparer les incohérences n Programmes du système pour sauvegarder les données sur disque dans autres supports auxiliaires (backups) (p.ex. autres disques, rubans) n Restaurer les disques à partir de ces supports quand nécessaire

80 Chap 1180 Systèmes de fichiers avec consignation (log structured or journaling file system) n Les systèmes de fichiers avec consignation enregistre chaque mis à jour au système de fichier comme un transaction n Toutes transactions sont écrites dans un journal u Une transaction est considérée engagée à lécriture au journal u Mais, le système de fichier (sur disque) nas pas encore été mis à jour n Les transactions dans le journal sont écrites aux système de fichier de façon asynchrone u Quand le système de fichier est modifié, la transaction est enlevé du journal n Si un système tombe en panne, les transactions dans le journal doivent être appliquées

81 Chap 1181 Concepts importants du Chapitre 11 n Fichiers: structures, attributs, opérations n Méthodes daccès: séquentiel, séquentiel indexée, indexée, direct ou hachée n Répertoires et leur structures: répertoires arborescents, sans ou avec cycles n Partage de fichiers, protection, liste daccès n Allocation despace: contiguë, enchaînée, indexée u Application en UNIX n Gestion despace libre: bitmap, liste liée


Télécharger ppt "Chap 111 Module 9 Systèmes de fichiers – Chapitres 10 et 11 (Silberchatz)"

Présentations similaires


Annonces Google