EEIJ

Païou : Mandriva Linux depuis 2002. Aujourd'hui, c'est Mageia Linux


Sommaire


Conforme à XHTML 1.0 Strict Conforme à CSS!

On se lasse de tout, sauf de comprendre.
Attribué à Virgile.

Les systèmes de fichiers de l'ordinateur

Historique

10 décembre 2013 : Reprise et actualisation de la page de l'ancien site de Païou.
15 mars 2014 : actualisation

Difficulté

Pour : tout visiteur.

 Introduction

Dans les mémoires de masse, telles que disque dur, disquettes, CD-ROM, DVD-ROM ... les données à préserver sont enregistrées dans ce qu'on appelle des fichiers.
Ces données se présentent toujours sous la forme de suites de chiffres binaires, pouvant représenter aussi bien des caractères alphanumériques que des nombres entiers ou des décimaux, que des éléments d'images, que des codes à exécuter ...
Ils sont regroupés dans des blocs (ou grappes) ce qui correspond à la plus petite unité que le périphérique de stockage est capable de gérer. Un ou plusieurs blocs sont nécessaires pour former un fichier, selon la taille de ce fichier.
Afin de pouvoir écrire, retrouver, lire ces données, ces blocs sont organisés selon un système de fichier.
Il existe plusieurs sortes de systèmes de fichiers, suivant le type du support, mais également, pour certains supports, selon le système d'exploitation qui équipe l'ordinateur.

Cette page ne parle que de la face visible des systèmes de fichiers. La face cachée du système de fichiers de Linux sera traitée dans une autre page.

Haut

 Le système de fichiers

Un système de fichiers (FS ou FileSystem en anglais) ou système de gestion de fichiers (SGF) est une structure de données permettant de stocker les informations et de les organiser dans des fichiers sur ce que l'on appelle des mémoires de masse.

Arborescence

Pour l'utilisateur un système de fichiers se présente comme une arborescence : les fichiers sont regroupés dans des répertoires (concept utilisé par la plupart des systèmes d'exploitations). Ces répertoires contiennent soit des fichiers, soit d'autres répertoires.
Il y a donc un répertoire racine et des sous-répertoires. Une telle organisation génère une hiérarchie de répertoires et de fichiers organisés en arborescence.
Dans la figure ci-contre, le répertoire racine contient :

Une telle organisation en arborescence permet de classer les fichiers d'une façon logique, de manière à les retrouver facilement.

Convention d'écriture

Lorsque vous voulez indiquer le nom d'un fichier et l'endroit où il est rangé, on parle de chemin d'accès.

Sous DOS, il s'écrira, par exemple, C:\Mes documents\fichier.txt
Le nom du document est séparé par un "\" du répertoire qui le contient et les répertoires sont également séparés par "\".

Par contre, sous Linux, c'est un caractère "/" qui sépare : /home/titi/Documents/fichier.txt

Haut

 Le formatage

Le formatage consiste à préparer le support qui va recevoir des données.
Le formatage efface la totalité de la disquette ou de la partition.
On distingue deux étapes :

Le formatage physique ou de bas niveau

Il organise la surface des disques en éléments de base (blocs ou pistes, secteurs et cylindres) et a pour but de préparer la surface du disque à accueillir des données.
Il est réalisé en usine, par le fabricant du support de stockage, avec des outils bien spécifiques.
Ce formatage est fait avant la mise en place de tout système de fichiers. Il peut être repris, pour les disquettes, afin d'en modifier la géométrie, par exemple.

Le formatage logique

C'est le formatage logique qui crée le système de fichiers.
Normalement, ce formatage est effectué au moment de l'installation du système d'exploitation de l'ordinateur. Le type de système de fichiers dépend d'ailleurs du système d'exploitation qui est installé.
Mais quel que soit le système installé, sa fonction reste la même : organiser le disque dur ou de façon plus générale, le système de stockage des informations. Cela veut dire : permettre la création de répertoires et la création des fichiers, permettre leur modification, permettre leur suppression, permettre de gérer ses données.

Plus de détails sur le formatage : Cliquez

Haut

 Les partitions

Sur un disque ou tout autre périphérique de stockage, il y a des programmes et des données personnelles.
Nous avons vu que lorsqu'on fait un formatage, toutes les données déjà présentes vont être effacées.
Il est judicieux de séparer les programmes des données personnelles. Cela pourrait être fait en installant deux disques, par exemple. Mais il existe une solution bien plus intéressante : le partitionnement.
Le partitionnement d'un disque ou d'une clé USB consiste à découper l'espace total en plusieurs parties.
Chacune de ces parties devient indépendante des autres. Vous pouvez, par exemple, formater une partition d'un disque sans pour autant détruire les données des autres partitions de ce même disque.
Ces partitions sont généralement réalisées au moment de l'installation du système d'exploitation, juste avant leur formatage.
Historiquement, il était prévu de pouvoir créer jusqu'à 4 partitions sur une même unité. Ces partitions sont décrites dans une table des partitions et cette table ne possède que 4 entrées, d'où la limitation de leur nombre. La table se trouve dans le premier secteur du premier cylindre du disque dur : le MBR ou Master Boot Record.
Une de ces quatre partitions pourra être choisie comme partition de démarrage (partition active) et contiendra alors le petit programme nécessaire au démarrage de l'ordinateur.

Haut

Partition primaire, partition étendue, partition logique

Ces 4 partitions, décrites dans la table des partition, sont appelées des partitions primaires ou partitions principales.
On s'est vite rendu compte que 4 partitions ne suffisent pas. On a alors prévu de pouvoir créer de nouvelles partitions dans l'une de ces 4 partitions. Cette dernière partition devient alors une partition étendue et les nouvelles partitions sont des partitions logiques. La partition étendue est en fait le conteneur des partitions logiques et ne contient pas de données. Elle ne peut pas être choisie comme partition de démarrage.
Le disque peut donc comporter :

Vous avez vu,ci-dessus, qu'il faut formater le disque pour pouvoir l'utiliser. Dans les faits, ce sont les partitions qui sont formatées et qui reçoivent ainsi un système de fichiers qui permet de gérer la lecture et l'écriture sur les disques. Il existe un grand nombre de types de systèmes de fichiers. Par extension on parle de types de partitions. Ils sont définis par un code.

Pour les curieux, survolez : un tableau des codes usuels

Le type d'une partition étant défini par un octet, il existe théoriquement 255 systèmes de fichiers possibles.
Dans le tableau ci-dessous, les codes des partitions sont en hexadécimal
Plusieurs types de partition peuvent être désignés par le même code (p.ex. HPFS d'OS/2 et NTFS de NT).

Liste des différents types de partitions
CodeType CodeType CodeType CodeType
00partition non définie 40VENIX 80MINIX (-> 1.4a) C0CTOS
REAL/32 secure
NTFT
01FAT12 (< 10 M) 41MINIX + DRDOS
Personal RISC Boot
Power PC Reference Platform
81MINIX (1.4b->)
Mitac Disk Manager
C1FAT-12 DRDOS
02XENIX root 42Linux swap +  DRDOS
SFS
Windows 2000
82Solaris X86
LINUX swap
Prime
C2Linux swap cachée
03XENIX /usr 43Linux native +   DRDOS 83LINUX native (ext2fs) C3Linux cachée
04FAT16 (< 32 M) 44non attribué 84OS/2 cachée
Hibernation
C4FAT16 <32M DRDOS
05étendue 45Boot-US boot manager
EUMEL/Elan
85Linux étendue C5non attribué
06FAT16 (> 32 M et <2 G) 46EUMEL/Elan 86agrégat FAT  (NT) C6FAT16 >=32M DRDOS
FAT16 corrompue (NT)
07OS/2 HPFS
NT NTFS
Advanced UNIX
QNX2.x
47EUMEL/Elan 87agrégat NTFS  (NT) C7NTFS corrompue (NT)
Syrinx boot
08AIX boot
SplitDrive
Commodore DOS
DELL spanning
QNX 1.x et 2.x
48EUMEL/Elan 88non attribué C8non attribué
09AIX data
Coherent FileSystem
49non attribué 89non attribué C9non attribué
0AOS/2 boot manager
Coherent swap
OPUS
4Anon attribué 8ALinux Kernel CAnon attribué
0BFAT32 (>2 G et <2047 G) 4Bnon attribué 8BFAT32 miroir CBFAT32 DRDOS
0CFAT32x = idem 0B + LBA 4Cnon attribué 8CFAT32x miroir CCFAT32x DRDOS
0Dnon attribué 4DQNX4.x 8DFAT12 cachée (FreeFDISK) CDCTOS
0EFAT16x = idem 06 + LBA 4EQNX4.x 2ème part. 8ELinux Logical Volume Manager CEFAT16x DRDOS
0Fétendue"x" = idem 05 + LBA 4FQNX4.x 3ème part.
Oberon
8Fnon attribué CFnon attribué
10OPUS 50OnTrack Disk Manager
Lynx RTOS
Oberon native
90FAT16 cachée (FreeFDISK) D0REAL32
11FAT12 cachée 51OnTrack Disk Manager RW
Novell
91étendue cachée (FreeFDISK) D1Multiuser DOS secured FAT12
12Diagnostics COMPAQ 52Microport
CP/M
92FAT16 large cachée (FreeFDISK) D2non attribué
13non attribué 53Disk Manager 6.0 Aux3 93Amoeba
Linux native cachée
D3non attribué
14FAT16 (< 32 M) cachée 54Disk Manager 6.0 Dynamic Drive Overlay 94Amoeba bad block table D4Multiuser DOS secured FAT16 <32M
15non attribué 55EZ-Drive 95MIT EXOPC native D5Multiuser DOS secured étendue
16FAT16 (> 32 M) cachée 56Golden Bow
EZ-BIOS
96non attribué D6Multiuser DOS secured FAT16 >=32M
17HPFS - NTFS cachée 57DrivePro
VNDI
97FAT32 cachée (FreeFDISK) D7non attribué
18AST Windows swapfile 58non attribué 98FAT32x cachée (FreeFDISK) D8CP/M-86
19Willowtech Photon coS 59non attribué 99DCE376 logical drive D9non attribué
1Anon attribué 5Anon attribué 9AFAT16x cachée (FreeFDISK) DANon-FS Data
1BFAT32 cachée 5Bnon attribué 9Bétendue X cachée (FreeFDISK) DBDigital Research CP/M
Concurrent CP/M
Concurrent DOS
CTOS
KDG Telemetry SCPU boot
1CFAT32x cachée 5CPriam EDisk 9Cnon attribué DCCTOS
1Dnon attribué 5Dnon attribué 9Dnon attribué DDCTOS cachée
1EFAT16x cachée 5Enon attribué 9Enon attribué DEnon attribué
1Fnon attribué 5Fnon attribué 9FBSD/OS DFDG/UX virtual disk manager
20Willowsoft OFS1 60non attribué A0hibernation E0ST AVFS
21Oxygen File System 61SpeedStor A1réservé E1SpeedStor FAT12
22Oxygen Extended 62non attribué A2non attribué E2non attribué
23réservé 63Unix System V
GNU HURD
A3réservé E3SpeedStor
24NEC DOS 3.x 64Novell 286
PC-ARMOUR
A4réservé E4SpeedStor étendue
25non attribué 65Novell 386 A5BSD E5réservé
26réservé 66Novell Netware SMS A6OpenBSD E6réservé
27non attribué 67Novell A7NEXTSTEP E7non attribué
28non attribué 68Novell A8non attribué E8non attribué
29non attribué 69Novell Netware NSS A9NetBSD E9non attribué
2Anon attribué 6Anon attribué AAFat 12 1.44Mb Olivetti EAnon attribué
2Bnon attribué 6Bnon attribué ABnon attribué EBBe FS
2Cnon attribué 6Cnon attribué ACnon attribué ECnon attribué
2Dnon attribué 6Dnon attribué ADnon attribué EDnon attribué
2Enon attribué 6Enon attribué AEShagOS filesystem EEEFI MBR
2Fnon attribué 6Fnon attribué AFShagOS swap partition EFEFI
30non attribué 70DiskSecure Multi-Boot B0non attribué F0Linux/PA-RISC boot loader
31réservé 71réservé B1réservé F1SpeedStor
32non attribué 72réservé B2non attribué F2DOS 3.3+ secondary partition
33réservé 73réservé B3réservé F3réservé
34réservé 74Scramdisk B4réservé F4SpeedStor large
Prologue single-volume
35Journaling FS OS/2 ou eCS 75IBM PC/IX B5non attribué F5Prologue multi-volume
36réservé 76réservé B6réservé F6réservé
37non attribué 77VNDI B7BSDI BSD/386 F7non attribué
38THEOS ver 3.2 2 Go 78XOSL Bootloader B8BSDI BSD/386 swap F8non attribué
39Plan 9
THEOS ver 4 spanned
79non attribué B9non attribué F9non attribué
3ATHEOS ver 4 4Go 7Anon attribué BAnon attribué FAnon attribué
3BTHEOS ver 4 étendue 7Bnon attribué BBnon attribué FBVMware File System
3CPartitionMagic recovery 7Cnon attribué BCnon attribué FCVMware Swap
3Dnon attribué 7Dnon attribué BDnon attribué FDLinux raid
3Enon attribué 7Enon attribué BESolaris 8 boot FESpeedStor > 1024 cyl
IBM PS/2 IML
Windows NT Disk Administrator
Linux Logical Volume Manager
3Fnon attribué 7Fnon attribué BFnon attribué FFXenix Bad Block Table
Haut

 Dénomination des lecteurs

Suivant le système d'exploitation installé, la dénomination des lecteurs de disquettes, des disques durs, des clés USB ... ne se fait pas de la même manière.

Sous DOS et les systèmes qui en découlent

DOS et Windows ne font pas de différence entre lecteur de disquette, disque dur, partitions de disque, lecteur et graveurs de CD et DVD : ils sont tous désignés par une lettre de l'alphabet.
Il y a cependant un certain ordre :

Lecteurs de disquettes

Disques durs, lecteurs et graveurs CD et DVD, clés USB

Les lettres suivantes sont ensuite attribuées dans l'ordre suivant :

Les périphériques sous Linux

Avec Linux, les périphériques sont mieux classés :

Lecteurs de disquettes

Disques durs, lecteurs et graveurs CD et DVD, clés USB

Maintenant (depuis le noyau 2.6.18), les disques durs SCSI, Serial ATA et mêmes les disques durs IDE sont tous nommés en /dev/sdX par les nouveaux pilotes libata de Linux.

Avec les anciens pilotes, mais ce n'est plus d'actualité.

Haut

 Dénomination des partitions

Sous DOS et les systèmes qui en découlent

Sous DOS et et autres Windows, les partitions ne se distinguent pas des disques durs. Une lettre leur est attribuée, comme vu ci-dessus. La conséquence est qu'il n'est pas possible de savoir ce qui est disque et ce qui est partition, ni sur quel disque se trouve une partition donnée.

Les partitions sous Linux

Lorsque un ou plusieurs disques sont partitionnés, les partitions qui en découlent s'appelleront :

Haut

 Secteur d'amorçage, table de partition ...

Tout ordinateur possède un BIOS, c'est-à-dire un microprogramme qui initialise les différents périphériques (bus, ram, disques ...).
Il recherche un système d'exploitation situé dans une petite zone, sur l'un de ses périphériques accessibles.

La taille et l'emplacement de cette zone dépendent de la plate-forme informatique et du dispositif.
Celle-ci est généralement placée sur le premier secteur de la première piste du périphérique de démarrage (souvent, le premier disque dur).
Ce secteur est de taille trop réduite pour contenir un programme autonome. Son rôle est limité au chargement d'un programme de taille plus importante, typiquement le système d'exploitation, de manière directe ou via un chargeur d'amorçage.

Secteur d'amorçage et table des partitions : Cliquez

 Les montages de partitions

Vous avez vu, dans le deuxième paragraphe, que les fichiers sont organisés en arborescence, avec un répertoires qui contiennent les fichiers. Ce répertoire peut lui-même être contenu dans un répertoire situé à un niveau supérieur et ainsi de suite. Le tout forme une arborescence, comme les branches d'un arbre.

Sous DOS et les systèmes qui en découlent

Il n'y a pas de montage : chaque lecteur (physique ou logique), désigné par une lettre (A:, B:, C: ...) possède sa propre arborescence.

Sous Linux : les montages

Par contre, sous Linux, il n'y a qu'une seule et unique arborescence.
Les arborescences des différentes partitions et des différents lecteurs y sont accrochés. Pour être plus précis, ces arborescences sont affectées à un répertoire donné, appelé point de montage.
ainsi, actuellement, un lecteur est monté au répertoire /run/media/user_actuel/disk.

Haut