Académique Documents
Professionnel Documents
Culture Documents
1
INTRODUCTION
2
•Un fichier est une collection logique d’information.
Fichier logique
Niveau utilisateur
Interface : fonctions du SGF
Niveau Système ou physique
(Système de Gestion de Fichiers)
Fichier Physique
9
B. Fichier physique
11
Structure du disque dur
plateau
13
Fichier physique
15
Allocation contiguë
• Difficultés :
- création d'un nouveau fichier
- extension du fichier
16
Allocation contiguë
Fichier 4 : 6 blocs
Fichier 3 : 4 blocs
17
Allocation contiguë
Compactage
Fichier 4 : 6 blocs
18
Allocation contiguë
Déplacer les
fichiers
COUTEUX !
19
Allocation par zones
ZS I
ZS I
Zone ZS
Primaire I
( 3 blocs)
Zone Problèmes précédents
Secondaire atténués mais toujours existants
(2 blocs)
20
Allocation par bloc chainée
• Difficultés :
fichier 2 - mode séquentiel seul
- le chaînage du bloc suivant occupe de
la place dans un bloc
données
21
Allocation par bloc chainée : variante
N° bloc
Fin de fichier
Une table d'allocation des fichiers 1 NULL
(File Allocation Table - FAT) 2 Libre Bloc non alloué
regroupe l'ensemble des chainages.
3 5
(exemple systèmes Windows) 4 Libre
5 NULL
6 Libre
7 1
fichier 1
11 7 N° de Bloc suivant
Alloué pour le
12 Libre
fichier
13 15
14 Libre
15 3
fichier 2 16 Libre
17 13
20 Libre
FAT
22
Allocation indexée
Les adresses des blocs physiques constituant un fichier sont
rangées dans une table appelée index, elle-même contenue
dans un ou plusieurs blocs disque
512 / 4 = 128 entrées
fichier 2
fichier 1
bloc d'index
ext4fs : ext4 est considéré par ses propres concepteurs comme une
solution intermédiaire en attendant le vrai système de nouvelle
génération que sera Btrfs.
0 Accès direct
Accès direct
.
.
.
9 Accès direct
10 1 indirection
11 2 indirections
12 3 indirections
Table d'allocation
13 entrées
24
Allocation indexée : la solution Unix
.
.
.
9
10
11
12 10 K
25
Allocation indexée : la solution Unix
La 11ème entrée de la table contient l’adresse d’un bloc d’index
INDIRECT_1. Ce bloc d’index contient des adresses de blocs de
données
Bloc = 1024 octets ; adresse de bloc = 4 octets 256 entrées dans le
bloc d’index
0 INDIRECT_1
.
.
.
9 256 entrées 256 Ko alloués
10
11
12 Accès aux blocs de données en première indirection :
2 accès disque
Table d'allocation
13 entrées
26
Allocation indexée : la solution Unix
0
Accès aux blocs de données en seconde indirection :
3 accès disque
.
.
.
9
INDIRECT_2 INDIRECT_2_i
10
11
12
Table d'allocation
256 * 256 Ko alloués
13 entrées
27
Allocation indexée : la solution Unix
La 13ème entrée de la table contient l’adresse d’un bloc d’index INDIRECT_3. Ce
bloc d’index contient des adresses de blocs d’index INDIRECT_3_i. Chaque bloc
d’index INDIRECT_3_i contient des adresses de blocs d’index INDIRECT_3_i_j.
Chaque bloc d’index INDIRECT_3_i_j contient des adresses de blocs de données
Bloc = 1024 octets ; adresse de bloc = 4 octets 256 entrées dans le bloc d’index
(i et j évolue de 1 à 256)
0 Accès aux blocs de données en troisième indirection :
4 accès disque
.
. INDIRECT_3_i_j
. INDIRECT_3_i 256 * 256 * 256 Ko alloués
INDIRECT_3
10
11
12
Table d'allocation
13 entrée s
28
Allocation indexée : la solution Unix/Linux
0 Accès direct
Accès direct
.
. 10 blocs de données
.
9 Accès direct INDIRECT_1
10 1 indirection
11 2 indirections 256 blocs de données
12 3 indirections INDIRECT_2_1
Table d'allocation
256 blocs de données
13 entrées
INDIRECT_2 INDIRECT_2_2
En mémoire centrale Sur disque
4 blocs de données
Fichier de 526 Ko 526 blocs
Allocation : 10 blocs en accès direct
: 256 blocs de données pointés par le bloc index INDIRECT 1
: restent 526 – 10 – 256 = 260 blocs . Tous ces blocs sont pointés à partir du bloc d’index
INDIRECT_2. 2 blocs d ‘index INDIRECT_2_1 et INDIRECT_2_2 sont nécessaires à ce niveau
29
Gestion de l'espace libre
Le système maintient une liste d'espace libre, qui mémorise tous les
blocs disque libres (non alloués)
vecteur de bits
liste chainée des blocs libres
30
Gestion de l'espace libre par un vecteur de bits
01010101110101010111
31
Cette solution est utilisée pour trouver n blocs contigus, elle est
utilisée dans les systèmes : NTFS, ext2fs
Exemple
Par exemple, un disque de 300 Mo, organisé en blocs de 1 Ko,
sera géré par une table de 300 Kbits qui
occupera 38 des 307.200 (300x1024) blocs
Gestion de l'espace libre par liste chainée
1 1
1 3
1 1
1 3
Gestion de l'espace libre
N° bloc Fin de fichier
La FAT intègre
1 NULL
directement la
2 Libre Bloc non alloué
gestion de cet
3 5
espace.
4 Libre
5 NULL
6 Libre
7 1 N° de Bloc suivant
fichier 1 Alloué pour le
fichier
11 7
12 Libre
13 15
14 Libre
15 3
fichier 2 16 Libre
17 13
20 Libre
FAT
Exemple
Répertoire
fichier
fichier
fichier
36
Le répertoire
37
Organisation des répertoires
1 répertoire
38
Organisation des répertoires
A/Ar1/1 A/Ju1/1
A 1
sous-répertoire texte 1 3
pg
A/Ju1/3
3 2 3
A/Ar1/texte/3 A/Ar1/pg/3
40
Organisation des répertoires
•On appelle «chemin» (en anglais path) la succession des répertoires en partant
de la racine pour atteindre un fichier. Un chemin est de la forme
Repertoireracine(séparateursousrepertoire)séparateurnomfichier
sous-répertoire texte 1 3
pg
A/Ju1/3
3 2 3
A/Ar1/texte/3 A/Ar1/pg/3
41
Répertoire : exemple MS-DOS
Chaque fichier occupe 32 octets dans le répertoire
8 3 1 12 2 2 2 2
nom_fichier ext A H D B taille
42
Arborescence de répertoires windows
43
Arborescence de répertoires Linux
Contrairement au système de fichiers Windows, il n'existe pas de
lecteurs C:, D:,E: ….
L'entrée du système de fichier se situe à la racine, notée / .
Ensuite, il existe un certain nombre de répertoires présents par
défaut. Chaque répertoire a un rôle bien précis
Répertoire Description
/ Racine : point d'entrée du système de fichiers
/boot Contient le noyau de Linux
/bin Les exécutables de base comme: ls, cp,mv,..
/dev Contenant les fichiers devices qui permettent le lien
avec les périphériques
/etc Contenant les fichiers de configuration
/home Contient les fichiers des utilisateurs (users)
/lib Contient les librairies et les modules de noyau
/lost+found les fichiers abimés ou trouvés après un crash du
disque dur
/media Pour monter les medias externes(CD, USB,…)
/mnt Pour monter d'autres systèmes de fichiers
/proc certaines caractéristiques matérielles ou certains
paramètres du noyau.
/root Répertoire personnel de l'administrateur
/sbin les exécutables destinés à l'administration du système
/sys fichiers spéciaux représentant certaines caractéristiques
matérielles ou certains paramètres du noyau
/tmp fichiers temporaires utilisés par certains programmes
/usr contenant les exécutables des programmes
/var fichiers qui servent à la maintenance du système (les
fichiers de logs notamment dans /var/log)
Opérations du Système de Gestion de Fichiers
- Structuration du disque
- Traitement des requêtes disque
- Opérations de haut niveau
44
A. Structuration du disque dur
45
Formatage physique
Le formatage physique ou de bas niveau permet de diviser la
surface du disque en éléments basiques.
cylindre
plateau
disque
47
Partitionnement
Une partition est une partie d'un disque dur destinée à accueillir un
SGF. Elle est identifiée par un nom appelé « nom de volume ». Elle est
constituée d’un ensemble de cylindres contigüs.
48
Organisation de partition : LINUX
49
Organisation de partition : DOS
1 NULL
2 L
3 NULL Fichier 1 ext HA D B taille
4 L
5 L
6 L
7 1
11 7
12 L
13 15
14 L
15 3
16 L
17 13
20 L
50
Partitions
51
C. Réalisation des opérations de haut niveau
65
Interfaces d’appel du SGF
Pg U Interpréteur de
Appels commandes
système commandes
> cd /home
open (fichier)
chdir( /home)
Interface d’appel
open chdir (bibliothèque système)
_open
_chdir
SE : ensemble
de fonctions
Système de gestion de fichiers
66