Académique Documents
Professionnel Documents
Culture Documents
1. PRESENTATION D’UNSGF
1.1 DEFINITION
Le système de gestion de fichiers SGF est la partie la plus visible d’un système d’exploitation.
Le SGF est un composant du noyau du système d’exploitation (SE).
D’une part, le SGF offre une interface simple à l’utilisateurpour lui permettre de
gérer tout type de fichiers (.doc, .psd, .fla …). Il s’agit d’un ensemble de fonctions
agissant au niveau logique (de point de vue utilisateur) et assurant toute les
manipulations faites par l’utilisateur telles que : création, déplacement, suppression..
(Point de vuelogique)
D’autre part, leSGF assure l’implantation physique des fichiers sur les supports de
1
mémoire secondaires(ou auxiliaires). Ceci consiste à assurer les fonctions logiques de
point de vue physique c'est-à-dire assurer l’organisation, l’administration et l’accès
aux fichiers sur les mémoires secondaires (disque, disquette, CD…). (Point de
vuephysique)
La sécurité des fichiers en respectant les règles d’utilisation : les droits d’accès, les
conditions de partage;
2. CONCEPT DE FICHIER
2.1 DEFINITIONS
a. Définitiongénéraliste
Un fichier est une unité informationnelle physiquement stockée sur un support de mémoire de
masse pour les besoins de l’utilisateur.
Le fichier constitue le seul et unique moyen pour sauvegarder des informations contenues
dans la mémoire centrale de l’ordinateur et qui, autrement, seraient perdues lors de l’arrêt de
cet ordinateur. Les informations conservées, pour des besoins ultérieurs, peuvent être des
programmes et/ou desdonnées.
b. Visionlogique
Un fichier est un ensemble de données de même nature, enregistré sur le disque dur sous la
forme "nom_du_fichier.ext". "ext" représente l'extension. Il s'agit d’un moyen pour
reconnaître le type de programme avec lequel ce fichier peut être ouvert (mais cela ne garantit
pas le type de fichier, car lorsque on change l'extension on ne change pas le type de fichier!).
Exemple : on peut modifier l’extension d’un fichier de « .exe » vers « .txt » sans modifier en
réalité le type du fichier : c’est un moyen de déroutement utilisé dans l’envoi des fichiers
exécutables par mail.
2
c. Visionphysique
Un fichier est un ensemble d’unités d’allocation occupées sur une mémoire secondaire.Une
unité d’allocation est le plus petit espace de la mémoire secondaire adressable parle SE.
Afin de différencier les fichiers entre eux, chaque fichier est caractérisé par un ensemble
d’attributs qui le décrivent. Certains attributs sont fournis par l’utilisateur, d’autres sont
complétés par le SE.
Le Nom c’est une suite de lettres de l’alphabet, chiffre ou/et caractères spéciaux. Certains
systèmes d’exploitation font la distinction entre caractère majuscule et minuscule d’autres
ne le font pas. (Linux fait la distinction, Windows ne le faitpas)
Les fichiers ordinaires contiennent les données des utilisateurs. Ils peuvent être de
différents types (doc, html, exe, …) ;
Les fichiers systèmes : constituent le noyau du système. Ces fichiers sont placés dans
le « répertoire système »;
Remarque : Un fichier est aussi caractérisé par le type d’accès qu’il autorise (accès
séquentiel, directe, ou indexé).
3
2.3. STRUCTURATION DES FICHIERS
FIC
Un Système de gestion fichiers gère des centaines de fichiers. C’est pourquoi il faut les
organiser selon une certaine structuration facilitant leur gestion.
Les systèmes d’exploitation modernes adoptent une structure hiérarchique. Ainsi, chaque
fichier appartient à unn groupe et chaque groupe appartient lui-même
lui même à un groupe d’ordre
supérieur. Ces groupes sont appelés « répertoire » ou « dossier » ou « catalogue ». Grâce à
cette description un système de fichier peut être assimilé à un arbre dont le point de départ est
un répertoire spécifique appelé « racine » qui représente l’unité de stockage (physique ou
logique : partitionnement, une racine par partition). Figure 1.
L’arborescence ainsi défini commence à partir du répertoire racine qui contient plusieurs
répertoires et fichiers. Dans chaque répertoire, on pourrait trouver d’autres répertoires ainsi
que des fichiers de donnés ordinaires.
Une deuxième méthode d’accès à un fichier est celle décrivant un fichier par un chemin
d’accès relatif par rapport à un répertoire courant (le répertoire de travail)
ravail) : c’est le chemin
relatif.
Exemple
4
3. ORGANISATION PHYSIQUE D’UN FICHIER
Les mémoires secondaires sont les supports de stockage servant à conserver les données de
manière permanente, contrairement à la mémoire vive, qui perd son contenu lors de
l’extinction de l’alimentation électrique. Les mémoires secondaires sont des mémoires non
volatiles. Exemples : disque dur (Figure 2), CD, DVD, disquette, bande magnétique …
Le disque dur est constitué de plusieurs plateaux. Chaque plateau contient 2 faces et possède
deux têtes de lecture/écriture. Figure3.
Chaque face est composée de plusieurs pistes concentriques. Chaque piste est divisée en un
ensemble de secteurs. Un secteur est généralement de taille 512 octets et représente la plus
petite unité adressable. Figure 4
Les pistes situées à un même rayon forment un cylindre (=ensemble de pistes superposées).
Figure 5
5
Plateaux
Lecteurs
6
Figure 5 : Plateaux et pistes d’un disque dur
7
l’emplacement de chaquefichier.
Lors d’un formatage, le SE définit les clusters et les numérote. Un cluster peut être construit à
partir de secteurs consécutifs. Mais, il est plus intéressant d’organiser les clusters par cylindre
puisque les têtes de lecture d’un disque se déplacent en même temps. Ainsi, elles peuvent lire
tous les secteurs appartenant au même cylindre.
• nb(tête_L/E)=nb(face)=2* nb(plateau)
• nb(cylindre)=nb (piste/face)
• nb(piste/cylindre)=nb(face/plateau)* nb(plateau)
• nb (piste/DD)=nb(piste/cylindre)*nb(cylindre/DD)
où
• / désigne par
8
Le disque dur SSD (Solid State Driver) utilise des composants électroniques (comme la
RAM) pour stocker les données. Sauf qu’à la différence de la RAM, les données restent
inscrites dans le disque dur même si on éteint l’ordinateur : exactement comme une clé USB
ou lacartemémoire d’une appareil photo numérique.
L’intérieur d’un disque dur SSD(Figure 6 ) est complètement différent de celui d’un disque
dur mécanique. Il n’y a plus de plateaux tournants ni de têtes de lecture, tout cela est remplacé
par des composants électroniques. Et d’ailleurs, on ne parle plus forcément de disque dur mais
de stockage SSD ou de lecteur SSD.
9
Résistant aux chocs car pas de pièces
mécaniques (c’est important dans les portables)
Beaucoup moins de dégagement de chaleur
Économe en énergie : un disque dur SSD
consomme moins. C’est intéressant pour
l’autonomie d’un portable.
Durée de vie : Les disque durs mécaniques Les composants électroniques s’usent. En effet,
ont une durée de vie illimitée ou presque. les cellules qui enregistrent les données ont un
(tant que la mécanique ne tombe pas en nombre limité de cycle d’écriture/effacement
panne !) (pas en lecture). Bien que les contrôleurs de ces
disques durs gèrent automatiquement ce
problème en n’écrivant plus sur une cellule usée,
cela signifie qu’au bout d’un certain temps, la
capacité du disque dur SSD diminue.
Coût : à même capacité de stockage, un
disque dur mécanique est bien moins cher
qu’un disque dur SSD. Cet écart à
tendance à diminuer mais reste significatif
pour l’instant.
Tableau 1 - différences entre disque dur magnétique et SSD
En conclusion, le disque dur SSD existe depuis des années. Mais leur 3 inconvénients majeurs
sont : le prix, la capacité de stockage et la durée de vie limitée. En revanche, les progrès
technologiques sont tels, que ces 3 inconvénients sont en voie de disparition et les
constructeurs commencent déjà à proposer des disques durs SSD desérie sur leurs ordinateurs.
Pour enregistrer un fichier sur une mémoire secondaire, il faut lui allouer (réserver) l’espace
nécessaire pour son implantation. Il existe différentes manières avec lesquelles le système
d’exploitation peut allouer l’espace mémoire nécessaire parmi l’espace libre pour implanter
physiquement un fichier sur le support physique.
L’allocation d’espace sur un support physique se fait par unité de données appelée bloc. Ainsi
un fichier va occuper un certain nombre de blocs. L’algorithme d’allocation consiste à définir
la manière avec laquelle les blocs seront alloués.
10
Exemple
Supposons qu’une unité de sauvegarde est divisée en blocs de taille 512 ø et on veut
sauvegarder un fichier de taille 11028
kø = 1024 ø
octets
Il s’agit d’allouer (réserver) une suite consécutive de blocs pour stocker un fichier.Ainsi,
chaque fichier occupe un nombre de blocs contigus sur le disque. Figure 7.
Espace mémoire
0 1 2 3 4 5 6 7 8 9 10 11 12 ..
A A A A B B B B B ..
Fichier A FichierB
Dernier Bloc contient la marque EOF Dernier Bloc contient la marque EOF
0 0 0 : bloclibre
11
1 0 1 : bloc occupé
2 1
3 1
Nb entrées = Nb blocs
4 1
5 1
6 0
7 1
8 1
9 1
10 1
11 1
12 0
Remarque : Chaque fichier commence au début d’un nouveau bloc même si le bloc qui le
précède est partiellement occupé.
Exemple
Taille (fichier_A) = 1280 ø 2,5 blocs Le fichier A va occuper 3 blocs sur l’unité.
A A A
A A A B B C C C C
12
Fragmentation du disque lors de l’effacement et de la réécriture des blocs disque (ex :
lenouveaufichierpeutêtrepluspetitquel’ancien). Le disque contient une succession de
fichiers (blocs occupés) et de blocs libres.
Par exemple, si on supprime le fichier B :
A A A C C C C
Ainsi cette méthode est Adaptée aux périphériques en lecture seule, ou non appelé à évoluer
(CD-ROM, DVD-ROM, bande magnétique).
Supposons qu’on veut sauvegarder le fichier E qui nécessite 3 blocs. En utilisant la méthode
d’allocation contigüe, il est impossible de le sauvegarder. Il n’y a pas assez de blocs libres
contigus pour que le fichier E puisse les occuper.Pourtant, il y a 4 blocs libres (mais non
consécutifs) dans l’unité
L’idée est de pouvoir utiliser cet espace libre qui est éparpillé
solution : utiliser les listes chaînées.
A A A E E C C C C E
De cette façon, chaque bloc de l’unité peut être utilisé aucun espace n’est perdu. Pour
implémenter le chaînage, on réserve quelques octets dans chaque bloc pour écrire l’@ du
bloc suivant
Pour cette méthode d’allocation, un fichier est constitué d’une liste chaînée de blocs du
disque. Chaque bloc contient une partie de données et un pointeur (adresse) sur le bloc
13
suivant. Le dernier bloc contient un pointeur NULL. Figure8.
Figure 8. Allocationchaînée
Chaque bloc permet de retrouver le bloc suivant. Ainsi, il suffit d’enregistrer l’@ du 1er bloc
d’un fichier (informations du descripteur) et le fichier pourraêtre lu en totalité
L’allocation chaînée résout les problèmes de l’allocation contigüe. Ainsi, les avantages de
cette méthode sont:
Il n’y a plus de fragmentation du disque puisque tout bloc libre peut être utilisé pour
satisfaire une autre requête d’allocation ;
Augmentation ou diminution de la taille du fichier plus adéquate puisque l’allocation
ou la libération de blocs se fait au fur et à mesure des demandes d’ajout ou de
suppression. En effet, par exemple, lors de l’extension d’un fichier, il suffit de mettre à
jour le dernier pointeur et l’adresse du dernier bloc au niveau du descripteur
duficher.
14
Gaspillage d’espace : partie réservée dans chaque bloc du disque pour la conservation
des pointeurs;
De plus, si un pointeur est endommagé, toutes les données des blocs suivants sont
perdues.
Perte de chaînage entraine la perte de tout le reste du fichier
Tous les inconvénients de l’allocation chaînée peuvent être résolus d’une manière simple : il
suffit de retirer les pointeurs des blocs et de les stocker dans une structure de données
gardées en MC.
Le principe est de séparer les pointeurs et les données. Il s’agit donc d’utiliser une table d’allocation de
fichier FAT (File Allocation Table) (Figure9).
0
1
2 4
3
4 9
5
6
Fichier Adresse du 1er bloc
7 EOF
8 A 2
9 7
10
11
.
….
@ du 1er bloc de A est 2. Ensuite, depuis la Fat, les blocs de A sont : 2, 4, 9,7
La FAT est constituée de n entrées. Chaque entrée i correspond au bloc i de l’unité de
stockage et contient l’adresse du bloc qui suit le bloc i. Ainsi, pour chaque fichier, on aura à
mémoriser l’adresse du 1er bloc (au niveau du descripteur des fichiers) et en accédant à
15
l’entrée correspondante dans la FAT, on retrouvera au fur et à mesure la trace de tous les
blocs constituant lefichier.
Dans la table FAT, chaque entrée est codée sur 12, 16 ou 32 bits. Ainsi, on parle du FAT12,
FAT16 ou FAT32. Par exemple : avec 16 bits, on peut représenter 216 entrées ou 65536 blocs.
La taille d’un bloc (cluster) dépend de la taille de la partition à créer au moment du formatage.
(Figure10)
Remarque
• FAT-32 porte mal son nom, puisque seuls les 28 bits de poids faible des adresses
disque sont employées.
• Pour FAT-32, Taille maximale de la partition = 228 adresse * 4 Ko = 2² x (2²) x (2¹ ) o
= 240o = 1 To, si taille (bloc)= 4 Ko
Le bloc est disponible dans sa totalité pour les données. Les blocs de données ne
contiennent pas lespointeurs.
L’accès aux différents blocs est direct (aléatoire). En effet, dans les méthodes avec
chaînage, il fallait parcourir (passer par) tous les blocs avant de lire le blocqui contient
les donnéesvoulues.
Remarque : C’est vrai qu’il faut parcourir la table FAT pour trouver l’adresse d’un
bloc donné, mais cela peut être réalisé sans faire de nouveaux accès disque
16
directement au bloc 9.
L’allocation par bloc permet une extensionfacile.
Taille (bloc) = 1 k ø nb blocs = 20. 2^30 ø /2^10 = 20. 2^20 = 20 971 520 = 20 millions
20 millions entrées (une pour chaque bloc) Si chaque entrée occupe 4 ø (le cas de FAT32)
Taille (FAT) = 4 * 20 . 220 = 80 Mø
80 M ø qui doit être placée tout le temps en MC. En plus la FAT est dupliquée ! Donc, les
inconvénients de cette méthode sont :
LaFAT est une ressource critique, elle est donc, généralement, dupliquée par sécurité,
Chaque fichier est associé à une table qu’on appelle nœud d’information (i-node). C’est
comme si on a éclaté la FAT en plusieurs petites tables. Chaque table contient les adresses sur
disque des blocs du fichier. Cette méthode est utilisée dansUNIX (ext2, ext3 et ext4).
Chaque nœud contient 13 champs fixes. Les 10 premiers champs contiennent les adresses des
10 premiers blocs composant le fichier. Si le fichier dépasse les 10 blocs, on a recours à une
simple indirection. En effet, le 11ème champ contient l’adresse d’un bloc qui contiendra une
table de 256 entrées (cas d’un bloc de 1024 octets et une adresse de bloc de 4 octets ;
1024/4=256).Ainsi, la taille maximale du fichier est 10 + 256 = 266 blocs.
Si le fichier dépasse 266 blocs, on utilise une double indirection.Dans ce cas, le 12ème champ
de l’i-node contiendra l’adresse d’un bloc qui contiendra une table de 256 entrées. Chaque
entrée contiendra l’adresse d’un bloc qui lui-même contiendra une table de 256 entrées où
chacune contiendra l’adresse d’un bloc du fichier.Ainsi, la taille maximale du fichier est
10+256 + 256² = 65802 blocs.
Si le fichier dépasse 65802 blocs, on utilise une triple indirection, le 13ème champ de l’i-node
contiendra l’adresse d’un bloc qui contiendra une table de 256 entrées. Chaque entrée
contiendra l’adresse d’un bloc qui contiendra une table de 256 entrée chacune contenant
l’adresse d’un bloc lui-même contenant une table de 256 entrées où chacune contiendra
17
l’adresse d’un bloc du fichier. Ainsi, la taille totale et maximale du fichier est 10+256 + 256²
+ 2563= 16843018 blocs.
Indirection simple correspond à une taille maximale de fichier de 266 blocs (chemin 1,
Figure 11);
CONCLUSION
• FAT : ce format très ancien ne peut être utilisé que sur des dispositifs de stockage de
faible capacité, de 2 Go maximum. On le retrouve sur de vieilles clés USB ou cartes
mémoire, souvent formatées en FAT. Au-delà de 2 Go, FAT32 et exFAT ont pris la
relève.
• FAT32 : bien que vieillissant, c'est le format le plus universel, en particulier pour les
supports amovibles. Il peut être lu et écrit par les PC, les Mac, Linux, les appareils
18
photo numériques, les TV, les consoles de jeux, les box Internet, les smartphones...
Principales restrictions : un fichier ne peut dépasser 4 Go, ce qui est contraignant pour
créer ou lire de grosses vidéos en haute définition, et la partition sur le disque ne peut
excéder 2 To.
• NTFS : le format favori de Microsoft pour les PC. Ce format est privilégié pour les
disques internes sous Windows 7, 8 ou 10. Mais il n’est pas à adopter sur les petits
19
disques externes USB et autres supports amovibles sauf s’ils ne seront branchés que
sur des PC sous Windows (ou Linux). Sur un Mac, par exemple, seule la lecture des
partitions NTFS est permise, pas l'écriture (du moins pas sans l'ajout d'applications
spéciales). Et les stockages NTFS amovibles ne sont pas toujours lus par les TV,
consoles et appareils multimédias.
• APFS et HFS+ : l'Apple File System (APFS) est la dernière évolution du système de
fichiers d'Apple. Conçu notamment pour gérer plus efficacement les disques SSD, il
équipe les dernières versions de macOS, iOS et tvOS (Apple TV), et succède au
système de fichiers HFS+. Ces systèmes de fichiers sont à privilégier avec macOS, sur
les disques internes des Mac et les disques externes USB utilisés sur Mac, pour les
sauvegardes automatiques, par exemple. Ces formats non lisibles par Windows (sans
l'ajout de logiciels payants) sont rarement reconnus par des appareils électroniques
grand public.
• ext2, ext3, ext4 : les principaux systèmes de fichiers de GNU/Linux, non reconnus
par Windows et macOS. Les partitions ext2/3/4 de Linux sont cependant accessibles
en lecture ou en lecture/écriture en installant des logiciels gratuits ou payants pour
Windows ou macOS.
11
1mebibyte= 1 MiB = 220 ou 1,048,576 octet.
20