Chap 111 Chapitre 11 (suivi par Chap. 12) Systèmes de fichiers

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Gestion de Fichiers Tri Interne Efficace et Tri Externe.
1 Bienvenue! INF3723: Systèmes d’exploitation Luigi Logrippo
Ghost (Création d'image Système)‏ C.R.I.P.T Informatique (BOYER Jérôme)‏
Les sauvegardes Pourquoi sauvegarder ? Que sauvegarder ? Quand sauvegarder ? Ou sauvegarder ? Et comment ?
Composants Matériels de l'Ordinateur Plan du cours : Ordinateurs et applications Types d'ordinateurs Représentation binaires des données Composants et.
L’ordinateur et ses composants Un ordinateur est composée d'une unité centrale et de périphériques. Tous les périphériques sont branchés sur l'unité centrale.
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
Le système Raid 5 Table des matières Qu'est ce que le RAID ? Les objectifs Le raid 5 Les avantages et les inconvénients Les composants d’un Raid.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
1 Observer le paramétrage d’un réseau. 2 Dans notre réseau téléphonique habituel, les postes, reliés à un auto-commutateur... …peuvent dialoguer, car.
Master ESEEC Rédaction de documents (longs) structurés Patrice Séébold Bureau 109, Bât B.
Les mémoires de l’ordinateur
Cours Initiation aux Bases De Données
Architecture des ordinateurs, Environnement Numérique de Travail
Téléchargement de fichiers
Exploitation de logiciels :
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Module de gestion des tournées de livraison
Threads et Lightweight Processes
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Les commandes du système de fichiers
Pointeurs et langage C.
Base de données: Généralité IFT6800 Jian-Yun Nie.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Module 12 : Configuration et gestion des disques
Principes de programmation (suite)
Installation et Configuration Internet Information Server (IIS 5)
Les objectifs du cours Savoir utiliser un Tableur
Accès aux fichiers en C.
Les bases de données et le modèle relationnel
Chapitre 12 Surveillance des ressources et des performances
Format des fichiers TIFF
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Le moniteur Le clavier L'unité centrale (l'ordinateur proprement dit) Qui sont des périphériques DEFINITIONS DE BASE.
Écrire un article à plusieurs
Module 5 : Gestion des disques.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Programmation en C++ C++ de base
Structure D’une Base De Données Relationnelle
LE SYSTEME DE GESTION DE FICHIERS ISET KAIROUAN – /01/20181.
Le moniteur Le clavier L'unité centrale (l'ordinateur proprement dit) Qui sont des périphériques DEFINITIONS DE BASE.
Architecture de machines Le microprocesseur Cours
Bus et adressage GIF-1001: Ordinateurs: Structure et Applications
Introduction en systèmes d’information et bases de données B.Shishedjiev -Introduction en BD 1.
Les protocoles de la couche application Chapitre 7.
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
Chapitre2: SGBD et Datawarehouse. On pourrait se demander pourquoi ne pas utiliser un SGBD pour réaliser cette structure d'informatique décisionnelle.
Architecture des ordinateurs
Chapitre 11 (suivi par Chap. 12)
Gestion des photos Organisation du disque dur, Navigation
Présentation de la base Frantext
Module 12 : Configuration et gestion des disques
Gestion de la mémoire GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde.
Tri Externe Chapitre 13: 13.1—13.5
BUFFER CIRCULAIRE Meryem EL BAKRI. PLAN Introduction Buffer circulaire Fonctionnement.
La collecte d’informations Présenté par: Boudries. S.
Système d’exploitation: Principe IFT6800 – E 2008 Pierre Poulin.
Principes de programmation (suite)
Threads et Lightweight Processes
Listes Chaînées.
Lecture/Écriture de fichiers (I/O)
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
Contenu Systèmes de test parallèles Multithreading Synchronisation
Dridi Lobna 1 Couche Réseau II Réseau : Gestion de l’accès.
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Comment aller plus loin avec Zotero? Comité d’Aide à la Publication, FMT Zotero worshop Hand’s on session Zotero worshop Hand’s on session 12h-12h30.
Les Commandes de base Linux. 1 L’aide sur les commandes Linux ◦ help : obtenir de l’aide pour une commande interne du shell. Elle permet aussi d'afficher.
Transcription de la présentation:

Chap 111 Chapitre 11 (suivi par Chap. 12) Systèmes de fichiers

Chap 112 Concepts importants du chapitre 11 n Fichiers: structures, attributs, opérations n Méthodes d’accè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 d’accès

Chap 113 Que c’est qu’un fichier n Collection nommée d’informations 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

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

Chap 115 Attributs d’un fichier n Constituent les propriétés du fichiers et sont stockés dans un fichier spécial appelé répertoire (directory). Exemples d’attributs: u Nom: F pour permet aux personnes d’accéder au fichier u Identificateur: F Un nombre permettant au SE d’identifier le fichier u Type: F Ex: binaire, ou texte; lorsque le SE supporte cela u Position: F Indique le disque et l’adresse du fichier sur disque u Taille: F En octets 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…

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 d’un fichier u Libération d’espace n Troncature: remise de la taille à zéro tout en conservant les attributs

Chap 117 Autres opérations n Ajout d’infos (p.ex. concaténation) n Rénommage n Copie u peut être faite par rénommage: deux noms pour un seul fichier n Ouverture d’un 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

Chap 118 Informations reliées à un fichier ouvert n Pointeurs de fichier u À l’enregistrement courant F Pour accès séquentiel P.ex. pour read, write n Compteur d’ouvertures u Combien de processus l’utilisent n Etc.

Chap 119 Types de fichiers n Certains SE utilisent l’extension du nom du fichier pour en identifier le type. u Windows: l’extension est utilisée pour trouver l’application qui est capable d’interpréter le fichier F Un fichier exécutable doit avoir une extension comme.exe,.com,.bat … (sinon, le SE refusera de l’exécuter) n Le type n’est pas défini pour certains SE u Unix, Linux: l’extension 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 l’a généré (ex: document Word Perfect)

Chap 1110 Types de fichiers

Chap 1111 Structure logique des fichiers n Le type d’un 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 d’enregistrements (records) u Chaque enregistrement est constitué d’un ensemble de champs (fields) F Un champ peut être numérique, ou charactères u Les enregistrements sont de longueur fixe ou variable (dépendant du type du fichier) n Mais pour Unix, Linux, Windows …, un fichier est simplement une suite d’octets « byte stream » u Donc ici, 1 enregistrement = 1 octet u C’est l’application qui interprète le contenu et spécifie une structure u Plus versatile mais plus de travail pour l’application ou le programmeur

Question fondamentale n Jusqu’à quel point le SE prend en charge la structuration des fichiers n Sinon, c’est l’application qui doit reconnaître la structure Chap 1112

Méthodes d’accès Chap 1113 Séquentielle Indexée Séquentielle Indexée Directe

Chap 1114 Méthodes d’accè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 l’utilisation d’index n Indexée: multiplicité d’index selon les besoins, accès direct par l’index n Direct ou hachée: accès direct à travers tableau d’hachage n Seulement les SE les plus puissants supportent les méthodes d’accès u Quand le SE ne les supporte pas, c’est aux librairies de langage de programmation ou d’une application de les supporter F Read, write … invoquent ces librairies

Chap 1115 Méthodes d’accès aux fichiers n La structure logique d’un fichier détermine sa méthode d’accès n Les SE sur les « mainframe » fournissent généralement plusieurs méthodes d’accès u Car ils supportent plusieurs types de fichiers n Plusieurs SE modernes (Unix, Linux, Windows…) fournissent une seule méthode d’accès (séquentielle) car les fichiers sont considérés être tous du même type (ex: séquence d’octets) u Mais leur méthode d’allocation de fichiers (voir + loin) permet habituellement aux applications d’accé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 d’accè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 qu’un accès séquentiel doit donc « ajouter » une structure aux fichiers de bases de données pour accès directs plus rapides.

Chap 1116 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... vide entre blocs (gap)

Unités ruban hier et aujourd’hui Chap 1117

Chap 1118 Les fichiers ruban sont encore importants aujourd’hui – dans les très grandes entreprises

Capacité n Un seul ruban = 1,5TO u TeraO=1 000GO n Les librairies de rubans sont souvent robotiques n Permettent d’extraire automatiquement le bon ruban au moment désiré n Peuvent contenir des centaines de rubans n Très pratique pour la sauvegarde de disques (backup) Chap 1119

Chap 1120 Lecture physique et lecture logique dans un fichier séquentiel n Un fichier séquentiel consiste en blocs d’octets enregistrés sur un support tel que ruban, disque… n Ces blocs sont lus (lecture physique) dans un tampon en mémoire n Un bloc contient un certain nombre d’enregistrements (records) qui sont des unités d’information logiques pour l’application (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 d’un 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 d’E/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

Chap 1121 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 l’ajout d’un 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 qu’un enregistrement à la fois et seulement dans la direction ‘en avant’

Chap 1122 Mise à jour de fichiers séquentiels Vieux maître Fichier mises à jour Nouveau maître Programme de mise à jour Tous les fichiers sont triés par la même clé

Chap 1123 Mise à jour de fichiers séquentiels triés: exemple Retirer 05 Modif 12 Ajout 20 Ajout Vieux maître Mises à jour Nouveau maître + = (12 modifié) L’algorithme fonctionne lisant un enregistrement à la fois, en séquence, du vieux maître et du fichier des mises à jour Il travaille seulement avec trois enregistrements à la fois, un par fichier

Point de réflexion n Considérant seulement les caractéristiques des rubans, rien n’empêcherait d’avoir sur ruban des blocs de longueur énorme, beaucoup de GO n C’est quoi qui limite en pratique la taille des blocs? Chap 1124

Chap 1125 Accès direct ou haché ou aléatoire: accès direct à travers tableau d’hachage n Une fonction d’hachage est une fonction qui traduit une clé dans adresse, u P.ex. Matricule étudiant  adresse disque n Rapide mais: u Si les adresses générées sont trop éparpillées, gaspillage d’espace u Si les adresses ne sont pas assez éparpillées, risque que deux clés soient renvoyées à la même adresse F Dans ce cas, il faut de quelques façon renvoyer une des clés à une autre adresse

Chap 1126 Problème avec les fonctions d’hachage Fonction d’hachage dispersée qui n’utilise pas bien l’espace disponible Fonction d’hachage concentrée qui utilise mieux l’espace mais introduit des doubles affectations clés adr. disque clés adr. disque

Chap 1127 Hachage:Traitement des doubles affectations n On doit détecter les doubles affectations, et s’il y en a, un des deux enregistrements doit être mis ailleurs u ce qui complique l’algorithme clés adr. disque adr. alternative disque

Chap 1128 Adressage Indexé séquentiel (index sequential) n Un index permet d’arriver directement à l’enregistrement 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 u 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 u p.ex. dans l’index de S on trouve l’index de tous ceux qui commencent par S u Le fichier index permet d’arriver au point de repère dans le fichier principal, puis la recherche est séquentielle

Chap 1129 Exemples d’index 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

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

Chap 1131 Pourquoi plusieurs niveaux d’index n Un premier niveau d’index 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.

Chap 1132 Séquentiel et index séquentiel: comparaison n P.ex. Un fichier contient 1 million d’enregistrements n En moyenne, accès sont nécessaires pour trouver un enregistrement si l’accès est séquentiel! n Mais dans un séquentiel indexé, s’il y a un seul niveau d’indices avec 1000 entrées (et chaque entrée pointe donc à 1000 autres), n En moyenne, ça prend 1 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

Chap 1133 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 l’ordre 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

Chap 1134 Indexed sequential (Stallings)

Chap 1135 Fichier indexé n Utilise des index multiples pour différentes clés (= critères de recherche), selon les différents besoins de consultation n Quelques uns pourraient être exhaustifs, quelques uns partiels, et organisés de façons différentes

Chap 1136Exemple Inscrits à INF3723 Fichier des étudiants UQO Inscrits à INF3203 Inscrits à INF2355 Etc… F.Boucher J.Abdi

Chap 1137 Utilisation des 4 méthodes n Séquentiel (rubans ou disques): pour applications périodiques qui demandent la lecture ou écriture des enregistrements dans un ordre fixe, ces applications sont appelées ‘batch’=‘par lots’ n Salaires, comptabilité périodique, sauvegarde périodique (backups) n Indexé séquentiel (disques): accès séquentiel ou accès direct par l’utilisation d’index 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é d’index selon les besoins, accès direct par l’index 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 Parfait pour des recherches style SQL n Direct ou hachée: accès direct à travers tableau d’hachage 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 matricule) important

Répertoires (directories) Chap 1138

Chap 1139 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 À l’exception d’un rép. racine en mém. centrale

Chap 1140 Organisation typique de système de fichiers Deux répertoires dans un seul disque Un répertoire dans deux disques

Chap 1141 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 n etc

Chap 1142 Opérations sur répertoires n Recherche de fichier n Création de fichier n Suppression de fichier n Lister un répertoire n Renommer un fichier n Traverser un système de fichier

Chap 1143 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

Chap 1144 Structure à un niveau n Un seul rép. pour tous les usagers n Ambiguïté de noms n Pas de groupement n Primitif, pas pratique

Chap 1145 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

Chap 1146 Répertoires à arbres (normal aujourd’hui)

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

Chap 1148 Graphes sans cycles: permettent de partager fichiers

Chap 1149 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) à partir de spell. Solutions: u Pointeurs en arrière, effacent tous les pointeurs u Compteurs de références (s’il y a encore des refs au fichier, il ne sera pas effacé) u Ni Unix ni Windows n’implémentent ces politiques, donc messages d’erreur u Solutions impossibles à gérer dans un système fortement reparti (ex: www)

Chap 1150 Raccourcis (très utilisés dans MS-Windows) n Les raccourcis sont des pointeurs qui amènent directement à certains répertoires mailhex

Chap 1151 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 n’est 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!

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

Chap 1153 Protection (détails dans un chap suivant) 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

Chap 1154 Listes et groupes d’accè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

Chap 1155 Listes et groupes d’accès n Mode d’accès: read, write, execute n Trois catégories d’usagers: RWX a) owner access 7  RWX b) group access 6  RWX c) others access1  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 d’un fichier chgrp G jeux

Chap 1156 Par rapport au manuel n Nous n’avons pas discuté: u Section u Section 11.4

Chap 1157 Concepts importants du Chap 11 n Systèmes fichiers n Méthodes d’accès n Structures Répertoires n Protection n Structures de systèmes fichiers

Chap 1158 Chapitre 12 Implémentation des systèmes de fichiers

Chap 1159 Concepts importants du Chap 12 n Méthodes d’allocation n Gestion de l’espace libre n Implémentation de répertoires n Questions d’efficacité

Chap 1160 Structures de systèmes de fichiers n Structure de fichiers: deux façons de voir un fichier: u SE: unité d’allocation espace u Usager: 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

Chap 1161 Systèmes de fichiers à couches Méthodes d’accès BIOS Répertoires Usager

Chap 1162 Structure physique des fichiers n La mémoire secondaire est subdivisée en blocs et chaque opération d’E /S s’effectue en unités de blocs u Les blocs ruban peuvent être de longueur variable, mais les blocs disque sont de longueur fixe u Sur disque, un bloc est constitué d’un multiple de secteurs contigus (ex: 1, 2, ou 4) F La norme pour la taille d’un secteur est 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 n Les fichiers sont alloués en unité de blocs. Le dernier bloc est donc rarement rempli de données u Fragmentation interne

Chap 1163 Trois méthodes d’allocation de fichiers u Allocation contiguë u Allocation enchaînée u Allocation indexée F Seulement la première est possible sur ruban, toutes sont possibles sur disque

Chap 1164 Allocation contiguë sur disque répertoire

Chap 1165 Allocation contiguë disque n Chaque fichier occupe un ensemble de blocs contigu sur disque n Simple: nous n’avons besoin que d’adresses de début et longueur n Supporte tant l’accès séquentiel, que l’accès direct n Moins pratique pour les autres méthodes n Pour toutes les méthodes, la mise à jour peut être compliquée

Pour l’accès direct n Normalement quand on utilise cette technique la longueur des enregistrements est fixe et connue n Donc quelle est la formule pour accéder directement à l’enregistrement N? u (N-ième enregistrement dans le fichier?) Chap 1166

Chap 1167 Allocation contiguë n Application des problèmes et méthodes vus dans le chapitre de l’alloc de mémoire contiguë n Les fichiers ne peuvent pas grandir n Pratiquement impossible d’ajouter au milieu sans recopier tout n Exécution périodique d’une compression pour récupérer l’espace libre

Allocation contigüe sur ruban n Nous avons vu que le ruban magnétique est caractérisé par u Accès séquentiel u Et allocation contigüe Chap 1168

Chap 1169 Allocation enchaînée disque n Le répertoire contient l ’adresse du premier et dernier bloc, possibl. le nombre de blocs n Chaque bloc contient un pointeur à l’adresse du prochain bloc: pointeur bloc = données

Chap 1170 Allocation enchaînée répertoire

Chap 1171 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 50ème enregistrement... u N’utilise 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

Chap 1172 Tableau d’allocation de fichiers FAT (en mémé principale ou secondaire) La position N dans la liste fait référence au bloc N dans le disque bloc 217 bloc 618

Avantages additionnels de FAT (Windows) n Si la taille le permet, le tableau peut être entièrement en mémoire principale n On peut rapidement se positionner sur un enregistrement arbitraire n Donc on peut implémenter des méthodes d’accès comme directe, indexé séquentiel, etc.Utilisation n FAT est utilisé entre autres pour les clés USB n Le tableau est dans l’USB mais est copié en mémoire principale (cache) quand la clé est activée Chap 1173

Chap 1174 Allocation indexée: semblable à la pagination n Tous les pointeurs sont regroupés dans un tableau (index block) index table Différence par rapport à FAT: ici il n’y a pas de pointeurs au prochain enregistrement car ils sont contigus

Chap 1175 Allocation indexée -1: pointeur nul

Chap 1176 Allocation indexée n À la création d’un fichier, tous les pointeurs dans le tableau sont nil (-1) n Chaque fois qu’un nouveau bloc doit être alloué, on trouve de l ’espace disponible et on ajoute un pointeur avec son adresse n Un bloc index aura une longueur limitée, mais il pourra contenir un pointeur au prochain bloc index

Chap 1177 Allocation indexée n Pas de fragmentation externe, mais les index prennent de l’espace n Permet accès direct (aléatoire) n Taille de fichiers limitée par la taille de l’index block u Mais nous pouvons avoir plusieurs niveaux d’index: voir inode n Index block peut utiliser beaucoup de mémoire

Chap 1178 Inode: Système fichiers indexé à niveaux: UNIX et Linux 12 blocs disque de 4Ko chaque 1024 blocs de 4Ko chaque 1024x 1024 blocs de 4Ko Bloc de 4Ko contient 1024 pointeurs de 4o chaque Ce répertoire est en mémoire, tous les autres sont sur disque Hypothèse: pointeurs de 2 2 o=4o=32b Un inode pour chaque fichier

Chap 1179 UNIX – LINUX inode n Les premiers blocs d’un fichier sont accessibles directement n Si le fichier contient des blocs additionnels, les premiers sont accessibles à travers un niveau d’indices n Les suivants sont accessibles à travers 2 niveaux d’indices, 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 l’accès à des grands fichier avec un petit répertoire en mémoire n La capacité d’un tel système dépend de la u taille des blocs ainsi que du u nombre de bits dans les pointeurs

Exercice n Étant donné un fichier d’une certaine taille u (disons 80Ko) n Déterminer comment il serait stocké dans le inode u Supposer la configuration donnée dans le transparent précédent u Refaire ceci pour plusieurs tailles possibles de fichiers u Voir manuel Section Chap 1180

Méthodes d’allocation et méthodes d’accès Chap 1181 Méthode d’allocationMéthode d’accès Supportée Séquentielle rubanSéquentielle Séquentielle disqueSéquentielle et aléatoire Enchaînée disqueSéquentielle FATSéquentielle, aléatoire, index-séquentielle IndexéeSéquentielle, aléatoire, index-séquentielle iNODESéquentielle, aléatoire, index-séquentielle

Gestion de l’espace libre Chap 1182

Chap 1183 Gestion d’espace libre Solution 1: vecteur de bits (solution MAC, Windows) n Vecteur de bits (n blocs) … 012n-1 bit[i] =  0  block[i] libre 1  block[i] occupé n Exemple d’un vecteur de bits où les blocs 3, 4, 5, 9, 10, 15, 16 sont occupés: u … n L’adresse du premier bloc libre peut être trouvée par un simple calcul

Chap 1184 Gestion d’espace 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

Chap 1185 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 l’espace 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

Amélioration de performance Chap 1186

Chap 1187 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 mais problèmes de collisions

Chap 1188 Efficacité et performance n L’efficacité dépend de: u méthode d’allocation et d’organisation répertoires n Pour augmenter la performance: u Rendre efficace l’accès aux blocs souvent visités F Dédier des tampons de mémoire qui contiennent l’image des infos plus souvent utilisées u Optimiser l’accès séquentiel s’il est souvent utilisé: free behind and read ahead

Chap 1189 Disque RAM fonctionne comme mémoire cache pour la mémoire secondaire Image (partielle?) du contenu du disque en mémoire RAM Le pilote de disque RAM accepte toutes les ops qui sont acceptées par le disque

Chap 1190 Le problème de la récupération, ou cohérence n Parties des fichiers et des répertoires se trouvent tant en mémoire vive, que sur disque n Il faut donc des mécanisme qui assurent leur cohérence, surtout après pannes dans le système n Dans le cas précédent, supposons que des changements ont été faits sur l’image du disque en RAM, et puis il y a une panne soudaine de courant?

Chap 1191 Récupération: différentes méthodes n Contrôles 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 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

Chap 1192 Concepts importants du Chapitre 12 n Allocation d’espace: contiguë, enchaînée, indexée u Application en UNIX n Gestion d’espace libre: bitmap, liste liée

Chap 1193 Par rapport au manuel… n Nous n’avons pas discuté: u Section , 12.6, 12.8, 12.9

Concept de ‘cache’ n En informatique, une ‘cache’ est une mémoire dans laquelle on stocke des données souvent demandées, qui sont normalement stockées dans une mémoire plus lente n P.ex. on peut stocker en mémoire principale des parties souvent demandées d’un fichier sur disque n Un mécanisme est implémenté par lequel les processus qui cherchent les données continuent d’utiliser les mêmes méthodes d’accès que si l’info était encore dans la mémoire plus lente u P.ex. ils continuent d’utiliser des adresses disque qui en effet lui donnent accès à des données en mémoire principale n Le nom de ‘cache’ vient du fait que les informations sont ‘cachées’ dans la mémoire plus rapide à l’insu de l’usager n Étant donné que ces informations existent en deux copies, nous avons le problème de ‘cohérence du cache’ qui a été beaucoup étudié (v. bit ‘sale’ en mémoire virtuelle) Chap 1194