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

ОС Linux поддерживает огромное количество разнообразных файловых систем (Таблица 1. Список файловый систем). В каталоге fs/ дерева исходных кодов ядра находится более 60 подкаталогов, каждый из которых соответствует одной файловой системе. Кроме этого, существует интерфейс FUSE, обеспечивающий поддержку ещё большего количества файловых систем, реализованных не в пространстве ядра (kernel level), а в пространстве пользователя (user level).

Традиционно файловые системы разделяют на четыре класса:

§ Локальные файловые системы;

§ Сетевые файловые системы;

§ Кластерные файловые системы;

§ Файловые системы специального назначения.

К основным локальным файловым системам Linux относят:

§ ext2, ext3 и теперь ext4, которая с декабря 2008 года (ядро 2.6.28) считается стабильной;

§ XFS,

§ JFS,

§ Reiserfs и Reiser4.

Ведётся работа над файловой системой btrfs, которая, возможно, войдёт в число основных файловых систем Linux, но пока до этого ещё далеко.

Таблица 1. Список файловый систем

Тип ФС Назначение
minix Файловая система minix — это первая файловая система, которая использовалась в Linux. Она имела массу недостатков: ограничения размера раздела жесткого диска 64 мегабайтами; длина имени файла была ограничена 30 символами и т. д. Она продолжает использоваться для дискет и RAM-дисков
extfs Еще одна из ранних версий файловой системы для Linux, расширение файловой системы minix. В настоящее время заменена файловой системой ext2 и уже не используются
ext2fs Вторая расширенная файловая система (second extended filesystem) была создана как расширение файловой системы extfs. ext2fs обеспечивает более высокую производительность (в части скорости и использования центрального процессора), поддерживаются длинные имена и большие размеры файлов
xiaf Файловая система Xiaf была создана на основе minix с целью обеспечения большей устойчивости и безопасности. Она обеспечивает выполнение основных функций файловой системы без излишней сложности
msdos Файловая система, используемая для разделов, сформатированных в MS-DOS и Windows.
umsdos Файловая система UMS-DOS является расширением файловой системы DOS, используемым под Linux. В ней добавлено использование длинных имен файлов, идентификаторы пользователя и группы (UID/GID), разрешения в стиле POSIX и специальные файлы (устройства, именованные каналы и т. д.) при этом совместимость с DOS не потеряна
hpfs Файловая система для разделов OS/2. В Linux обеспечивается только чтение из разделов hpfs
proc Это файловая система, которая используется для обращения к структурам данных ядра. Файлы этой системы не занимают дискового пространства.
nfs Сетевая файловая система, используемая для доступа к дискам, расположенным на удаленных компьютерах
swap Раздел или файл свопинга OC Linux
sysv Файловая система Unix Systen V. Она поддерживает файловые системы Xenix FS, SystemV/386 FS и Coherent FS
iso9660 Файловая система для монтирования CD-ROM, соответствующая стандарту ISO 9660
vfat Файловая система FAT-32. Поддерживаются длинные имена файлов
smb то сетевая файловая система, которая поддерживает протокол SMB, используемый Windows, Windows NT и Lan Manager. Для того чтобы использовать эту файловую систему, надо иметь специальную программу монтирования smbmount
ncpfs Это сетевая файловая система, обеспечивающая поддержку протокола NCP, применяемого в Novell NetWare. Для того чтобы использовать эту файловую систему, надо тоже иметь специальную программу.

К основным сетевым файловым системам в Linux относят:

§ NFS, основная сетевая файловая система в UNIX (в Linux поддерживается как NFSv3, так и NFSv4);

§ CIFS

Также можно выделить файловую систему AFS, поддержка которой в ядре Linux существенно развилась за последнее время.

Файловые системы отличаются:

§ функциональностью;

§ производительностью;

§ надёжностью;

§ эффективностью хранения данных.

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

§ журналирование;

§ транзакции;

§ снимки и версии файлов;

§ контрольные суммы файлов и метаданных;

§ шифрование данных;

§ подвыделение блоков (block suballocation);

§ различные меры для борьбы с фрагментацией.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: