Vous êtes sur la page 1sur 11

LicencePro Web 2.

0 ESIG Cours de Systeme d’Exploitation

système de fichiers
Un système de fichiers (file system ou filesystem en anglais) ou système de gestion de
fichiers (SGF) est une façon de stocker les informations et de les organiser dans des
fichiers sur ce que l'on appelle des mémoires secondaires (disque dur, CD-ROM, clé
USB, SSD, disquette, etc.). L'objectif du système de fichiers est de permettre l'accès au
contenu des fichiers stockés (l'ouverture du fichier, son enregistrement sa copie ou son
déplacement dans un second emplacement, ou sa suppression) à partir de leur chemin
d'accès, formé d'un nom précédé d'une liste de répertoires imbriqués

Une telle gestion des fichiers permet de traiter, de conserver des quantités importantes


de données ainsi que de les partager entre plusieurs programmes informatiques. Il offre à
l'utilisateur une vue abstraite sur ses données et permet de les localiser à partir d'un chemin
d'accès.
Il existe d'autres façons d'organiser les données, par exemple les bases de
données (notamment base de données relationnelle) et les fichiers indexés

Le volume des données traitées par les applications informatiques atteint couramment


plusieurs centaines de gigaoctets et va jusqu'à plusieurs téraoctets pour certaines
applications industrielles. De tels volumes de données ne peuvent pas être stockées dans
la mémoire centrale. De plus, un stockage persistant à long terme, permettant de
sauvegarder les données traitées ou à traiter pour une utilisation future, est également
nécessaire. Le principe employé pour répondre à ce problème consiste à stocker ces
données dans des mémoires secondaires sous forme de fichiers, c'est-à-dire de suites de
blocs (la plus petite unité que le périphérique de stockage est capable de gérer). Le contenu
de ces blocs, simple suite de données binaires, peut être interprété selon le format de fichier
comme des caractères, des nombres entiers ou flottants, des codes d'opérations machines,
des adresses mémoires, etc. L’échange entre les deux types de mémoire se fait ensuite par
transfert de blocs.

Principe de stockage

Différentes méthodes permettent d'associer un nom de fichier à son contenu. Dans le cas du
système de fichier FAT, ancien système de fichier de MS/DOS et de Windows encore
largement utilisé sur les supports amovibles comme les clés USB, chaque répertoire contient
une table associant les noms de fichiers à leur taille et un index pointant vers la table
d'allocation de fichiers, une zone réservée du disque indiquant pour chaque bloc de données
l'index du bloc suivant du même fichier.
Dans le cas des systèmes de fichier d'Unix (ou de Linux), les fichiers et les répertoires sont
identifiés par un numéro unique, le numéro d'inode. Ce numéro permet d'accéder à une
structure de données (inode) regroupant toutes les informations sur un fichier à l'exception
du nom, notamment la protection d'accès en lecture, en écriture ou des listes de dates, ainsi
que le moyen d'en retrouver le contenu. Le nom est stocké dans le répertoire associé à un
numéro d'inode. Cette organisation présente l'avantage qu'un fichier unique sur disque peut
être connu du système sous plusieurs noms.
LicencePro Web 2.0 ESIG Cours de Systeme d’Exploitation

L'organisation du système de fichier NTFS est encore plus complexe, fonctionnant un peu à


la façon d'une base de données.

Restriction de nommage

Le nom d'un fichier est une chaîne de caractères, parfois de taille limitée, et dans laquelle
certains caractères ayant un sens pour le système d'exploitation peuvent être interdits. C'est
le cas par exemple pour les caractères « : », « / » ou « \ » sous Windows. Les systèmes de
fichier Unix sont généralement neutres pour le jeu de caractère utilisé (considéré au niveau
bas comme une simple suite d'octets). NTFS utilise le jeu de caractères UTF-16 pour les
noms de fichiers.
Sous Windows, le nom d'un fichier possède en général un suffixe (extension) séparé par un
point qui est fonction du contenu du fichier : .txt pour du texte par exemple. De cette
extension va dépendre le choix des applications prenant en charge ce fichier. Toutefois,
sous Linux/Unix, l'extension fait simplement partie du nom de fichier, son format est détecté
par le type MIME inscrit de façon transparente dans l'en-tête des fichiers.

Fonctions du SGF
Le système de gestion des fichiers assure plusieurs fonctions :

 Manipulation des fichiers : des opérations sont définies pour permettre la


manipulation des fichiers par les programmes d’application, à savoir : créer/détruire des
fichiers, insérer, supprimer et modifier un article dans un fichier.
 Allocation de la place sur mémoires secondaires : les fichiers étant de taille différente
et cette taille pouvant être dynamique, le SGF alloue à chaque fichier un nombre variable
de granules de mémoire secondaire de taille fixe (blocs).
 Localisation des fichiers : il est nécessaire de pouvoir identifier et retrouver les
données ; pour cela, chaque fichier possède un ensemble d’informations descriptives
(nom, adresse…) regroupées dans un inode.
 Sécurité et contrôle des fichiers : le SGF permet le partage des fichiers par différents
programmes d’applications tout en assurant la sécurité et la confidentialité des données.
En effet, un nom et une clé de protection sont associés à chaque fichier afin de le
protéger contre tout accès non autorisé ou mal intentionné lors du partage des fichiers.
Le SGF se doit aussi de garantir la conservation des fichiers en cas de panne du
matériel ou du logiciel.

Organisation des fichiers

L'organisation physique sous-jacente du médium utilisé (blocs, linéaire) et les mécanismes


d'entrée/sortie de bas-niveau sont masqués. L'utilisateur peut donc organiser ses données
LicencePro Web 2.0 ESIG Cours de Systeme d’Exploitation

permanentes en les distribuant dans différents fichiers. Le contenu des fichiers est déterminé
par leur format, qui dépend de l'application utilisée.
En plus de cette organisation abstraite, les systèmes de fichiers peuvent inclure la
compression ou le chiffrement automatique des données, une gestion plus ou moins fine des
droits d'accès aux fichiers, et une journalisation des écritures (pour la robustesse, en cas de
défaillance du système). De plus, certains systèmes de fichiers peuvent s'étendre sur un
réseau entier, comme par exemple NFS. Certains de ces systèmes de fichiers en réseau
peuvent être distribués ou répartis, comme par exemple PVFS2.

Systeme de fichiers et systeme d’exploitation associé

Le choix du système de gestion des fichiers se fait principalement en fonction du système


d’exploitation. Généralement, les systèmes d’exploitation les plus récents supportent un
grand nombre de systèmes de fichiers.
MS-DOS (et compatibles) et les premières versions de Windows 95 utilisaient les systèmes
de fichiers FAT16 et FAT12 (pour les supports de moins de 16 Mio). À partir de Windows 95
OSR2, le choix entre les systèmes de fichiers a commencé à
s'élargir. FAT16 et FAT32 pouvaient tous les deux être utilisés, et à partir d'une certaine taille
de partition, le choix du système FAT32 était alors plus judicieux.
Sous les premières versions de Windows NT (NT3.x et NT4), il y a le choix entre le
système FAT16 et NTFS. Ce système d'exploitation ne supporte pas le FAT32.
Généralement, le système NTFS est conseillé, car il procure une sécurité plus grande ainsi
que des performances accrues par rapport au FAT. Contrairement aux précédentes versions
de Windows NT, Windows NT5 (Windows 2000) accepte des partitions de
type FAT16, FAT32 et NTFS. Ainsi, le système de fichiers le plus récent (NTFS 5) est
conseillé puisqu’il offre de plus nombreuses fonctionnalités que les systèmes FAT.
Le SP1 de Vista propose de formater en exFAT qui est une grosse évolution de la FAT,
proposant une meilleure fiabilité, une « vraie » gestion des noms longs, et l'ACL. Windows
CE 6 (le futur Windows Mobile 7) gère aussi ce nouveau FS. Le but de Microsoft est de
remplacer la FAT, principalement utilisée sur les supports amovibles comme les cartes
mémoires.
Le monde des Unix (Unix, Linux, BSD, MacOS X) supporte un très grand nombre de
systèmes de fichiers. Cela est dû au fait que malgré leur nombre, les systèmes supportés
suivent généralement des standards et notamment POSIX.
LicencePro Web 2.0 ESIG Cours de Systeme d’Exploitation

EXEMPLE :

Systeme non journalisés

 ext et ext2 : Extented FS version 2 (Linux, BSD, Windows via un pilote tiers)

Un grand mythe à propos de ce système de fichier est qu'il ne fragmenterait pas


(contrairement à FAT ou NTFS utilisés par Windows), sous prétexte qu'il rangerait
ses données de manière « intelligente »2. Il limite en effet la fragmentation mais ne
l'empêche en aucun cas

 exFAT : Extended File Allocation Table (nouvellement proposé par microsoft pour
emplacer la fat sur les support amovible. Appellé aussi FAT64 est apparu avec Vista
SP1 et supporte des partition theoriques de 64 zebioctets
 FAT : File Allocation Table (DOS/Windows, Linux, BSD, OS/2, Mac OS X). Se
décompose en plusieurs catégories :
 FAT12 ; FAT12 : maximum de 212, soit 4 096 clusters de taille fixe (choisie au
départ entre 512 octets et4 Kio). Utilisé entre autres sur les disquettes.
 FAT16 ;
 FAT32 ;
 VFAT ; VFAT : Une évolution de la FAT, permettant de gérer les noms longs
dans Windows 95 et les versions suivantes. Il s'applique à toutes les versions de
FAT (FAT12, FAT16, FAT32…).
 FATX : système de fichiers pour Xbox.

FAT, acronyme anglais de file allocation table (table d'allocation de fichiers), est


un système de fichiers conçu par Bill Gates et Marc McDonald pour le Microsoft Disk
BASIC, puis réutilisé dansQDOS dont c'est le seul élément qui ne soit pas inspiré
par CP/M (QDOS est l'ancêtre de MS-DOS, écrit par Tim Paterson). Il fut ensuite utilisé
sous MS-DOS puis dans la branche 9x de Windows. Les systèmes Windows actuels,
dérivés de la branche NT, utilisent généralement le NTFS pour les disques durs, mais
reconnaissent toujours FAT car les cartes mémoire des appareils photos numériques ou
des baladeurs, de même que leurs mémoires internes, sont presque toujours au format
FAT.

 FFS : Fast File System (BSD, Linux expérimental)

Le Berkeley Fast File System ou FFS est un système de fichiers utilisé


généralement sur lessystèmes d'exploitation de type Unix. C'est une optimisation du
système de fichiers utilisé par lesSystem V Unix, appelé FS, qui a évolué en Unix File
System, et qui est utilisé par de nombreux dérivés d'Unix aujourd'hui.
LicencePro Web 2.0 ESIG Cours de Systeme d’Exploitation

 HFS : Hierarchical File System (Mac OS, Mac OS X, Linux) :


Le Hierarchical File System (HFS), est unsystème de fichiers développé par Apple pour
lesystème d'exploitation Mac OS. Conçu à l'origine pour les disquettes et disques dur, il
peut également être utilisé sur des médias en lecture seule, comme les CD-ROM. HFS
est généralement désigné par « Mac OS Standard », et son successeur HFS+ par « Mac
OS étendu ».
Le Hierarchical File System, ou HFS, est aussi un autre système de fichiers utilisé
dans z/OS, un système d’exploitation IBM pour mainframe.

 HPFS : High Performance FileSystem (OS/2, Linux)


 minix fs (minix, Linux)
 S5 (UNIX SYSTEM V, Linux)
 Unix File System : (BSD, Linux en lecture seule)

Journalisés

 BeFS (BeOS, Haiku, Linux en lecture seule et expérimental)


 ext3 : Extented FS version 3 - notamment pour l'ajout de la journalisation
(Linux, BSD)

ext3 est une évolution de ext2 et a pour principale différence l'utilisation d'un fichier
journal, lui permettant ainsi d'éviter la longue phase de récupération lors d'un arrêt
brutal de la machine.

 ext4 : Extented FS version 4 - notamment pour une capacité de 1 exa-octet et


les Extents (Linux>=2.6.28)

Outre le fait qu'il puisse gérer les volumes d'une taille allant jusqu'à 1 024 pébioctets,


la fonctionnalité majeure de ext4 est l'allocation par extent qui permettent la pré-
allocation d'une zone contiguë pour un fichier, pour minimiser la fragmentation.
L'option extent est active par défaut depuis le noyau Linux2.6.23 ; avant cela, elle
devait être explicitement indiquée lors du montage de la partition

 HFS+ (Mac OS X, Linux)
 JFS (AIX, OS/2, Linux)
 JFS2 AIX5
 LFS : (Linux)
 NSS : Novell Storage Services (Netware et Suse Linux)
LicencePro Web 2.0 ESIG Cours de Systeme d’Exploitation

 NTFS : New Technology FileSystem (Windows NT/2000/XP/Vista/7, Linux (écriture


disponible grâce au pilote NTFS-3G), Mac OS X (écriture disponible grâce au
pilote NTFS-3G))
NTFS (New Technology File System) est unsystème de fichiers conçu pour Windows
NT (et ses successeurs chez Microsoft) pour stocker des données sur disque dur. Il
s’inspire d’HPFS, le système de fichiers conçu pour OS/2. Le sigle NTFS désigne
en anglais NT File System(littéralement « système de fichiers de la génération NT »). Ce
système est arrivé avec la première version de Windows NT, en 1993.
NTFS permet de :

 mettre des droits très spécifiques (ACL) sur les fichiers et répertoires : lecture,
écriture, exécution, appropriation, etc. ;
 chiffrer des fichiers avec EFS (Encrypting File System) ;
 compresser des fichiers ;
 d'établir des quotas par volume.

 ReiserFS (Linux, BSD en lecture seule)

Bien qu'ayant des avantages par rapport à Ext3, en particulier pour le traitement de
répertoires contenant des milliers de fichiers de petite taille, il est, pour l'instant,
moins utilisé que ce dernier. Cela vient en partie du fait qu'il est impossible de
convertir une partition Ext2 en ReiserFS sans la formater, ainsi que l'impossibilité
d'utiliser le logiciel de sauvegarde dump qui est massivement utilisé en entreprise

 Reiser4 (Linux expérimental)
 Spufs : Synergistic processing unit filesystem
 UFS+ : Unix FS + journal (BSD, Linux en lecture seule)
 XFS (Irix, Linux, BSD en lecture seule)

A snapshot

Les systèmes de fichiers à snapshot, ou, en français, instantanés, offrent la possibilité


d'enregistrer l'état du système de fichiers à un instant donné.

 Btrfs : ButterFS (Linux) Btrfs (prononcé ButterFS) est un système de


fichiers expérimental sous GNU GPL développé par Oracle.

Btrfs, comme Ext4, est basé sur la notion d'extent. C'est une zone contiguë (pouvant
atteindre plusieurs centaines de Mo, à la différence des clusters de quelques formats
plus anciens) réservée chaque fois qu'un fichier est enregistré sur le disque dur. Cela
permet en cas d'écriture en fin de fichier (append) ou de réécriture complète de celui-
LicencePro Web 2.0 ESIG Cours de Systeme d’Exploitation

ci, d'ajouter souvent les nouvelles données directement dans l'extentplutôt que dans
une autre zone du disque dur, ce qui augmenterait la fragmentation

 ZFS : Zettabyte FS (Solaris10, OpenSolaris, FreeBSD 7, Mac OS X en lecture


seule, Linux viaFUSE)
 HAMMER : (DragonFly BSD datant de 2008)

FS reseau

 AFS Andrew File System : (Aix, Linux)


 CodaFS (Linux)
 NFS (tous les UNIX, Linux, Mac OS X, IRIX) (Windows pour la 4)
Network File System (ou NFS, système de fichiers en réseau) est
un protocoledéveloppé par Sun Microsystems qui permet à un ordinateur d'accéder à
desfichiers via un réseau. Il fait partie de la couche application du modèle OSI.
Ce système de fichiers en réseau permet de partager des données principalement
entre systèmes UNIX. Des versions existent pour Macintosh ou Microsoft Windows.

 NCP NetWare Core Protocol (Novell NetWare, Linux en client seul)


 SSHFS (Linux via FUSE)
 SMB ou Server Message Block (Windows) (Linux, BSD et Mac OS X via Samba)
Le protocole SMB (Server Message Block2) est un protocole permettant le partage de
ressources (fichiers et imprimantes) sur des réseaux locaux avec des PC
sous Windows.
Dans l'ancien Windows NT 4, il était appeléCIFS (Common Internet File System).
DansVista et Seven, il est appelé SMB 2

 CIFS (Évolution de SMB, supporté par Samba ainsi que par Windows 2000 et XP)


 Tahoe3 (libre, distribué, chiffré et avec tolérance aux pannes, tous
les UNIX, Linux, Mac OS X,Windows)

FS clusters

 GFS2, Global file system : Linux


 GPFS, General Parallel File Sytem : Linux, AIX
 GlusterFS : Linux, UNIX
 Lustre, Compression de Linux et de Cluster : Linux
 OCFS2, développé par Oracle : Linux
 PVFS2, Parallel Virtual FileSystem version 2 : Linux, UNIX
LicencePro Web 2.0 ESIG Cours de Systeme d’Exploitation

Specialisés

 CFS Cryptographic File System : FS chiffré (BSD, Linux)


 cramfs : FS compressé (Linux en lecture seule)
 EFS Encrypting File System : FS chiffré au-dessus de NTFS (Windows)

L'Encrypting File System (abrégé EFS) est une fonctionnalité apparue avec la


troisième version des systèmes de fichiers NTFS disponible sur Microsoft Windows
2000 et ultérieurs. Cette technologie permet d'enregistrer des fichiers chiffrés sur ce
système de fichiers, ce qui protège les informations personnelles des attaques de
personnes ayant un accès direct à l'ordinateur.

 ISO 9660 : en lecture seule sur tous les systèmes lisant les CDROM/DVDROM de
données. ISO 9660 est une norme de l'ISO, qui définit le système de fichiers utilisé sur
les CD-ROM. Le support de Microsoft Windows, de Mac OS et des systèmes de
type Unix comme GNU/Linux, FreeBSD,NetBSD et OpenBSD doit permettre
l'interopérabilité des données échangées en environnement hétérogène. Ce système de
fichier est également utilisé sur les DVD-ROM.
 JFFS et JFFS2 : FS pour support physique sans block, typiquement des cartes flash.
Il est compressé et journalisé (Linux)
 UBIFS : FS journalisé pour support physique sans block, typiquement des cartes
flash (Linux)
 QNX4fs : FS utilisé pour le temps réel (QNX, Linux en lecture seule)
 UDF : le format de disque universel (système de fichiers des DVD-ROM et des
disques optiques réinscriptibles tels les CD-RW, DVD±RW, etc.). Le Universal Disk
Format ou UDF (anglais pour « format universel de disque ») est un format utilisé pour
les écritures en paquets sur les CD-RW et CD-R, qui ne sont pas de simples copies
d’images ISO de CD-ROM.
 VMFS : FS dédié à la virtualisation (VMware)

FS temporaire

 ramfs, le système de fichiers temporaire en mémoire RAM le plus simple et


efficace[réf. nécessaire]qui soit, basé sur la gestion du cache du noyau Linux.
 tmpfs, le nom générique d'un système de fichier temporaire, mais aussi son
implémentation (dérivée de ramfs) dans le noyau Linux 2.6.x

Pseudo FS

Ces systèmes de fichiers n'ont pas pour but de permettre l'accès à des fichiers réels. Ils
présentent en fait, sous l'apparence d'une hiérarchie classique de fichiers et de répertoires,
des informations de nature variées (sur l'état de l'ordinateur, des périphériques, ou
LicencePro Web 2.0 ESIG Cours de Systeme d’Exploitation

permettant l'accès à des bases de données). Il s'agit donc d'interfaces particulières pour


certains logiciels, généralement le système d'exploitation.

 Devfs, Device file system (linux 2.4)


 udev remplace Devfs (linux 2.6)
 Procfs, Process Filesystem (systèmes de type UNIX)
 Sysfs, permettant d'accéder aux informations sur le matériel et de configurer
certaines fonctionnalités du noyau Linux 2.6.
 CDfs : système de fichier virtuel pour Linux qui permet d'accéder aux données et aux
pistes audio d'un disque compact.
 ZODB: système de fichier du serveur zope

FS speciaux

 ODS (VMS, OpenVMS)
 ADFS : Acorn Disc Filing System (RiscOS, Linux expérimental)
 AFFS : fichiers rapides d'Amiga
 CBMFS : Le système de fichiers pour Commodore 1581/1541
 DTFS : DeskTop File System (UNIX)
 MFS (Macintosh)
 NWFS : système de fichiers Novell NetWare
 SFS : Secure file system
 OpenVMS : système de fichiers Spiralog
 uc/FS : système de fichiers pour OS uCOS//II
 Veritas File System : système de fichiers développé par Veritas
 WBFS (Wii Backup File System): Permet le stockage des backups de DVD pour Wii
sur un disque dur
LicencePro Web 2.0 ESIG Cours de Systeme d’Exploitation

Organisation des support de stockage (Disque Dur):

Le bloc (ou en anglais cluster) est la plus petite unité de stockage d'un système de


fichiers (utilisé sur une partition d'undisque dur) d'un système informatique. Le choix de la
taille de bloc est effectué lors du formatage du disque, et influe sur les performances et sur
la capacité utile du disque.

Structure d'un disque:


(A) piste
(B) secteur géométrique
(C) secteur de disque
(D) bloc

Taille de bloc en fonction de la taille de partition

Taille de la FAT1 FAT3 Ext ReiserF


NTFS1
partition 6 2 3 s3

512 octe 1 Ki
256 à 511 Mio 8 Kio 4 Kio 4 Kio
ts o

512 16 Ki 1 Ki


4 Kio 1 Kio 4 Kio
à 1 023 Mio o o

1 024 Mio à2 G 32 Ki 1 Ki


4 Kio 2 Kio 4 Kio
io o o
LicencePro Web 2.0 ESIG Cours de Systeme d’Exploitation

1 Ki
2 à 8 Gio 4 Kio 4 Kio 4 Kio
o

1 Ki
8 à 16 Gio 8 Kio 4 Kio 4 Kio
o

16 Ki 1 Ki
16 à 32 Gio 4 Kio 4 Kio
o o

32 Ki 1 Ki
32 à 2 047 Gio 4 Kio 4 Kio
o o

2 048 Gio à20  1 Ki
4 Kio 4 Kio
Tio o

Vous aimerez peut-être aussi