63
1 Système de fichiers Ahmed Serhrouchni

Système de fichiers

Embed Size (px)

DESCRIPTION

Système de fichiers. Ahmed Serhrouchni. Plan. Fichier: les concepts Système de gestion de fichier Exemple le système de fichier UNIX. Fichier: Concept. Espace d’adresse logique contiguë Types: Data numérique caractère binaire Programme. Fichier: Structure. - PowerPoint PPT Presentation

Citation preview

Page 1: Système de fichiers

1

Système de fichiers

Ahmed Serhrouchni

Page 2: Système de fichiers

2

Plan

• Fichier: les concepts

• Système de gestion de fichier

• Exemple le système de fichier UNIX

Page 3: Système de fichiers

3

Fichier: Concept

• Espace d’adresse logique contiguë

• Types: – Data

• numérique

• caractère

• binaire

– Programme

Page 4: Système de fichiers

4

Fichier: Structure

• Sans - séquence de mots ou de bytes• Structure de données simple

– Lignes – Longueur fixe– Longueur variable

• Structures de données Complexes – Document avec format spécifique

• La décision revient:– Au système d’exploitation– Ou au Programme

Page 5: Système de fichiers

5

Fichier: Attribut• Nom – sous forme lisible

• Type – pour permettre au système de supporter plusieurs types

• Location – adresse pour localiser le fichier sur le périphérique

• Taille – Taille courante du fichier

• Protection – contrôle qui peut lire, écrire, exécuter

• heure, date, et l’identification de l’utilisateur– données pour la protection, securité, et l’administration

• Ces Informations sur le fichier sont contenus dans une structure qui est maintenue dans le disque

Page 6: Système de fichiers

6

Fichier: Opérations• Create• Write• Read• file seek – repositionne dans le fichier• Delete• Truncate• Open(Fi) – recherche la structure sur le disque de

l’entrée Fi, et place le contenu de cette entrée en mémoire

• Close (Fi) – place le contenu de cette entrée qui est en mémoire vers la structure sur le disque

Page 7: Système de fichiers

7

Fichier: accès

• Plusieurs éléments de données ont besoin d’être gérés pour l’accès au fichier:– pointeur de fichier: pointe sur la dernière

position en read/write, par processus qui a ouvert le fichier

– Compteur du nbr d’ouveture du fichier– Localisation du fichier sur le disque– Droits accès : par processus

Page 8: Système de fichiers

8

Fichier: verrouillage en ouverture

• Fournit par certains systèmes d’exploitation et systèmes de fichier

• Médiateur pour accéder à un fichier

Page 9: Système de fichiers

9

Fichier: Types, Nom, Extension

Page 10: Système de fichiers

10

Fichier: méthodes d’accès • Accès Sequentiel

read nextwrite next resetno read after last write

(rewrite)

• Accès directeread nwrite nposition to n

read nextwrite next

rewrite n

n = relative block number

Page 11: Système de fichiers

11

Fichier: accès séquentiel

Page 12: Système de fichiers

12

Fichier: Simulation de l’accès séquentiel sur accès direct

Page 13: Système de fichiers

13

Fichier: exemple d’un index de fichier relatif

Page 14: Système de fichiers

14

Fichier: opérations sur les répertoires

• Recherche d’un fichier

• Créer un fichier

• Détruire un fichier

• Lister un répertoire

• Renomer un fichier

• Parcourir un système de fichier

Page 15: Système de fichiers

15

Fichier: l’organisation des répertoires (logiquement)

• Efficacité – localisation rapide d’un fichier• Nommage – commodité pour l’utilisateur

– Deux utilisateurs peuvent avoir un même nom pour deux fichiers différents

– Le même fichier peut avoir plusieurs noms différents

• Groupage – groupage logique de fichiers sur la base de propriétés, (exp., tous les doc., tous les jeux, …)

Page 16: Système de fichiers

16

Fichier: un niveau de répertoire

• Un simple répertoire pour tous les utilisateurs

Problèmes de nommage et de groupage

Page 17: Système de fichiers

17

Fichier: deux niveaux de répertoire

• Séparation du répertoire pour chaque utilisateur

•Path name•Possibilité de même nom pour des utilisateurs différents•Recherche efficace•Pas de capacité de groupage

Page 18: Système de fichiers

18

Fichier: arbre structuré de répertoire

Page 19: Système de fichiers

19

Fichier: arbre structuré de répertoire

• Recherche efficace

• Capacité de groupage

• Répertoire courant (working directory)– cd /spell/mail/prog– type list

Page 20: Système de fichiers

20

Fichier: arbre structuré de répertoire

• Absolu ou relatif path name• Création d’un nouveau fichier se fait dans le

répertoire courant• Détruire un fichier

rm <file-name>• Création d’un nouveau sous répertoire dans

le répertoire courantmkdir <dir-name>

Page 21: Système de fichiers

21

Fichier: répertoire en Graphe Acyclique

• Partage de répertoire et de fichiers

Page 22: Système de fichiers

22

Fichier: répertoire en graphe générale

Page 23: Système de fichiers

23

Fichier: Montage du système de fichier

• Le SF doit être monté avant d’être accessible

• UN SF non monté (Fig. 11-11(b)) est monté à un point de montage

Page 24: Système de fichiers

24

(a) Existante. (b) Partition non monté

Page 25: Système de fichiers

25

Point de montage

Page 26: Système de fichiers

26

Partage de fichier

• Le partage de fichiers sur un système multi utilisateurs est des fois nécessaire

• Le partage doit être conforme à un schéma de protection

• Sur un systeme distribué, les fichiers doivent être partagés en réseau

• Network File System (NFS) est samba sont des méthodes de partage de fichiers distribuées

Page 27: Système de fichiers

27

Partage de fichier – Utilisateurs Multiple

• User IDs identifie les utilisateurs, permet la mise en oeuvre des permissions et protections

• Group IDs permet l’association d’un utilisateur à un groupe, permission d’accès aux membres d’un groupe

Page 28: Système de fichiers

28

Listes d’accès et Groupes• Mode d’accès: read, write, execute• Trois classes d’usagers

RWXa) owner access 7 1 1

1

RWXb) group access 6 1 1

0

RWXc) public access 1 0 0

1

owner group public

chmod 761 game

Page 29: Système de fichiers

29

Structure du SF

• Structure du SF– Unité logique de stockage

• LE SF réside sur la mémoire secondaire (disque).

• SF organisé en couches.

• File control block –structure de stockage contient les informations sur un fichier.

Page 30: Système de fichiers

30

SF de fichiers en couches

Page 31: Système de fichiers

31

Structure: File Control Block

Page 32: Système de fichiers

32

Structures du SF en mémoire

• Les figures suivantes illustres les structures nécessaires fournit par l’OS

• La figure (a) réfères un fichier ouvert.

• La figure (b) réfères un fichier en lecture.

Page 33: Système de fichiers

33

Structures du SF en mémoire

Page 34: Système de fichiers

34

Virtual File Systems (VFS)ou

Système de Fichier Virtuel

• Le VFS une méthode orienté objet pour la mise en œuvre d’un SF.

• VFS fournit une interface système unique (API) pour différents types de SF.

Page 35: Système de fichiers

35

Vue Schématique d’un VFS

Page 36: Système de fichiers

36

Implantation des répertoires

• Liste Linéaire des noms de fichiers avec des pointeurs sur les blocs de données– simple pour le traitement– Consomme bcp. de tps d’exécution

• Table de hachage– liste linéaire avec une structure de donnée avec hachage.– Recherche rapide– collisions – deux noms de fichiers peuvent donner la

même localisation– Taille fixe

Page 37: Système de fichiers

37

Méthodes Allocation

• Une méthode allocation réfère comment allouer les blocs de données aux fichiers :

• Allocation Contiguë

• Allocation avec lien

• Allocation indexée

Page 38: Système de fichiers

38

Allocation Contiguë • Chaque fichier occupe un ensemble de blocs

contigu sur le disque.• Simple – seulement le début de la location

(block #) et la longueur (nombre de blocs) sont nécessaires.

• Gaspillage d’espace (stockage dynamique –problème d’ allocation ).

• Les fichiers ne peuvent augmenter de taille.

Page 39: Système de fichiers

39

Allocation Contiguë d’espace disque

Page 40: Système de fichiers

40

Systèmes basé sur des extensions

• Certains SF nouveau (exp. Veritas File System) utilise un schéma d’allocation contiguë modifié.

• « Extent-based file systems » alloue des blocs dans une extension.

• une extension un ensemble de bloc de disque contiguë. Un fichier consiste en une ou plusieurs extension.

Page 41: Système de fichiers

41

Allocation liée

• Chaque fichier est désigné par une liste de blocs sur le disque : un bloc de la liste peut être situé n’importe où sur le disque.

pointeurbloc =

Page 42: Système de fichiers

42

Allocation liée

• Simple – besoin uniquement du début de la liste• Pas d’espace pour la gestion système – aucun

gaspillage d’espace• Pas d’accès aléatoire

Page 43: Système de fichiers

43

Allocation basée sur les liens

Page 44: Système de fichiers

44

File-Allocation Table

Page 45: Système de fichiers

45

Allocation par table d’index

• Tous les pointeurs sont la table d’index « index block ».

index table

Page 46: Système de fichiers

46

Exemple d’allocation basée sur la table d’index

Page 47: Système de fichiers

47

Allocation Indexée

• Besoin de table d’index • Accès aléatoire • Accès dynamique sans fragmentation

externe, surcharge avec la table d’index.

Page 48: Système de fichiers

48

Schéma: exemple UNIX (4K bytes par block)

Page 49: Système de fichiers

49

Gestion de l’espace libre

• Bit vector (n blocks) …

0 1 2 n-1

bit[i] = 0 block[i] libre

1 block[i] occuppé

Calcul du numéro de Bloc

(nombre de bits par mot) *

(nombre de 0-valeur du mot) +offset du premier 1 bit

Page 50: Système de fichiers

50

Gestion de l’espace libre

• Bit map requires extra space. Example:block size = 212 bytesdisk size = 230 bytes (1 gigabyte)n = 230/212 = 218 bits (or 32K bytes)

• Facile d’avoir des fichiers contiguë • liste (free list)

– Pas de gaspillage d’espace

• Groupage • comptage

Page 51: Système de fichiers

51

Liste liée des espaces libres sur le disque

Page 52: Système de fichiers

52

Le système de fichier Unix

• UNIX– L’un des systèmes le plus populaire depuis 1969

– Ecris en langage C avec un petit noyau

• Le système de fichier Unix– Structure globale pour le stockage et contrôle des données sur le

système.

– La caractéristique la plus signifiante du système UNIX

Page 53: Système de fichiers

53

Vue globale des fichiers UNIX

• Tout est considéré comme fichier et tout fichier est une suite d’octets (aucune structure)

• Quatre types de fichier– régulier: ASCII files– répertoire: contient une liste de noms de fichiers avec

un pointeur sur leur inode– spéciale: périphérique - imprimante, terminal– pipe: FIFO

• inode: index node représente un fichier. Tout accès à un fichier doit faire usage des informations de l’inode.

Page 54: Système de fichiers

54

Structure INODE

• Information de gestion et d’adressage physiques du fichier :– file mode– count of hard links– owner id– group id– time of last file access– time of last file modification– time of last inode modification– file size– file addresses

Page 55: Système de fichiers

55

Adresses des blocks de données dans un INODE

• Block comme unité d’adresse de base, BLOCKSIZE est constant

• 13 pointeurs directe ou indirecte sur les blocks qui contiennent les données du fichier

• Pointeurs 0-9: adresses directe des blocks contenant les données du fichier

• Pointer 10: adresse indirecte simple, vers des blocks qui contiennent les adresses vers les blocks qui contiennent les données du fichier

• Pointer 11: adresse double indirection …• Pointer 12: adresse triple indirection …

Page 56: Système de fichiers

56

Adresses des blocks de données dans un INODE

000 009 010 011 012…….001

Direct block addresses

Indirect block addresses

Double indirectblock addresses

Triple indirectblock addresses

File data blocks

Page 57: Système de fichiers

57

Adresses des blocks de données dans un INODE

• Taille du fichier: blocksize = 1K, adresse du bloc est sur quatre octets en mémoire (1024 / 4 = 256 adresses de blocs dans un bloc):– Adresse directe de bloc: 10K– Adresse indirecte de bloc : 256K– Adresse double indirecte de bloc : 256 * 256K = 64M– Adresse triple indirecte de bloc : 256 * 64M = 16G

• adresses pour les fichiers spéciaux: seulement les deux premiers pointeurs sont utilisés: numéro du contrôleur, numéro du périphérique (major et minor number)

• Adresses des PIPEs sont limités à 10K

Page 58: Système de fichiers

58

Vue externe d’un SF

root ( / )

bin

vi hello

hello.c junkdev etc user

ls.tmp

tty1 mto tty2 null

Page 59: Système de fichiers

59

Vue interne d’un SF

Boot Block

Super Block

i-list Blocks……

Last i-list Blocks

First Data Block

Data Blocks

Total Blocks in File System

Block 01

2..

.FD-1

FD

T

.

.

.

Page 60: Système de fichiers

60

Vue interne d’un SF

• Boot BlockBoot Block: le premier bloc du SF UNIX, contient le programme boot et d’autres informations d’initialisation ou non utilisée.

• Super BlockSuper Block: le second bloc, contient l’ensemble des informations spécifiques sur le SF

• i-list Blocksi-list Blocks: liste des inodes pour le SF, contigu au super block. Le nombre d’inodes est spécifié by par l’administrateur système

• Data BlocksData Blocks: immédiatement après la i-list et occupe le reste des blocs.

Page 61: Système de fichiers

61

Organisation des Blocs libres

• Tous les blocs libres sont dans la chaîne des free-block.

• Dans le superbloc l’entrée s_free[0] est la tête de chaîne des free-block est pointe vers la suivante adresse des free-block.

• Structure du bloc adresse des Free-block:struct {

int df_nfree;

d_addr_t df_free[NICFREE];

}

Page 62: Système de fichiers

62

Structure des Blocs libres

s_free[0]s_free[1]……s_free[49]

df_nfreedf_free[0]df_free[1]……df_free[49]

df_nfreedf_free[0]df_free[1]……df_free[49]

df_nfreedf_free[0]df_free[1]……df_free[49]

df_nfreedf_free[0]df_free[1]……df_free[49]

s_nfree

Page 63: Système de fichiers

63

Appels systèmes du SF UNIX

• 19 appels systèmes en 7 catégories:

Returnfiledesp.

Assigninodes

Setfileattr.

Processinput/output

Changefilesystem

Modifyview offilesystem

Usenameialgorithm

openclosecreatpipedup

creatlinkunlink

chownchmodstatfstat

readwritelseek

mountumount

chdirchroot

open creatmknod chdirchroot chownchmod statmount umount