ext4

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
ext4
Nom anglais Fourth extended file system
Introduction Stable: 24 décembre 2008
Instable: 29 novembre 2006
(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é Non

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 | modifier le code]

C'est à la fin du mois de juin 2006 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 10 octobre 2006 par Andrew Morton et est inclus à titre expérimental dans la version 2.6.19 du noyau Linux, sortie le 29 novembre 2006 [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 | modifier le code]

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 Macintosh[modifier | modifier le code]

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.exe) 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 | modifier le code]

  1. (en) Theodore Tso, « Btrfs mainline plans »,‎ 10 octobre 2008 (consulté le 24 juin 2009)
  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,‎ 11 octobre 2008 (consulté le 29 novembre 2008)
  5. Matthieu Barthélemy et Éric Lacombe, « Kernel Corner : Vers l'ext4... », Linux Magazine France, no 86,‎ septembre 2006, p. 13
  6. Ext2read
  7. Ext2Fsd
  8. Homebrew

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]