système de fichiers
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 PresentationTRANSCRIPT
![Page 1: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/1.jpg)
1
Système de fichiers
Ahmed Serhrouchni
![Page 2: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/2.jpg)
2
Plan
• Fichier: les concepts
• Système de gestion de fichier
• Exemple le système de fichier UNIX
![Page 3: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/3.jpg)
3
Fichier: Concept
• Espace d’adresse logique contiguë
• Types: – Data
• numérique
• caractère
• binaire
– Programme
![Page 4: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/9.jpg)
9
Fichier: Types, Nom, Extension
![Page 10: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/11.jpg)
11
Fichier: accès séquentiel
![Page 12: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/12.jpg)
12
Fichier: Simulation de l’accès séquentiel sur accès direct
![Page 13: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/13.jpg)
13
Fichier: exemple d’un index de fichier relatif
![Page 14: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/18.jpg)
18
Fichier: arbre structuré de répertoire
![Page 19: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/21.jpg)
21
Fichier: répertoire en Graphe Acyclique
• Partage de répertoire et de fichiers
![Page 22: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/22.jpg)
22
Fichier: répertoire en graphe générale
![Page 23: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/24.jpg)
24
(a) Existante. (b) Partition non monté
![Page 25: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/25.jpg)
25
Point de montage
![Page 26: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/30.jpg)
30
SF de fichiers en couches
![Page 31: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/31.jpg)
31
Structure: File Control Block
![Page 32: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/33.jpg)
33
Structures du SF en mémoire
![Page 34: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/35.jpg)
35
Vue Schématique d’un VFS
![Page 36: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/39.jpg)
39
Allocation Contiguë d’espace disque
![Page 40: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/42.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/43.jpg)
43
Allocation basée sur les liens
![Page 44: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/44.jpg)
44
File-Allocation Table
![Page 45: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/45.jpg)
45
Allocation par table d’index
• Tous les pointeurs sont la table d’index « index block ».
index table
![Page 46: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/46.jpg)
46
Exemple d’allocation basée sur la table d’index
![Page 47: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/47.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/48.jpg)
48
Schéma: exemple UNIX (4K bytes par block)
![Page 49: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/49.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/50.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/51.jpg)
51
Liste liée des espaces libres sur le disque
![Page 52: Système de fichiers](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/52.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/53.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/54.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/55.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/56.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/57.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/58.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/59.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/60.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/61.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/62.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062422/568132c4550346895d998a72/html5/thumbnails/63.jpg)
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