Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Файловая система Linux_2013.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
298.5 Кб
Скачать

Виртуальная файловая система vfs

До сих пор рассказ о файловой системе касался только "статических", если можно так выразиться, составных частей файловой системы. Но все это обслуживается какими-то программными модулями. Эти программные части можно разделить на две составных части. Одна часть входит в состав ядра и образует так называемую виртуальную файловую систему (VFS). VFS обеспечивает унифицированный программный интерфейс к услугам файловой системы, причем безотносительно к тому, какой тип файловой системы (vfat, ext2fs, nfs и т. д.) имеется на конкретном физическом носителе. Поэтому каждая файловая система должна предоставлять еще какие-то конкретные процедуры доступа к своим файлам, для того, чтобы использоваться под Linux. Виртуальная файловая система VFS, расположенная как бы между приложениями и конкретными файловыми системами, позволяет пользовательским приложениям получать доступ к множеству файловых систем разных типов.

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

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

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

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

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

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

  • файловая система ext3fs ;

  • XFS;

  • журналируемая файловая система JFS фирмы IBM;

  • ReiserFS .

В табл.8 приведены данные по увеличению основных параметров, обеспечиваемых новыми файловыми системами. Данные заимствованы из статьи Juan I. Santos Florido "Journal File Systems", опубликованной в 55-ом выпуске Linux Gazette (July 2000).

Таблица 8. Некоторые параметры файловых систем новых типов

Файловая система

Размер блока

Максим. размер файловой системы

Максим. размер файла

Ext3FS

1—4 Кбайт

4 Tбайт

2 Гбайт

XFS

от 512 байт до 64 Кбайт

18 тысяч петабайт

9 тысяч петабайт

JFS

512, 1024, 2048, 4096 байт

от 4 петабайт (при 512-байтных блоках) до 32 петабайт (при 4-килобайтовых блоках)

От 512 Тбайт (при 512-байтовых блоках)

До 4 петабайт (при 4-килобайтовых блоках)

ReiserFS

До 64 Кбайт (пока что фиксирован, 4 Кбайт)

4 Гбайт блоков, 16 Тбайт

4 Гбайт, 210 петабайт в ReiserFS (3.6.xx)