systÈme de gestion de fichiers - lirmm.frlafourca/ml-enseign/cnam/sgf.pdf · – gestion des...

72
C.Crochepeyre MPS_SGF 2000 - 20001 1 Diapason SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Upload: others

Post on 18-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 1Diapason

SYSTÈME DE GESTION DEFICHIERS

SGF - DISQUE

Page 2: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 2Diapason

accès unitématériel

S.E .

Les couches logiciels

utilisateur

matériel

traitement

S.E .

S.E .

requêteréponse

commandes

SGF

Requêtes E/S

Système E/S

Pilote E/S

Interruptions

Contrôleur E/S

Périphérique

Page 3: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 3Diapason

• Partie visible du système d'exploitation– interface

• commandes

• requêtes

– fonctionnalités– fiabilité

• Partie cachée– gestion des données: fichiers

• organisation

• accès

Introduction

Page 4: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 4Diapason

• Les concepts:

– Fichier

– Enregistrement

• Les concepts logiques ont pour but:– de ranger de manière rationnelle les données sur disque– de rendre transparents à l'utilisateur les concepts physiques– de gérer les fichiers indépendamment des périphériques

• Les concepts logiques sont gérés par le SGF– Le SGF s'appuie sur la gestion des concepts physiques

Les concepts logiques

Page 5: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 5Diapason

1 octet = 8 bits

1 secteur = 512 octets

1 caractère ascii

0100 0011

4 3

C

512 caractères

1 fichier

octet

secteur

fichier

La construction du concept 'fichier'

Page 6: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 6Diapason

Les différents concepts 'fichier'

Selon le SGF, le fichier est :

- une simple suite d'octets- une suite d'enregistrements- une arborescence de blocs

fichier fichier fichiervvv

gestion des secteursgestion des enregistrementsgestion des blocs

Page 7: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 7Diapason

Les fichiers sur disque

informations de l'entité 1

informations de l'entité 2

informations de l'entité 3

regroupement des informations par entité

Page 8: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 8Diapason

La nomination des fichiers

Les fichiers sont repérés sur le disque par un nom:

FICHIER.C programme source en CFICHIER.PAS programme source en pascalFICHIER.BIN programme binaire exécutableFICHIER.LIB fichier librairieFICHIER.TXT fichier texteFICHIER.DAT fichier données

Les noms de fichiers respectent la syntaxe imposée par le SGF:- longueur maxi d'un nom- jeu de caractères autorisé pour le nom- extension différenciant la nature du fichier....

Page 9: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 9Diapason

Le concept 'enregistrement'

L'enregistrement:Ensemble de données décrivant un objet d'une même entité

1 ligne de programme source

1 ligne de texte

1 instruction codée binaire

Ce concept d'enregistrement n'existe pas toujours:- accès à partir d'un pointeur dans le fichier

L'accès aux données d'un fichier se fait en fournissant au SGF:- le nom du fichier- le n° d'enregistrement dans ce fichier

Page 10: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 10Diapason

Entité: article

n° nom_article référence_article

vZone nom_article

L'enregistrement structuré

Zone:Chaque zone est une représentation d'un objet de l'entité

Plusieurs types d'enregistrements sont possibles selon le SGF:- enregistrement = bloc = données- enregistrement = bloc = zones de données

clé

Clé:Donnée identifiant de manière unique chaque entité

Page 11: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 11Diapason

L'enregistrement structuré

Plusieurs moyens pour répérer l'emplacement physique d'un enregistrement:

par le rang

clé

par la clé

clé clé

1 2 3

par l'adresse

sect

Page 12: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 12Diapason

La longueur de l'enregisrement

La longueur fixe:- tous les enregistrements d'un même fichier sont de même longueur

La longueur variable:- chaque enregistrement a sa propre longueur

Facilité de gestionRisque de perte de place importante

Complexité de gestionOccupation optimisée de l'espace

Page 13: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 13Diapason

La gestion des enregistrements

Accès aux enregistrements de longueur fixe:- connaître l'emplacement du premier enregistrement- connaître la longueur

+ long + long + long + long

Accès aux enregistrements de longueur variable:- connaître l'emplacement du premier enregistrement- connaître la longueur de chaque enregistrement

long 1 long 2 long 3 long 5long 4

Page 14: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 14Diapason

Les concepts logiques - les concepts physiques

secteur 21 secteur 22 secteur 23 secteur 24 secteur

ceci est un enregistrement d' une ligne de texte saisie au clavier

ceci est un enregistrement d' une ligne de tex te saisie au clavier

enregistrement

suite de secteurs

Page 15: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 15Diapason

Le calcul de l'adresse physique de chaque enregistrement

Connaître la position du 1er enregistrement du fichier:- soit l'adresse logique: n° secteur logique - n° bloc- soit l'adresse physique: n° face, n° piste, n° secteur

Connaître le déplacement pour chaque enregistrement:- soit le nombre d'octets- soit un chaînage sur l'enregistrement suivant

chaînage:- adresse de l'enregistrement suivant

Page 16: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 16Diapason

Le bloc physique

Pour un meilleur compromis: temps d'accès et capacité de stockagecertains SGF organisent l'espace du disque en blocs de secteurs

1 bloc = 2 secteurs de 512 octets soit 1KO

Les opérations de lecture et d'écriture du SGF se font bloc par bloc

sect sect sect sect

Bloc 1 Bloc 3 Bloc 4Bloc 2

ex:

Page 17: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 17Diapason

liste chaînée des n° des blocs libres table de bits des blocs libres

chaînage des blocs entre eux => adresse du bloc suivant

1001111000100001111

0001101010001101100

0110100101111111000

0001111100000111111

0000001111111011111

1010111000111011001

Gestion des blocs libres

14

2016

258

311

1965

78469

56

566

254

81

388

3677550

Page 18: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 18Diapason

Exemple de MS-DOS

La FAT File Allocation TableTable d'allocation des fichiers

x

x

EOF

0

1

2

3

4

5

6

7

8

9

6

9

4

EOF

mauvais

fichier_A:

3 6 9 4

Page 19: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 19Diapason

Exemple d'Unix

Une table i-node par fichier sur le disque

noeud du fichier

pointeur 1 indirection

pointeurs 2 indirections

pointeurs 3 indirections

10 n° de blocs

pointeurs sur les blocs de données

pointeurs sur les blocs de données

pointeurs sur les blocs de données

Page 20: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 20Diapason

1 bloc logique = n enregistrements

• Lorsque plusieurs enregistrements sont transférés ensemble lorsd'un échange, on dit qu'ils sont bloqués.

• Le facteur de blocage est le nombre n d'enregistrements par bloclogique

Enregistrement n Enregistrement n+1 Enregistrement n+2

V BLOC logique

Le facteur de blocage est calculé de manière à occuper au mieux les blocs physiques

Le blocage d'enregistrements

Page 21: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 21Diapason

• LE FICHIER– Un fichier est le regroupement de tous les enregistrements

décrivant le même type d'entité

Enregistrement 4 Enregistrement 5 Enregistrement 6

Enregistrement 1 Enregistrement 2 Enregistrement 3

Enregistrement n-2 Enregistrement n-1 Enregistrement n

- - - -

Avantage:Rapidité de sélection des enregistrements concernés par un traitement

FICHIER:

Le fichier

Page 22: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 22Diapason

• LE VOLUME– le volume est l'ensemble des fichiers se trouvant sur un même

support

fichier

fichier

fichier

> VOLUME

Le volume

Page 23: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 23Diapason

– Le répertoire est une table sur le support permettant deréférencer tous les fichiers existants du volume avec leur nomet leurs caractéristiques principales

– Le répertoire stocke pour chaque fichier l'adresse du premierenregistrement

fichier

fichier

fichier

Répertoire

Le répertoire

Page 24: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 24Diapason

Un répertoire est une zone disque réservée par le SGF.Le répertoire comprend un certain nombre d'entrées.Une entrée est allouée à chaque fichier du disque

répertoire

entrée

entrée

entrée

entrée

entrée

1 entrée

- Nom du fichier- Type du fichier- Taille du fichier- Propriétaire- Protection- Date de création- Adresse du 1er enregistrement

Composition du répertoire

Page 25: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 25Diapason

Organisation des répertoires

1 répertoire répertoire racine

sous-répertoire

- nom du fichier

- chemin d'accès A/B/E/- nom du fichier FIC_3

A

B C

ED1 2

3

Page 26: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 26Diapason

Les fichiers partagés

répertoire racine

sous-répertoire

A

Jacques Bertrand

ED1 2

3

- Propriété des fichiers par sous-répertoire- Partage d'un même fichier par deux usagers

compteur de liens = 2

Page 27: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 27Diapason

Exemple de MS_DOS

nom_fichier ext A

attribut

D

heuredate

tailleB

N° 1er Bloc

H

Chaque fichier occupe 32 octets dans le répertoire

Un sous-répertoire occupe une entrée comme un fichierle répertoire racine a 112 entréesles autres sous-répertoires n'ont pas d'entrées limitées

Page 28: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 28Diapason

Exemple d'Unix

.

..bindevlibetcusrtmp

1

147539

8

n° i-node

ss-répertoire

répertoire racine

i-node 9

125

info

9 .1 ..17 claude

57 lucprog44

i-node 44

688

info

/usr /usr/prog

bloc 125

Page 29: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 29Diapason

Allocation de l'espace du disque

Répertoire

Données des fichiers

allocation statique ou dynamique

allocation statique ou dynamique

Page 30: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 30Diapason

Allocation de l'espace d'un fichier

FIC_A FIC_C FIC_F

allocation statique de l'espace du fichier

à la création du fichier :réservation d'un nombre de blocs contigus

répertoire

données

Les enregistrements d'un même fichier sont contigus

Page 31: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 31Diapason

Allocation statique

Phase d'initialisation SGF:

- réservation de l'emplacement du répertoireles entrées sont initialisées comme étant libres

- pointeur vers le 1er emplacement libre

espace libre

Page 32: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 32Diapason

Allocation statique

C FA

A la création du fichier:

- calcul de l'emplacement nécessaire:nb d'enregistrements prévus * long d'un enregistrement

- recherche d'un emplacement libre correspondant

- si oui création d'une entrée dans le répertoire avec maj du pointeur 1er emplacement

Cet emplacement ne fait plus partie de l'espace libre- maj du pointeur vers le 1er emplacement libre

Page 33: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 33Diapason

Allocation statique

A la création d'un enregistrement:- place disponible dans l'espace réservé du fichier?

si oui- occupation d'un emplacement dans l'espace réservé

si non- soit allocation d'un emplacement supplémentaire (débordement)- soit déplacement dans un espace plus grand (réorganisation)

C FA

débordement

Page 34: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 34Diapason

Allocation statique

C FA A la suppression d'un enregistrement:- aucune récupération d'espace

mais:- possibilité de récupération de l'emplacement de l'enregistrement supprimé: marquage

Compteur: un compteur d'enregistrements est mis à jour dans le répertoire- si 0 aucun enregistrement- si <>0 n enregistrements

Page 35: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 35Diapason

allocation dynamique de l'espace du fichier

FIC_A FIC_C FIC_F

occupation de l'espace au fur et à mesuredes créations d'enregistrements

répertoire

données

Les enregistrements d'un même fichier sont chaînés entre eux

*

Allocation de l'espace d'un fichier

Page 36: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 36Diapason

Allocation dynamique

Phase d'initialisation SGF:

- réservation de l'emplacement du répertoireles entrées sont initialisées comme étant libres

- pointeur vers le 1er emplacement libre

espace libre

Page 37: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 37Diapason

Allocation dynamique

création du fichier:- à la création du 1er enregistrement- pas de réservation préalable d'un emplacement

C FA

A la création d'un enregistrement:- place disponible dans l'espace libre?

si oui- occupation d'un emplacement dans l'espace libre- maj du pointeur vers 1er emplacement libre

si non- plus de place libre

*

Page 38: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 38Diapason

Allocation dynamique

C FA Création d'un enregistrement:

- utilisation du premier enregistrement libre. maj pointeur1er libre

- si 1er enregistrement du fichier. création entrée dans répertoire. maj pointeur du 1er enregistrement dans répertoire. maj pointeur dernier enregistrement dans répertoire. chaînage de l'enregistrement: * (dernier)

*

Page 39: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 39Diapason

Allocation dynamique

Création d'un enregistrement:

- si nième enregistrement du fichier. maj pointeur dernier enregistrement dans répertoire. chaînage dernier enregistrement vers nouvel enregistrement. chaînage de l'enregistrement: * (dernier)

C FA

*

P

Page 40: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 40Diapason

Allocation dynamique

C FASuppression d'un enregistrement:

- si 1er enregistrement du fichier. maj pointeur du 1er enregistrement dans répertoire

- chaînage enregistrement libéré avec le dernier libre

*

Page 41: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 41Diapason

Allocation dynamique

Suppression d'un enregistrement:

- si nième enregistrement du fichier. chaînage enregistrement précédent vers enregistrement suivant

- chaînage enregistrement libéré avec le dernier libre

C FA

*

Page 42: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 42Diapason

Allocation dynamique

Suppression d'un enregistrement:

- si dernier enregistrement du fichier. maj pointeur dernier enregistrement dans répertoire. chaînage avant-dernier enregistrement : * (dernier)

- chaînage enregistrement libéré avec le dernier libre

C FA

*

Page 43: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 43Diapason

Les organisations de fichiers

Selon l'allocation de l'espace disque qu'utilise le SGFplusieurs organisations de fichiers sont possibles

- séquentielle chaînée allocation dynamique

- séquentielle allocation statique

Page 44: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 44Diapason

Les organisations de fichiers

Organisation séquentielle indexée:- table d'index- fichier des données

0 - 100

100 - 200

200 - 300

300 - 400

400 - 500

table index fichier séquentiel

avantages:- rapidité d'accèsinconvénients:- double accès- stockage des index

Principe:- recherche d'un enregistrementdans une partie du fichier

Page 45: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 45Diapason

Les organisations de fichiers

Organisation aléatoire:

Aucun lien ne relie les enregistrements entre eux

Les emplacements des enregistrements sontcalculés: H-coding

n° enregistrement adresse

Page 46: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 46Diapason

Les accès

Comment accéder aux emplacements des enregistrements?

Quelques méthodes d'accès:- séquentielle si organisation séquentielle- séquentielle-indexée si organisation séquentielle-indexée- séquentielle chaînée si organisation séquentielle-indexée- calculé si organisation aléatoire et H-Coding- relatif si organisation séquentielle et format fixe- direct si adresse physique connue- indirect si 1er accès donne adresse du 2scd

Un SGF gère quelques méthodesces méthodes sont parfois particulières au SGFElles dépendent des organisations

Page 47: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 47Diapason

Accès séquentiel

- organisation séquentielle

si longueur fixe:adresse suivant = adresse + longueur fixe

1 2 3 4

2 3 4L LLL

si longueur variable:adresse suivant = adresse + longueur variable pour chaque enregistrement

- Accès au premier enregistrement: adresse dans le répertoire

Page 48: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 48Diapason

Accès séquentiel chaîné

- séquentielle chaînée

1 2 3 *Ad

longueur fixe ou variable

Ad

Page 49: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 49Diapason

Accès séquentiel-indexé

100

200

300

400

500

table index fichier séquentiel

- Accès au premier élément de la table d'index: répertoire

- la table d'index est transférée en mémoire

- recherche plage dans table

- accès à la première adresse

- lecture séquentielle jusqu'àl'enregistrement recherché

Ad

Ad

Ad

Ad

Ad

Page 50: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 50Diapason

Accès calculé

Le calcul de l'emplacement de l'enregistrementse fait par une fonction connue du SGF

- fournir la clé de l'enregistrement- le SGF applique une fonction (H_Coding)- le résultat donne l'adresse

ex:clé:011203 -> face 01

-> piste 12-> secteur 03

Page 51: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 51Diapason

Accès relatif

si longueur fixe:si N: nième enregistrementadresse = adresse début + (N-1) * longueur fixe

- organisation séquentielle

1 2 3 4

- séquentielle chaînée

1 2 3 *Ad Ad

lecture des enregistrements jusqu'à celui recherché

Page 52: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 52Diapason

Accès direct

adresse physique du début de l'enregistrement

Page 53: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 53Diapason

Accès indirect

Ad1

- à la lecture d'un premier enregistrement le SGF récupère l'adresse de l'enregistrement à lire- l'emplacement de l'Adresse doit être connu du SGF

Page 54: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 54Diapason

Les commandes et les requêtes

les commandes:- interface SGF utilisateurs- langage de commande ex: shell d'unix, commandes MS-DOS- niveau fichiers et non contenu des fichiers

les requêtes:- interface SGF logiciel- appel dans un programme aux fonctions du SGF (langage C, Cobol...)- niveau fichier et enregistrements

>> DIR liste du répertoire courant MS-DOS$ ls -la liste du répertoire courant Unix

read (fic, tampon, nb_oct)

Page 55: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 55Diapason

Les commandes

Quelques commandes du SGF:- liste du répertoire- changement de répertoire- création sous-répertoire- suppression sous-répertoire- création fichier (allocation statique)- suppression fichier- modification d'attributs d'un fichier- changement de nom de fichier...

Au lancement d'une commande -> appel à la fonction du SGF

Les commandes du S.E. incluent un certain nombre de commandes SGF

Langage de commandes

Page 56: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 56Diapason

Les requêtes

Les requêtes sont des appels aux fonctions SGF dans un programme.Les requêtes permettent de modifier le contenu des fichiers

Quelques requêtes du SGF:- ouverture fichier- fermeture fichieret- lecture d'enregistrement- écriture d'enregistrementou- création d'un enregistrement- suppression d'un enregistrement- modification d'un enregistrement

Page 57: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 57Diapason

Ouverture fichier

OPEN (fic, n°, descripteur, L/E)

L'ouverture- vérifie l'exitence du fichier dans le répertoire du disque- transfert les éléments dans le descripteur correspondant en mémoire

Le descripteur:- nom du fichier- n° logique correspondant- pointeur sur 1er enregistrement du fichier- autorisation d'accès: L lecture E: écriture.....

Le descripteur est conservé et mis à jour en mémoire jusqu'à la fermeture

Page 58: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 58Diapason

Lecture fichier

READ (n°fic, accès, tampon, n°enregistrement)

La lecture d'un fichier nécessite:- n° logique du fichier du descripteur- mode d'accès demandé compatible avec l'organisation- l'adresse mémoire de la zone réceptrice de l'enregistrement- n° de l'enregistrement qui peut:

. ne pas exister si lecture séquentielle

. être une clé

. être le rang si accès relatif.....

Cette fonction n'agit pas sur le contenu du descripteur (lecture)Les données lues sont tranférées dans le tampon mémoirePlusieurs requêtes peuvent exister avec des fonctionnalités différentes

Page 59: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 59Diapason

Ecriture fichier

WRITE (n°fic, accès, tampon, n°enregistrement)

L'écriture dans un fichier nécessite:- n° logique du fichier du descripteur- mode d'accès demandé compatible avec l'organisation- l'adresse mémoire de la zone émettrice de l'enregistrement- n° de l'enregistrement qui peut:

. ne pas exister si écriture séquentielle

. être une nouvelle clé (contrôle unicité)

. être le rang si accès relatif.....

Cette fonction met à jour certains éléments du descripteur Gestion des pointeurs ou tables d'allocation des espacesLes données sont transférées du tampon mémoire vers le fichierPlusieurs requêtes peuvent exister avec des fonctionnalités différentes

Page 60: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 60Diapason

Fermeture fichier

CLOSE ( n°fic, descripteur)

La fermeture:- transfert les éléments du descripteur vers le répertoire sur le disque- les pointeurs vers l'espace libre sont mis à jour- d'autres accès sont alors possibles

Page 61: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 61Diapason

Les serveurs de fichiers

Partage de fichiers à distance

disque dur

Page 62: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 62Diapason

Le disque déporté

Allocation d'un espace du disque pour chaque utilisateur: disque virtuel- même interface qu'un SGF local- simulation du contrôleur par le réseau

Accès à des fichiers à distance:- création du fichier- retour par le serveur de fichiers d'un n° de fichier: identificateur- accès à ce fichier uniquement avec le n° identificateur

SGF serveur de fichiers:- le serveur offre un SGF complet- transparence total de la localisation des répertoires, des fichiers...

Page 63: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 63Diapason

La mise à jour

Mise à jour atomique:- lecture ou écriture d'un enregistrement complète et non partielle

Pour assurer la cohérence des données

Sauvegarde stable:- deux disques sont mis à jour à des emplacements physiques identiques- contrôle périodique par le serveur de l'égalité de chaque bloc

. si bloc endommagé recopie du bloc

Fichiers à plusieurs versions:- les mises à jour sont effectuées sur une copie- fichiers datés

Page 64: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 64Diapason

Les accès concurrents

Ex: maj simultanées d'un enregistrement dans un fichier- Z=500- maj P1 -> Z= Z+200 et

P2 -> Z+Z+300 => Z=1000

- P1 lit Z=500- P2 lit Z=500- P1 Z=500+200 => Z=700- P2 Z=500+300 => Z=800

=> Z=800 fauxSOLUTIONS: - sérialiser les mises à jour

- verrouillage du fichier lors d'un accès

Algorithmes de contrôle d'accès concurrents

Page 65: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 65Diapason

Les transactions

Une transaction s'exécute à terme de l'opération

BEGIN TRANSACTIONclient serveur

échanges

END TRANSACTION serveurvalidation MAJ

client

client

serveur

Page 66: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 66Diapason

Les transactions

BEGIN TRANSACTION:Serveur - crée un enregistrement de la transaction

- verrouille l'accès au fichier- copie du fichier dès la première tentative d'écriture les maj se font sur la copie

END TRANSACTION:Serveur - crée une liste d'intentions

- copie la liste dans l'enregistrement de la transaction- interdit toute opération jusqu'à la fin de la transaction- met à jour tous les blocs du fichier (maj atomique)- déverrouille le fichier- validation

Page 67: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 67Diapason

Les fichiers dupliqués

Certains SGF dupliquent n fois les fichiers

Nom_Fichier noeud1 noeud4noeud3noeud2

Nom_Fic1Nom_Fic2Nom_Fic3

455655

8655459

6597526

849977

En cas de modification:- maj des blocs des copiesou- nouvelles copies

Page 68: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 68Diapason

La sécurité

Protection des informations contre des accès non autorisés

Les pertes de données:- catastrophes: incendie, feu....- erreurs matérielles et logicielles: panne, bogues- erreurs humaines: saisie erronée, mauvais programme, ....

prévention: sauvegarde des fichiers

Les intrus:- indiscrétion- contournement des obstacles d'accès par plaisir...- gain financier: transfert de comptes bancaires- espionnage

Page 69: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 69Diapason

Quelques cas

Failles du SGF des anciennes versions d'Unix:- lpr impression puis effacement du fichier mots de passe- core fichier lié au fichier des mots de passe:

effacement et remplacement- mkdir création d'un répertoire: uid = racine puis uid = propriétaire

par chownentre mkdir et chown se mettre propriétaire

Le cheval de Troie:- modification d'un programme de manière à fonctionner normalementmais en effectuant en plus des opérations illicites.

Page 70: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 70Diapason

Les moyens de sécurité

Les droits d'accès:

- identificateur des utilisateurs: mot de passe> Unix

nom d'usagermot de passe associé

> autres méthodes:- quelques questions précises (2/3) avec réponses sont stockéesle S.E. pose une question au hasard- algorithme connu de l'utilisateur: 5 * N Le S.E. donne 4l'usager doit répondre 20

- Identification physique> carte magnétique, signature, voix, ....

Page 71: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 71Diapason

La protection

La protection des fichiers par des droits d'accès

fich2

fich1

fich3

droitsdroits

droits

fich1 [r, w, x]

fich2 [x]

fich1 [r, w]

fich1 [r, w, x]

fich1 [r, w]fich2 [x] imprimante [w]

Par leur appartenance à des domaines

ex: Unix domaines d'accès: propriétaire, ,groupe ou autre domaines d'exécution: utilisateur ou noyau

Page 72: SYSTÈME DE GESTION DE FICHIERS - lirmm.frlafourca/ML-enseign/CNAM/sgf.pdf · – gestion des données: fichiers • organisation • accès Introduction . C.Crochepeyre MPS_SGF 2000

C.Crochepeyre MPS_SGF 2000 - 20001 72Diapason

CONCLUSION

Le SGF du S.E est une partie complexe mais necessaire:- il permet de stocker des données sur un support externe- il utilise des concepts logiques faciles à mettre en oeuvre- il décharge l'utilisateur de tout concept physique- il peut être utilisé en mode commande ou dans un applicatif en mode requête

Chaque S.E. à son propre SGF avec ses caractéristiques:- organisations- modes d'accès - enregistrement plus ou moins structuré- multiutilisateurs- niveau de protection et sécurité