ext4

système de fichiers

ext4
Nom anglais Fourth extended file system
Introduction Stable:
Instable:
(Linux 2.6.28, 2.6.19)
Identificateur de partition 0x83
Structure
Contenu des répertoires liste chaînée, arbre h
Allocation de fichiers extent, bitmap
Mauvais blocs Table
Limitations
Taille maximale de fichier 16 Tio
Nombre maximal de fichiers 4 milliards
Taille maximale du nom de fichiers 255 octets
Taille maximale de volume Eio (limité à 16Tio par e2fsprogs)
Caractères autorisés dans les noms de fichiers Tous les caractères Unicode sauf NUL et '/'
Fonctionnalités
Dates enregistrées Modification (mtime), modification d'attribut (ctime), accès (atime), suppression (dtime), création (crtime)
Plage de dates 14 décembre 1901 à 25 avril 2514
Attributs extents, noextents, mballoc, nomballoc, delalloc, nodelalloc, data=journal, data=ordered, data=writeback, commit=nrsec, orlov, oldalloc, user_xattr, nouser_xattr, acl, noacl, bsddf, minixdf, bh, nobh, journal_dev
Permissions POSIX
Compression intégrée Non
Chiffrement intégré Oui (depuis 2015)

ext4 est le successeur du système de fichiers ext3, principalement destiné aux systèmes basés sur GNU/Linux.

Il garde une compatibilité avec son prédécesseur et est considéré par ses propres concepteurs comme une étape intermédiaire devant mener à un vrai système de fichiers de nouvelle génération tel que Btrfs[1]. Toutefois, ext4 est une étape utile et non une simple solution temporaire.

Histoire modifier

C'est à la fin du mois de que la discussion sur le développement d'une amélioration d'ext3 apparaît [2], c'est ext3dev. Une fois stabilisé, il change de nom pour devenir ext4dev.

Il est rendu public le par Andrew Morton et est inclus à titre expérimental dans la version 2.6.19 du noyau Linux, sortie le [3].

À compter de la version 2.6.28 du noyau, le système est considéré comme stable et à cette occasion change de nom : ext4dev devient ext4 pour être adopté par les utilisateurs[4].

Deux principales raisons ont poussé les développeurs à passer de ext3 à ext4 et non de faire une évolution de ext3 [5] :

  • la volonté de ne pas compliquer le code de ext3 déjà relativement complexe et changeant parfois de comportement suivant les contextes. Il a donc été jugé plus propre de partir sur une base neuve.
  • faire évoluer ext3 rendait temporairement instable la définition du système de fichiers. Plusieurs intervenants, comme Linus Torvalds, ont jugé la stabilité d'ext3 trop importante pour qu'on l'expose à des anomalies.

Fonctionnalités modifier

Outre le fait qu'il puisse gérer les volumes d'une taille allant jusqu'à un exbioctet (260 octets), 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 Linux 2.6.23 ; avant cela, elle devait être explicitement indiquée lors du montage de la partition. Par exemple :

mount /dev/sda1 /mnt/point -t ext4dev -o extents

Le système de fichiers ext4 a une compatibilité ascendante avec ext3. C'est-à-dire qu'une partition ext3 peut toujours être montée comme ext4 (en utilisant le type de système de fichiers « ext4 » lors du montage). L'inverse est possible, à la condition que la partition ext4 n'ait jamais utilisé l'allocation par extents pour enregistrer des fichiers, mais l'allocation binaire comprise par ext3. Cette capacité de ext4 d'utiliser les formats de ext3 existe pour faciliter la conversion des partitions ext3 vers ext4.

Accès depuis Windows et Mac OS modifier

Le contenu des partitions ou fichiers images de partitions (comme ceux utilisés par Wubi) formatés en ext4 sont accessibles en lecture seule sous Windows en utilisant le logiciel libre ext2read[6] (ext2explore) ou LinuxReader, ou encore en lecture/écriture via le logiciel libre ext2fsd[7].

Mac OS X supporte les systèmes de fichiers ext2/3/4 en lecture/écriture à travers le logiciel Paragon ExtFS, qui est un produit commercial. Le logiciel libre ext4fuse - disponible via homebrew[8] - ne les supporte qu'en lecture seule avec des fonctionnalités limitées.

Notes et références modifier

  1. (en) Theodore Tso, « Btrfs mainline plans », (consulté le )
  2. (en) Discussion sur l'établissement d'un plan de développement d'ext3dev
  3. (en) Annonce du support de ext4
  4. (en) « ext4: Rename ext4dev to ext4 », sur Kernel.org, (consulté le )
  5. Matthieu Barthélemy et Éric Lacombe, « Kernel Corner : Vers l'ext4... », Linux Magazine France, no 86,‎ , p. 13
  6. Ext2read
  7. Ext2Fsd
  8. Homebrew

Voir aussi modifier

Articles connexes modifier

Liens externes modifier