• Aucun résultat trouvé

Structure d’un disque

N/A
N/A
Protected

Academic year: 2022

Partager "Structure d’un disque"

Copied!
37
0
0

Texte intégral

(1)

Chapitre V : La gestion des disques et l’organisation des fichiers

Eric.Leclercq@u-bourgogne.fr

epartement IEM

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

March 10, 2011

(2)

Plan

1 Les supports de stockage Terminologie

2 Syst`eme de fichiers Syst`eme de fichiers Table d’allocation

3 Organisation interne des fichiers Fichiers s´equentiel ind´ex´es Index de type B-arbre Acc`es al´eatoire ou dispers´e

(3)

Introduction

La gestion des disques :

concerne les m´ethodes d’acc`es au blocs de donn´ees par le noyau du SE

la d´efinition d’une structure pour accueillir les fichiers La gestion des fichiers recouvre plusieurs activit´es :

Une gestion effectu´ee par le noyau du SE : allocation, gestion des m´eta-donn´ees (taille, date de cr´eation, propri´etaire), localisation

Une gestion en mode utilisateur : gestion interne du contenu du fichier (ouverture, lecture, ´ecriture

(4)

Acc` es s´ equentiel ou direct

Les anciens supports de stockage ´etaient essentiellement `a acc`es s´equentiel

Exemple :

analogie avec les K7 de magn´etoscope, bandes magn´etiques, rubans perfor´es etc.

Aujourd’hui, il existe toujours des bandes mais leur utilisation est r´eserv´ee pour les sauvegardes. Les disques magn´etiques pr´esentent des caract´eristiques essentielles :

Rapidit´e des acc`es (acc`es direct `a une zone) Fiabilit´e

Grande capacit´e

Exemple :

capacit´e actuelle d’un disque sur un PC 500Go, acc`es 5-10ms, transfert 50M/s.

(5)

Structure d’un disque

1 Plateaux

2 Moteur (axe)

3 M´ecanisme de d´eplacement des bras

4 bras supportant les tˆetes de lecture ´ecriture (5)

(6)

Structure d’un disque

(7)

Structure d’un disque : r´ esum´ e

(8)

Structure d’un disque : terminologie

(9)

Structure d’un disque : terminologie

(10)

Notion de syst` eme de fichiers

Formatage : le disque est d´ecoup´e en zones logiques appel´ees secteurs regroup´es sur des pistes

L’ensemble des pistes de mˆeme num´ero sur diff´erent plateaux forme un cylindre

Les blocs sont des regroupement de secteurs (en g´en´eral 512 octets / secteur)

La cr´eation d’un syst`eme de fichiers (formatge dans le monde Windows) cr´ee une structure de donn´ees pour affecter des blocs `a des fichiers (commandemkfs dans le monde Unix)

(11)

Notion de syst` eme de fichiers

Les syst`emes de fichier sont g´er´es `a partir d’uneseule et mˆeme racine (’/’)

Les utilisateurs sont tous possesseurs d’une branche dans laquelle ils sont maˆıtres (home directory)

les utilisateur peuvent d´evelopper leur branche : cr´eer de nouveaux fichiers et de nouveaux r´epertoires

Contrairement `a Windows, l’utilisation de disquettes n’est pas vue comme l’ajout d’un nouveau volume (disque), mais comme le raccordement d’un syst`eme de fichiers `a l’arborescence existante

Les disquettes ou tout autre support de stockage sont greff´es sur l’arbre principal par une commande mount :

mount /dev/fd0 /mnt/floppy

(12)

Fichier sp´ eciaux, liens symboliques

Il existe plusieurs cat´egories de fichiers sp´eciaux sous Unix : les r´epertoires

les tubes nomm´es

les p´eriph´eriques : syst`eme de fichier /dev

le descriptif de l’´etat de l’OS via le syst`eme de fichiers/proc Quelques fois il est utile de nommer les fichiers de plusieurs fa¸cons (alias) ou bien de pouvoir acc´eder `a un fichier depuis plusieurs emplacements 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 pr´evu par le FS) Aux alias sur MACOS

(13)

Notion de fichier

Les disques permettent un acc`es direct aux donn´ees au moyen d’une adresse de bloc, un fichier est un ensemble logique de bloc appartenant `a une mˆeme entit´e (le fichier).

on peut sp´ecifier un premier bloc et ensuite chaˆıner les blocs (ajouter l’adresse du suivant)

on peut ´etablir une liste de blocs dans une table

Probl`eme : utilisateur ne connaˆıt pas l’emplacement du fichier sur le disque, il ne connaˆıt que son nom

(14)

Vers la notion de table d’allocation

Solution 1 :

On int`egre au d´ebut de chaque fichier son nom

On place le fichier sur le disque au premier endroit o`u on trouve de la place

Le recherche d’un fichier est alors s´equentielle : ´etant donn´e le nom, on lit les blocs du disque `a partir du d´ebut et on

recherche la premi`ere occurrence du nom du fichier Inconv´enient : on n’utilise alors pas du tout l’acc`es direct permit par la structure physique du disque dur

Solution 2 :

le premier secteur contient un tableau T qui s’´etend sur la globalit´e de la premi`ere piste et qui associe `a chaque nom de fichier le num´ero du secteur qui le contient

Inconv´enient : fragilit´e de la table d’allocation (File Allocation Table)

(15)

File Allocation Table

(16)

File Allocation Table

´Etant donn´e un nom M, le positionnement de la tˆete de lecture sur le premier secteur (secteur 0) permet :

de charger l’index

de le parcourir `a la recherche de la chaˆıne de caract`eres M de d´eterminer le secteur qui contient le d´ebut du fichier la tˆete de lecture du disque se positionne alors sur la piste en question et recherche plus pr´ecis´ement le fichier (le secteur)

(17)

Structure de fichiers : m´ eta-donn´ ees et contenu

Un fichier regroupe un ensemble de donn´ees appel´e contenu Un fichier est associ´e `a des m´eta-donn´ees stock´ees ou non dans la table d’allocation : un nom, une date, un

emplacement, un propri´etaire, des attributs de lecture etc.

Le contenu d’un fichier est un ensemble structur´e enregistrements (appel´es aussi articles ourecords) Chaque article repr´esente une information unitaire (unit´e d’information)

Exemple :

le fichier du personnel d’une entreprise

(18)

Enregistrements et champs

Les articles se d´ecomposent en champs

Chaque champ repr´esente une propri´et´e de l’article

Les champs sont l’association entre un attribut et une valeur d’un type donn´e.

Exemple :

Dans le fichier du personnel le champ nom repr´esente le nom d’une personne (Nom, Adresse, etc.) et une valeur (’toto’, ’rue

Quimonte’, etc.)

(19)

Enregistrements et champs

Le plus souvent la structure des articles est identique dans un mˆeme fichier :

nombre d’attributs fixe et champs de taille fixe

Ainsi, tous les articles ont la mˆeme taille et on peut calculer la position d’un ´el´ement en fonction de son num´ero d’ordre On parle alors d’article de longueur fixe par opposition aux fichiers comportant des articles de longueur variable Quand peut-on rencontrer des articles de taille variable ? Avantages/Inconv´enients de ces deux formats

(20)

Organisation des fichiers en enregistrements

G´en´eralement l’organisation doit optimiser : la restitution du contenu des fichiers

mˆeme lorsque les donn´ees sont complexes (beaucoup de champs, reli´ees) il est n´ecessaire que les acc`es en lecture soient rapides

Exemple :

dictionnaire, plan de ville, images satellitales

Pour la modification du contenu des fichiers plusieurs probl`emes sont `a prendre en compte :

Comment ins´erer au mieux un nouvel article dans un fichier Comment replacer un information qui augmente de volume Comment ne pas laisser de trous apr`es une suppression (fragmentation)

(21)

Organisation en fonction d’un acc` es par adresse

Tout acc`es r´eel `a un enregistrement se fait en sp´ecifiant son adresse avec les hypoth`eses suivantes :

implantation contigu¨e des enregistrements

utilisation d’une table d’allocation associ´ee `a un fichier si les enregistrements sont de taille variable

utilisation d’une table des zones libres pour g´erer la fragmentation

On peut souhaiter demander au syst`eme l’acc`es `a un

enregistrement qui a certaines propri´et´es mais dont on ne connaˆıt pas l’adresse (fichier tr`es grand)

Exemple :

recherche du num´ero de t´el´ephone d’une personne en fonction de son nom, ou de sa ville, ou de plusieurs crit`eres

(22)

Notion de cl´ e ou d’identifiant

Certains champs (attributs) permettent de discriminer totalement une information :

ces attributs sont appel´es des cl´es

deux valeurs diff´erentes de la cl´e font r´ef´erence `a des

enregistrements diff´erents, ainsi, dans un fichier il ne peut pas y avoir deux enregistrements diff´erents ayant la mˆeme valeur de cl´e

Conclusion : chaque valeur de cl´e correspond `a une seul adresse d’enregistrement dans le fichier

Comment utiliser cette propri´et´e pour acc´eder au contenu d’un article en se basant sur la valeur de la cl´e ?

(23)

Acc` es au contenu via une cl´ e

Diff´erents types d’organisations ont ´et´e ´etudi´es depuis plus de 40 ans :

S´equentielle (fichiers tri´es selon la cl´e) S´equentielle index´ee

B-Arbre Al´eatoire

(24)

Principe de l’index

Le principe de l’indexation consiste `a bˆatir une table de correspondances (table d’index) entre :

les valeurs de la cl´e

es adresses des enregistrements sur le disque Pour faciliter les acc`es (rapidit´e) cette table doit ˆetre :

tri´ee

stock´ee dans un fichier (pas reconstruite `a chaque op´eration) charg´ee ou chargeable en m´emoire centrale

On parle alors de fichiers´equentiel index´eet plusieurs index peuvent ˆetre associ´e `a un mˆeme fichier et stock´es eux mˆeme dans des fichiers tri´ees.

(25)

Exemple d’index

(26)

Am´ elioration de l’index

Le principe de l’indexation peut ˆetre compl´et´e de plusieurs mani`eres :

Au lieu de la cl´e on peut utiliser un attribut discriminent (qui n’est pas une cl´e stricte), il y aura des doublons dans l’index On peut constituer une cl´e de l’index `a partir de plusieurs attributs (par exemple nom + pr´enom s’il y a des

homonymes) Exemple : mots d’un dictionnaire (1 mot = plusieurs sens donc plusieurs d´efinitions)

On peut cr´eer et combiner plusieurs index suivant les recherches effectu´ees (par nom, par adresse etc.)

On peut fragmenter l’index lorsque la la table est trop grande pour tenir en m´emoire principale

(27)

Exemple d’index

(28)

Organisation en arbre : B-arbre

Invent´e chez Boeing : B pour Boeing ou Balanced (´equilibr´e) L’id´ee principale est d’utiliser une cl´e pour naviguer

rapidement un article

Au lieu d’une table d’index, on utilise une structure plus adapt´ee aux recherches : un arbre donc chaque nœud a au plus n fils

Principe du B-Arbre :

Les articles dont la valeur de la cl´e est inf´erieure

(respectivement sup´erieure) `a l’enregistrement du nœud courant sont plac´es `a sa gauche (respct. `a sa droite)

cette structure comme l’index ne contient pas les articles mais seulement la valeur de la cl´e et la position (adresse) de l’enregistrement dans le fichier

Cette strat´egie est efficace si l’arbre est bien organis´e : ’il a autant de fils gauche que droits

(29)

Exemple d’index B-arbre

(30)

Organisation en arbre : B-arbre

Cette technique est int´eressante car la parcours de l’arbre revient `a une recherche dichotomique dont le nombre de comparaison est fix´e par la profondeur maximum de l’arbre Ce n’est v´erifi´e que si l’arbre est ´equilibr´e (balanced)

Chaque nœud doit avoir autant de descendants gauches que droit

Le principe est de construire d`es le d´epart un arbre ´equilibr´e puis de maintenir l’´equilibre au fur et `a mesure de sa croissance

On doit donc couper des branches et les regreffer ailleurs ? Que faire des suppressions dans l’arbre ?

(31)

B-arbre stock´ e comme un tableau

(32)

Organisation al´ eatoire : hash-coding

Les techniques pr´ec´edentes consistaient `a voir diff´eremment le fichier sans le modifier :

en lui associant une structure compl´ementaire l’index La technique de hash-coding consiste `a r´eorganiser le fichier :

on r´eserve une zone contigu¨e pour ranger des enregistrements cette zone est divis´ee enp paquets num´erot´es de 0 `ap−1 de taille fixe t

on utilise une fonction dite de hachage qui fait correspondre `a chaque valeur de cl´e un num´ero de paquet entre 0 et p−1 l’adresse r´eelle d’un enregistrement est l’adresse du paquet et un d´eplacement relatif au d´ebut du paquet

les cl´es peuvent ˆetre de type vari´es et le r´esultat est imp´erativement un nombre entier

(33)

Organisation al´ eatoire : hash-coding

L’acc`es `a un enregistrement s’effectue en appliquant la fonction de hachage `a la valeur de la cl´e pr´esent´ee pour obtenir un num´ero de paquet candidat :

Au sein d’un paquet, la recherche est s´equentielle Les articles dont rang´es par ordre d’arriv´ee

Pour d´efinir une fonction de hachage, il faut d’abord transformer les valeurs de la cl´e, souvent une chaˆıne en une valeur num´erique (un nombre entier) :

on se sert t du codage interne de la valeur des caract`eres qui est num´erique 8 bits ASCII 16 bits Unicode

on utilise abondamment la fonction modulo D. Knuth, Volume 3, Sorting and Searching (1973).

(34)

Organisation al´ eatoire : exemple

(35)

Organisation al´ eatoire : les limites

Lorsque le syst`eme fonctionne bien, pour une recherche : il y a seulement un acc`es direct

ensuite un petit d´eplacement (s´equentiel) Le probl`eme du hash-coding provient de ce que :

en fonction des donn´ees pr´esentes, certains paquets peuvent rester vides (m´emoire sous utilis´ee)

des paquets peuvent ˆetre en ´etat de d´ebordement (paquet satur´e)

il n’est pas possible de garantir `a l’avance ce qui se produira Pour pallier ces difficult´es en amont on doit faire en sorte que la fonction de hachage :

reste le plus possible repr´esentative de la valeur de la cl´e. Il y a alors peu de valeurs de cl´e diff´erentes pour un mˆeme num´ero de paquet

donne une r´epartition statistique uniforme des valeurs de cl´es sur les num´eros de paquets (?)

(36)

Organisation al´ eatoire : les limites

En aval en essaie de g´erer la saturation des paquets en utilisant des techniques de redirection des articles surnum´eraires :

Adressage ouvert

http://fr.wikipedia.org/wiki/Table_de_hachage Chaˆınage

Rehachage

Dans tous les cas le d´ebordement d´et´eriore les performances du syst`eme

(37)

Lecture essentielles ` a un informaticien :

Algorithmique - 3`eme ´edition - Dunod - Edition 2010 Thomas Cormen, Charles Leiserson, Ronald Rivest , Clifford Stein Donald Knuth - The Art of Computer Programming, Volumes 1-3

Références

Documents relatifs

Perdre ses photos de vacances : ¸ca n’a pas de

Programme des enseignements – Syst` emes d’information et conception d’entrepˆ ots de donn´ ees – Les principes et la d´ emarche du Data Mining (fouille de donn´ ees)

Objectifs : Maˆıtriser les structures de base de l’informatique (tableaux, listes, files, piles) et les op´ erations ´ el´ ementaires sur ces structures et introduction au

Ecrire en Java la gestion d’un tas, repr´esent´e par un tableau : cr´eer, ins´erer, minimum, supprimer (le minimum), modifier une valeur.. Vous programmerez ceci en TP, et

Un fichier regroupe un ensemble de donn´ ees appel´ e contenu Un fichier est associ´ e ` a des m´ eta-donn´ ees stock´ ees ou non dans la table d’allocation : un nom, une date,

Pour trouver les coordonn´ ees d’un point dans un rep` ere, on ´ ecrit l’´ equation (vectorielle) caract´ eristique on convertit cette ´ equation en syst` eme num´ erique on

On fixe une cat´ egorie C et on prend comme objets les couples (R, M ) d’une monade R sur C et d’un R-module M. Que peut-on prendre comme morphismes pour faire une cat´

J’observe toutefois (Figure 13.3) ` a la fin du mod` ele la formation d’une seconde paire de zones cisaillantes du cˆ ot´ e retro du mod` ele, ce qui laisse penser que la