Chapitre V : La gestion des disques et l'organisation des...

37
Les supports de stockage Syst` eme de fichiers Organisation interne des fichiers Chapitre V : La gestion des disques et l’organisation des fichiers [email protected] epartement IEM http://ufrsciencestech.u-bourgogne.fr http://ludique.u-bourgogne.fr/ ~ leclercq March 10, 2011

Transcript of Chapitre V : La gestion des disques et l'organisation des...

Page 1: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

Les supports de stockage Systeme de fichiers Organisation interne des fichiers

Chapitre V : La gestion des disques etl’organisation des fichiers

[email protected]

Departement IEMhttp://ufrsciencestech.u-bourgogne.fr

http://ludique.u-bourgogne.fr/~leclercq

March 10, 2011

Page 2: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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

Page 3: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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

Page 4: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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.

Page 5: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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)

Page 6: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

Les supports de stockage Systeme de fichiers Organisation interne des fichiers

Structure d’un disque

Page 7: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

Les supports de stockage Systeme de fichiers Organisation interne des fichiers

Structure d’un disque : resume

Page 8: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

Les supports de stockage Systeme de fichiers Organisation interne des fichiers

Structure d’un disque : terminologie

Page 9: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

Les supports de stockage Systeme de fichiers Organisation interne des fichiers

Structure d’un disque : terminologie

Page 10: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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)

Page 11: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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

Page 12: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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

Page 13: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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

Page 14: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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)

Page 15: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

Les supports de stockage Systeme de fichiers Organisation interne des fichiers

File Allocation Table

Page 16: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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)

Page 17: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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

Page 18: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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.)

Page 19: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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

Page 20: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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)

Page 21: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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

Page 22: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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 ?

Page 23: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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

Page 24: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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.

Page 25: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

Les supports de stockage Systeme de fichiers Organisation interne des fichiers

Exemple d’index

Page 26: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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

Page 27: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

Les supports de stockage Systeme de fichiers Organisation interne des fichiers

Exemple d’index

Page 28: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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

Page 29: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

Les supports de stockage Systeme de fichiers Organisation interne des fichiers

Exemple d’index B-arbre

Page 30: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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 ?

Page 31: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

Les supports de stockage Systeme de fichiers Organisation interne des fichiers

B-arbre stocke comme un tableau

Page 32: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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

Page 33: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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).

Page 34: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

Les supports de stockage Systeme de fichiers Organisation interne des fichiers

Organisation aleatoire : exemple

Page 35: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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 (?)

Page 36: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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

Page 37: Chapitre V : La gestion des disques et l'organisation des ...ufrsciencestech.u-bourgogne.fr/licence2/.../Chapitre5-DisquesFichier… · 3 Organisation interne des chiers Fichiers

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