Chapitre V : La gestion des disques et l'organisation des...
Transcript of Chapitre V : La gestion des disques et l'organisation des...
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Chapitre V : La gestion des disques etl’organisation des fichiers
Departement IEMhttp://ufrsciencestech.u-bourgogne.fr
http://ludique.u-bourgogne.fr/~leclercq
March 10, 2011
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Plan
1 Les supports de stockageTerminologie
2 Systeme de fichiersSysteme de fichiersTable d’allocation
3 Organisation interne des fichiersFichiers sequentiel indexesIndex de type B-arbreAcces aleatoire ou disperse
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Introduction
La gestion des disques :
concerne les methodes d’acces au blocs de donnees par lenoyau du SE
la definition d’une structure pour accueillir les fichiers
La gestion des fichiers recouvre plusieurs activites :
Une gestion effectuee par le noyau du SE : allocation, gestiondes meta-donnees (taille, date de creation, proprietaire),localisation
Une gestion en mode utilisateur : gestion interne du contenudu fichier (ouverture, lecture, ecriture
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Acces sequentiel ou direct
Les anciens supports de stockage etaient essentiellement a accessequentiel
Exemple :
analogie avec les K7 de magnetoscope, bandes magnetiques,rubans perfores etc.
Aujourd’hui, il existe toujours des bandes mais leur utilisation estreservee pour les sauvegardes. Les disques magnetiques presententdes caracteristiques essentielles :
Rapidite des acces (acces direct a une zone)FiabiliteGrande capacite
Exemple :
capacite actuelle d’un disque sur un PC 500Go, acces 5-10ms,transfert 50M/s.
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Structure d’un disque
1 Plateaux
2 Moteur (axe)
3 Mecanisme de deplacement des bras
4 bras supportant les tetes de lecture ecriture (5)
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Structure d’un disque
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Structure d’un disque : resume
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Structure d’un disque : terminologie
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Structure d’un disque : terminologie
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Notion de systeme de fichiers
Formatage : le disque est decoupe en zones logiques appeleessecteurs regroupes sur des pistes
L’ensemble des pistes de meme numero sur different plateauxforme un cylindre
Les blocs sont des regroupement de secteurs (en general 512octets / secteur)
La creation d’un systeme de fichiers (formatge dans le mondeWindows) cree une structure de donnees pour affecter desblocs a des fichiers (commande mkfs dans le monde Unix)
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Notion de systeme de fichiers
Les systemes de fichier sont geres a partir d’une seule etmeme racine (’/’)
Les utilisateurs sont tous possesseurs d’une branche danslaquelle ils sont maıtres (home directory)
les utilisateur peuvent developper leur branche : creer denouveaux fichiers et de nouveaux repertoires
Contrairement a Windows, l’utilisation de disquettes n’est pasvue comme l’ajout d’un nouveau volume (disque), maiscomme le raccordement d’un systeme de fichiers al’arborescence existante
Les disquettes ou tout autre support de stockage sont greffessur l’arbre principal par une commande mount :mount /dev/fd0 /mnt/floppy
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Fichier speciaux, liens symboliques
Il existe plusieurs categories de fichiers speciaux sous Unix :
les repertoires
les tubes nommes
les peripheriques : systeme de fichier /dev
le descriptif de l’etat de l’OS via le systeme de fichiers /proc
Quelques fois il est utile de nommer les fichiers de plusieurs facons(alias) ou bien de pouvoir acceder a un fichier depuis plusieursemplacements dans l’arborescence. On a alors recours aux :
Liens symboliques sous UNIX :ln /home/eric/toto18.java /home/eric/toto.java
Aux raccourcis sous Windows (traitement non prevu par le FS)
Aux alias sur MACOS
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Notion de fichier
Les disques permettent un acces direct aux donnees au moyend’une adresse de bloc, un fichier est un ensemble logique de blocappartenant a une meme entite (le fichier).
on peut specifier un premier bloc et ensuite chaıner les blocs(ajouter l’adresse du suivant)
on peut etablir une liste de blocs dans une table
Probleme : utilisateur ne connaıt pas l’emplacement du fichier surle disque, il ne connaıt que son nom
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Vers la notion de table d’allocation
Solution 1 :
On integre au debut de chaque fichier son nom
On place le fichier sur le disque au premier endroit ou ontrouve de la place
Le recherche d’un fichier est alors sequentielle : etant donne lenom, on lit les blocs du disque a partir du debut et onrecherche la premiere occurrence du nom du fichier
Inconvenient : on n’utilise alors pas du tout l’acces directpermit par la structure physique du disque dur
Solution 2 :
le premier secteur contient un tableau T qui s’etend sur laglobalite de la premiere piste et qui associe a chaque nom defichier le numero du secteur qui le contient
Inconvenient : fragilite de la table d’allocation (File AllocationTable)
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
File Allocation Table
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
File Allocation Table
Etant donne un nom M, le positionnement de la tete de lecture surle premier secteur (secteur 0) permet :
de charger l’index
de le parcourir a la recherche de la chaıne de caracteres M
de determiner le secteur qui contient le debut du fichier
la tete de lecture du disque se positionne alors sur la piste enquestion et recherche plus precisement le fichier (le secteur)
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Structure de fichiers : meta-donnees et contenu
Un fichier regroupe un ensemble de donnees appele contenu
Un fichier est associe a des meta-donnees stockees ou nondans la table d’allocation : un nom, une date, unemplacement, un proprietaire, des attributs de lecture etc.
Le contenu d’un fichier est un ensemble structureenregistrements (appeles aussi articles ou records)
Chaque article represente une information unitaire (united’information)
Exemple :
le fichier du personnel d’une entreprise
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Enregistrements et champs
Les articles se decomposent en champs
Chaque champ represente une propriete de l’article
Les champs sont l’association entre un attribut et une valeurd’un type donne.
Exemple :
Dans le fichier du personnel le champ nom represente le nom d’unepersonne (Nom, Adresse, etc.) et une valeur (’toto’, ’rueQuimonte’, etc.)
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Enregistrements et champs
Le plus souvent la structure des articles est identique dans unmeme fichier :
nombre d’attributs fixe et champs de taille fixe
Ainsi, tous les articles ont la meme taille et on peut calculer laposition d’un element en fonction de son numero d’ordre
On parle alors d’article de longueur fixe par opposition auxfichiers comportant des articles de longueur variable
Quand peut-on rencontrer des articles de taille variable ?Avantages/Inconvenients de ces deux formats
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Organisation des fichiers en enregistrements
Generalement l’organisation doit optimiser :
la restitution du contenu des fichiers
meme lorsque les donnees sont complexes (beaucoup dechamps, reliees) il est necessaire que les acces en lecturesoient rapides
Exemple :
dictionnaire, plan de ville, images satellitales
Pour la modification du contenu des fichiers plusieurs problemessont a prendre en compte :
Comment inserer au mieux un nouvel article dans un fichier
Comment replacer un information qui augmente de volume
Comment ne pas laisser de trous apres une suppression(fragmentation)
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Organisation en fonction d’un acces par adresse
Tout acces reel a un enregistrement se fait en specifiant sonadresse avec les hypotheses suivantes :
implantation contigue des enregistrements
utilisation d’une table d’allocation associee a un fichier si lesenregistrements sont de taille variable
utilisation d’une table des zones libres pour gerer lafragmentation
On peut souhaiter demander au systeme l’acces a unenregistrement qui a certaines proprietes mais dont on ne connaıtpas l’adresse (fichier tres grand)
Exemple :
recherche du numero de telephone d’une personne en fonction deson nom, ou de sa ville, ou de plusieurs criteres
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Notion de cle ou d’identifiant
Certains champs (attributs) permettent de discriminer totalementune information :
ces attributs sont appeles des cles
deux valeurs differentes de la cle font reference a desenregistrements differents, ainsi, dans un fichier il ne peut pasy avoir deux enregistrements differents ayant la meme valeurde cle
Conclusion : chaque valeur de cle correspond a une seuladresse d’enregistrement dans le fichier
Comment utiliser cette propriete pour acceder au contenu d’unarticle en se basant sur la valeur de la cle ?
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Acces au contenu via une cle
Differents types d’organisations ont ete etudies depuis plus de 40ans :
Sequentielle (fichiers tries selon la cle)
Sequentielle indexee
B-Arbre
Aleatoire
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Principe de l’index
Le principe de l’indexation consiste a batir une table decorrespondances (table d’index) entre :
les valeurs de la cle
es adresses des enregistrements sur le disque
Pour faciliter les acces (rapidite) cette table doit etre :
triee
stockee dans un fichier (pas reconstruite a chaque operation)
chargee ou chargeable en memoire centrale
On parle alors de fichier sequentiel indexe et plusieurs indexpeuvent etre associe a un meme fichier et stockes eux meme dansdes fichiers triees.
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Exemple d’index
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Amelioration de l’index
Le principe de l’indexation peut etre complete de plusieursmanieres :
Au lieu de la cle on peut utiliser un attribut discriminent (quin’est pas une cle stricte), il y aura des doublons dans l’index
On peut constituer une cle de l’index a partir de plusieursattributs (par exemple nom + prenom s’il y a deshomonymes) Exemple : mots d’un dictionnaire (1 mot =plusieurs sens donc plusieurs definitions)
On peut creer et combiner plusieurs index suivant lesrecherches effectuees (par nom, par adresse etc.)
On peut fragmenter l’index lorsque la la table est trop grandepour tenir en memoire principale
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Exemple d’index
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Organisation en arbre : B-arbre
Invente chez Boeing : B pour Boeing ou Balanced (equilibre)
L’idee principale est d’utiliser une cle pour naviguerrapidement un article
Au lieu d’une table d’index, on utilise une structure plusadaptee aux recherches : un arbre donc chaque nœud a auplus n fils
Principe du B-Arbre :
Les articles dont la valeur de la cle est inferieure(respectivement superieure) a l’enregistrement du nœudcourant sont places a sa gauche (respct. a sa droite)
cette structure comme l’index ne contient pas les articles maisseulement la valeur de la cle et la position (adresse) del’enregistrement dans le fichier
Cette strategie est efficace si l’arbre est bien organise : ’il aautant de fils gauche que droits
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Exemple d’index B-arbre
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Organisation en arbre : B-arbre
Cette technique est interessante car la parcours de l’arbrerevient a une recherche dichotomique dont le nombre decomparaison est fixe par la profondeur maximum de l’arbre
Ce n’est verifie que si l’arbre est equilibre (balanced)
Chaque nœud doit avoir autant de descendants gauches quedroit
Le principe est de construire des le depart un arbre equilibrepuis de maintenir l’equilibre au fur et a mesure de sacroissance
On doit donc couper des branches et les regreffer ailleurs ?
Que faire des suppressions dans l’arbre ?
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
B-arbre stocke comme un tableau
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Organisation aleatoire : hash-coding
Les techniques precedentes consistaient a voir differemment lefichier sans le modifier :
en lui associant une structure complementaire l’index
La technique de hash-coding consiste a reorganiser le fichier :
on reserve une zone contigue pour ranger des enregistrements
cette zone est divisee en p paquets numerotes de 0 a p − 1 detaille fixe t
on utilise une fonction dite de hachage qui fait correspondre achaque valeur de cle un numero de paquet entre 0 et p − 1
l’adresse reelle d’un enregistrement est l’adresse du paquet etun deplacement relatif au debut du paquet
les cles peuvent etre de type varies et le resultat estimperativement un nombre entier
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Organisation aleatoire : hash-coding
L’acces a un enregistrement s’effectue en appliquant la fonction dehachage a la valeur de la cle presentee pour obtenir un numero depaquet candidat :
Au sein d’un paquet, la recherche est sequentielle
Les articles dont ranges par ordre d’arrivee
Pour definir une fonction de hachage, il faut d’abord transformerles valeurs de la cle, souvent une chaıne en une valeur numerique(un nombre entier) :
on se sert t du codage interne de la valeur des caracteres quiest numerique 8 bits ASCII 16 bits Unicode
on utilise abondamment la fonction modulo
D. Knuth, Volume 3, Sorting and Searching (1973).
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Organisation aleatoire : exemple
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Organisation aleatoire : les limites
Lorsque le systeme fonctionne bien, pour une recherche :
il y a seulement un acces direct
ensuite un petit deplacement (sequentiel)
Le probleme du hash-coding provient de ce que :
en fonction des donnees presentes, certains paquets peuventrester vides (memoire sous utilisee)
des paquets peuvent etre en etat de debordement (paquetsature)
il n’est pas possible de garantir a l’avance ce qui se produira
Pour pallier ces difficultes en amont on doit faire en sorte que lafonction de hachage :
reste le plus possible representative de la valeur de la cle. Il ya alors peu de valeurs de cle differentes pour un memenumero de paquet
donne une repartition statistique uniforme des valeurs de clessur les numeros de paquets (?)
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Organisation aleatoire : les limites
En aval en essaie de gerer la saturation des paquets en utilisant destechniques de redirection des articles surnumeraires :
Adressage ouverthttp://fr.wikipedia.org/wiki/Table_de_hachage
Chaınage
Rehachage
Dans tous les cas le debordement deteriore les performances dusysteme
Les supports de stockage Systeme de fichiers Organisation interne des fichiers
Lecture essentielles a un informaticien :
Algorithmique - 3eme edition - Dunod - Edition 2010 ThomasCormen, Charles Leiserson, Ronald Rivest , Clifford Stein
Donald Knuth - The Art of Computer Programming, Volumes1-3