next up previous contents index
Next: Журналируемые файловые системы Up: Файловая система Previous: Виртуальная файловая система VFS   Contents   Index

Новые файловые системы

Файловая система ext2fs была создана по образу и подобию файловой системы UNIX (UNIX File System - UFS). Обе они (особенно UFS) создавались еще в те времена, когда диски и другие физические носители данных имели довольно маленький (по современным меркам) объем. Увеличение объема дисков вело к возрастанию объема разделов диска, увеличению размеров отдельных файлов и каталогов. Это породило ряд проблем, связанных с ограниченностью внутренних структур данных файловой системы.

Существуют две основных проблемы этого рода:

  1. Эти структуры не способны работать с носителями информации увеличенного объема. В них отведено строго фиксированное число бит для хранения данных о размере дисковых разделов и размерах файлов, фиксированное число бит для хранения логических номеров блоков и так далее. Как следствие, число файлов и каталогов и их размер ограничены.

  2. Вторая проблема связана с производительностью. В силу заложенных в старые файловые системы алгоритмов решение некоторых задач на носителях увеличенного объема стало требовать слишком большого времени. Одним из самых характерных примеров такого рода проблем является трудоемкость восстановления файловой системы после сбоев (например, после неожиданного отключения питания). Это восстановление выполняется с помощью программы fsck и для очень больших дисков стало требовать нескольких часов.

Естественно, что появление этих проблем породило и попытки их решения. Были разработаны новые типы файловых систем, при создании которых учитывались требования масштабируемости. Наиболее известными разработками файловых систем новых типов являются:

В следующей таблице приведены данные по увеличению основных параметров, обеспечиваемых новыми файловыми системами.

  Размер блока Максим. размер файловой системы Максим. размер файла  
1.2emExt3FS 1KB-4KB 4Tb 2GB  
XFS от 512 байт до 64 KB 18 тысяч петабайт 9 тысяч петабайт  
JFS 512, 1024, 2048, 4096 байт от 4 петабайт (при 512-байтных блоках) до 32 петабайт (при 4-килобайтовых блоках) от 512 терабайт (при 512-байтовых блоках) до 4 петабайт (при 4-килобайтовых блоках)  
ReiserFS До 64KB. Пока что фиксирован, 4KB 4G of blocks, 16 Tb 4G, $ 2^10$ petabytes in ReiserFS (3.6.xx)  



Alex Otwagin 2002-12-16