Файловые системы операционной системы Linux

 

В Linux долгое время была одна файловая система Ext2fs – вторая расширенная файловая система. Система определяется как расширенная по сравнению с файловой системой операционной системы Minix, послужившей прототипом Linux (до сих пор используемой на отформатированных в этой операционной системе дискетах). Вторая – означает, что ранние версии Linux базировались на Extfs с более ограниченными возможностями.

По способу организации хранения данных Extfs напоминает файловую систему Unix. Отличительные особенности:

- дробление дискового раздела на группы блоков;

- наличие нескольких копий суперблока, что повышает надежность хранения данных;

- наличие эффективного механизма кэширования дисковых операций, что обеспечивает их быстродействие;

- относительно слабая устойчивость при аварийном завершении работы (вследствие мертвого зависания или отказа питания).

Проблема нарушения целостности файловой системы при некорректном завершении работы характерна и для всех операционных систем семейства Unix. Потому для реализации механизма восстановления стали разрабатывать журналируемые файловые системы. Журнал представляет собой log-файл дисковых операций, в котором фиксируются не выполненные, а только предстоящие манипуляции с файлами. Журналирование направленно на обеспечение целостности файловой системы, но не гарантирует сохранности пользовательских данных.

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

Текущие версии ядра Linux поддерживают в качестве альтернативных четыре журналируемые файловые системы: ReiserFS, Ext3fs и XFS, JFS (результаты импортирования в Linux файловых систем, разработанных первоначально для рабочих станций под операционные системы Irix (SGI) и AIX (IBM), соответственно).

Журналируемая файловая система ReiserFS разработана специально для Linux фирмой Namesys (http://www.namesys.com) и поддерживается ее ядром (http://www.kernel.org), начиная с первых версий ветви 2.4.x. В ReiserFS осуществляется журналирование только операций над метаданными файлов, что при определенном снижении надежности, обеспечивает высокую производительность. Кроме этого, ReiserFS обладает уникальной (и по умолчанию задействованной) возможностью оптимизации дискового пространства, занимаемого мелкими, менее одного блока, файлами. Они хранятся в своих inode, без выделения блоков в области данных. Весте с экономией места это способствует росту производительности, так как данные и метаданные (в терминах ReiserFSstat -data) файла хранятся в непосредственной близости и могут быть считаны одной операцией ввода/вывода.

Хвосты файлов (их конечные части), меньшие по размеру, чем один блок, могут быть подвергнуты упаковке. Этот режим (tailing) включается по умолчанию при создании ReiserFS, обеспечивая около 5% экономии дискового пространства, но несколько снижает быстродействие. ReiserFS не совместима с Ext2fs на уровне утилит обслуживания файловой системы, но соответствующий инструментарий, разрешающий проблему, объединен в пакет reiserfsprogs и включен в штатный комплект современных дистрибутивов. Распространенные загрузчики Linux иногда не способны загрузить ядро Linux с раздела ReiserFS, поэтому ReiserFS не рекомендуется к употреблению на загрузочном разделе.

Ext3fs – представляет собой журналируемую надстройку над классической Ext2fs, разработанной в компании Red Hat и поддерживаемой ядром Linux, начиная с версии 2.4.16. Она сохраняет со своей прародительницей полную совместимость, в том числе и на уровне утилит обслуживания (начиная с версии 1.21, пакета e2fsprogs). Переход от Ext2fs к Ext3fs осуществляется добавлением файла журнала без переформатирования раздела и рестарта машины. Ext3fs является системой, в которой возможно журналирование операций не только с метаданными, но и с данными файлов, так как предусмотрено три режима работы: полное журналирование (full data journaling); журналирование с обратной записью (writeback); последовательное журналирование, задействуемое по умолчанию (ordered).

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

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

Файловая 64-разрядная система XFS развивается фирмой SGI для Unix, впервые появилась в версии Irix 5.3, вышедшей в 1994 г. В Linux она была импортирована недавно (http://oss.sgi.com/projects/xfs) и штатно поддерживается ядром, начиная с его ветки 2.6.X. XFS представляет собой сбалансированную файловую систему, ориентированную на размещение в больших дисковых разделах для работы с большими файлами. Особенности XFS:

- использование механизма деления единого дискового раздела на несколько равных областей (allocation group), имеющих собственные списки inodes и свободные блоки, для распараллеливания дисковых операций (самостоятельные файловые субсистемы);

- использование логического журналирования только для изменений метаданных, но с частым сбросом их на диск для минимизации возможных потерь при сбоях;

- применение механизма ассигнования дискового пространства при записи файлов не во время журналирования, а при фактическом сбросе их на диск (delayed allocation), что вместе с повышением производительности предотвращает фрагментацию дискового раздела;

- использование списков контроля доступа (ACL, Access Control List) и расширенных атрибутов файлов (extended attributes).

Возможность работы с XFS обеспечивает специальный патч (xfs-2.4.1X-all-i386.bz2), который вместе с соответствующими утилитами поддержки можно получить с сайта SGI (http://oss.sgi.com/projects/xfs). Утилиты поддержки для XFS объединены в несколько пакетов.

Файловая система JFS разработана компанией IBM для собственной версии Unix и уже долгое время поддерживается ядром Linux в качестве альтернативной системы, однако по ряду причин широкого распространения она не получила.

На уровне обмена данными Linux поддерживает множество файловых систем, некоторые из них только в режиме чтения (например, NTFS или HPFS).

Все упомянутые выше файловые системы могут располагаться не только на реальных блочных устройствах (дисках и дисковых разделах), но и на виртуальных дисках (RAM-дисках).

 

Приложение 1

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

 

№ п/п Название Описание файловой системы
Дисковые файловые системы Обычно являются поток-ориентированными. Файлы в поток-ориентированых файловых системах представляются последовательностью битов, часто предоставляющие такие функции, как чтение, запись, изменение данных и произвольный доступ.
ADFS Acorn's Advanced Disc filing system, является преемником DFS.
AdvFS Advanced File System, создана в Digital Equipment Corporation для Digital UNIX/Tru64 UNIX операционной системы.
AFS Acer Fast Filesystem, используется в SCO OpenServer
Ami File Safe Ami File Safe, коммерческая файловая система, поставлялась вместе с Amiga в 90х годах. Структурно совместима с PFS.
FFS (Amiga) Fast File System, используется в ОС семейства AmigaOS (поддерживается ОС MorphOS). Имеет расширения FFS1, FFS Intl, FFS DCache, FFS2. Считается устаревшей.
AthFS AtheOS File System, 64-битная журналируемая файловая система, сейчас используется в ОС Syllable. Также известная, как AFS.
BFS Be File System, используется в ОС BeOS
Btrfs Файловая система, основанная на структурах двоичных деревьев (B-Tree), созданная Oracle Corporation в 2007 году.
CBMFS Использовалась на большинстве Commodore 64 совместимых флоппи-дисководах.
CMDFS Расширение файловой системы CMBFS добавленное Creative Micro Designs для использования своих 3.5" флоппи дисководов, RAM дисков и контроллеров жестких дисков.
Cramfs Compressed ROM file system
DTFS Desktop File System, специализирующаяся на сжатии, используется в SCO OpenServer.
EAFS Extended Acer Fast Filesystem, обычно используется для хранения начального загрузчика и ядра в семействе UNIX ОС SCO OpenServer. Обычно монтируется как /boot.
EFS (IRIX) Устаревшая поблочная система для ОС IRIX.
EFS Encrypted filesystem, расширение для NTFS.
Ext Расширенная файловая система, разработанная для ОС на ядре Linux.
ext2 Второе расширение файловой системы, разработанной для ОС на ядре Linux.
ext3 журналируемая версия ext2.
ext3cow Форма файловой системы ext3 с поддержкой снапшотов.
ext4 Новая версия файловой системы ext3, с поддержкой экстентов.
FAT Используется в DOS и Microsoft Windows. Различается размером таблиц (12, 16 и 32 бит).
FATX Модифицированная версия FAT, используется в оригинальных Xbox игровых консолях.
VFAT Версия FAT, позволяющая использовать длинные (до 255 знаков) имена файлов
FFS Fast File System, используемая для ОС семейства BSD. Разработана в Беркли.
GCR Group Code Recording, формат хранения данных на 5¼″ дискетах, использовавшихся 8-ми битными Apple II и Commodore Business Machines.
Fossil Архивная файловая система от Plan 9 Bell Labs.
Files-11 Файловая система для ОС OpenVMS.
HFS Hierarchical File System, использовалась в старых версиях ОС семейства Mac OS.
HFSPlus Обновлённая версия HFS, используемая в последних версиях ОС семейства Mac OS
HPFS High Performance Filesystem, используется в ОС OS/2.
HTFS High Throughput Filesystem, файловая система ОС SCO OpenServer 5.
ISO 9660 Используется на CD-ROM и DVD дисках. Имеет расширения Rock Ridge и Joliet.
JFS Журналируемая файловая система, созданная IBM для ОС на ядре Linux, OS/2 и AIX
LFS Файловая система структурированных логов.
MFS Macintosh File System, использовалась в ранних ОС семейства Mac OS
TMFS Tivo’s Media File System, патентованный стойкий к ошибкам формат, используемый в Tivo жестких дисках для записи телевизионных передач.
Minix Использовалась в ОС Minix.
MicroDOS Файловая система с не фрагментируемым форматом записи файлов. Использовалась на персональных компьютерах БК в ОС: MKDOS, AO-DOS, NORD, MicroDOS, NORTON-БК, PascalDOS и др.
MUFS Multiuser Filesystem, расширение для файловых систем AmigaOS, позволяющее реализовать пользовательские права.
NetWare File System Файловая система для NetWare 2.x - 5.x.
NILFS Linux версия LFS
NSS Novell Storage Services – 64-битная журналируемая файловая система использует алгоритм «балансируемого дерева». Используется в ОС NetWare версии 5.0-up, портирована в ОС GNU/Linux.
NTFS Журналируемая файловая система. Используемая в линейке ОС Microsoft Windows NT.
WinFS Windows Future Storage, планируется как замена для NTFS.
OFS Old File System, для AmigaOS. Используется в основном для дискет.
PFS (PFS2, PFS3, и т.п.) – развитая файловая система ОС семейства AmigaOS, обладающая высокой надежностью.
Qnx4fs Файловая система, используемая в QNX.
ReiserFS Файловая система, способная к журналированию.
Reiser4 Файловая система, способная к журналированию, новая версия ReiserFS.
S51K AT&T UNIX System V 1KB файловая система, используется в SCO OpenServer.
SkyFS Файловая система разрабатываемая проектом SkyOS для замены BFS от BeOS.
SFS Smart File System – журналируемая файловая система ОС семейств: AmigaOS, MorphOS и AROS. Одной из особенностей является возможность проводить дефрагментацию даже во время работы с файлами.
SpadFS Нежурналируемая файловая система, с возможностью просмотра хэша реализована под Linux.
STL Standard language file system – файловая система созданная в IBM.
UFS Unix Filesystem – стандартная система, использовавшаяся в старых ОС семейства BSD.
UFS2 Unix Filesystem – используется в последних версиях ОС семейства BSD.
UDF Пакетная файловая система для устройств WORM/RW (таких как CD-RW и DVD).
VxFS Файловая система, созданная Veritas, первая коммерческая журналируемая файловая система; HP-UX, Solaris, Linux, AIX.
VSAM Транзакционная файловая система, манипулирующая виртуальным хранилищем данных.
WAFL Внутренняя высокопроизводительная файловая система, используемая в специализированной ОС Data ONTAP в сетевых система хранения данных от фирмы NetApp.
XFS Используется в ОС IRIX, GNU/Linux и BSD.
ZFS Zettabyte filesystem, открытая файловая система от Sun Microsystems. Используется в ОС Solaris 10, Solaris Express Developer Edition, FreeBSD, Mac OS X Leopard, Linux.
CSI-DOS Использовалась на БК в операционной системе CSI-DOS.
ОС БК-11 Использовалась на БК в ОС БК-11.
Флэш диски / файловые системы непрерывного состояния Флэш диски интерфейсом данных похожи на жесткие диски, но имеют свои проблемы и недостатки. Во время поиска они нуждаются в обработке алгоритмами Wear leveling и Error detection and correction.
FAT Дисковая файловая система флэш-дисков имеет ограничение на размер файла в 4 Гбайта.
exFAT Расширения версия FAT, запатентована Microsoft, часто называется FAT64, имеет ограничение 264 байт (16 эксабайт).
TFAT Транзакционная версия FAT файловой системы.
FFS1, FFS2 Ранние файловые системы для флэш карт.
JFFS Оригинальная лог-структурированная Linux файловая система для NOR флэш носителей.
JFFS2 Продолжение JFFS для NAND и NOR флэш носителей.
LogFS Предназначена для замены JFFS2, лучшая расширяемость.
Non-Volatile File System Файловая система для флэш дисков, разработанная Palm, Inc.
YAFFS Лог структурированная файловая система, предназначенная для NAND флэш, но может использоваться в NOR флэш дисках.
Файловые системы для сетевых хранилищ Файловые системы для общих дисков (сетевых хранилищ) или кластерные файловые системы используются в сетевых хранилищах, где все узлы сети имеют прямой доступ к блоковому устройству хранения. Используются в кластерах высокой доступности вместе с аппаратным RAID, обычно не расширяются больше 64 или 128 узлов и функционируют даже при поломке одного из узлов.
CXFS Файловая система расширяющая XFS для использования в сети имеющей SGI-сервера. Используется для решений Silicon Graphics (видеомонтаж, обработка массивов видеоматериалов).
EMC Celerra HighRoad Файловая система от компании EMC. Доступна для ОС AIX, HP-UX, IRIX, Solaris и Windows. Ассиметрична.
Files-11 Файловая система для кластеров VMS, выпущена DEC (HP) в 1983. Симметрична.
GFS Global File System компании Red Hat. Выпущена в Linux под лицензией GPL. Симметрична (GDLM) и асимметрична (GULM).
CFS HP Cluster File System (TruCluster) компании HP. Доступна для Tru64 UNIX.
Melio FS Файловая система копмании Sanbolic. Доступна для Windows. Симметрична.
Nasan Файловая система от компании DataPlow. Доступна в Linux и Solaris. Ассиметрична.
OCFS Oracle Cluster File System, кластерная файловая система. Симметрична.
PSFS PolyServe file system компании PolyServe. Используется в их PolyServe Matrix Server, который фокусируется на экспортировании клиентам через CIFS или NFS. Доступна в Linux и Windows. Симметрична.
SAN Файловая система компании DataPlow. Доступна в IRIX, Linux, Solaris и Windows. Симметрична.
StorNext Файловая система создана компанией Quantum. Асимметрична. Доступна в AIX, HP-UX, IRIX, Linux, Mac OS, Solaris и Windows. Совместима с Xsan.
QFS Файловая система создана компанией Sun Microsystems. Доступна в Linux (только клиентская часть) и Solaris (полностью). Асимметрична.
CFS Veritas Storage Foundation Cluster File System создана компанией Symantec. Доступна в AIX, HP-UX, Linux и Solaris. Асимметрична.
Xsan Кластерная файловая система созданная компанией Apple Computer, Inc. Асимметрична, доступна в Mac OS. Совместима с StorNext File System.
VMFS Файловая система создана компанией VMware/EMC Corporation. Доступна в VMware ESX Server. Симметрична.
Распределенные файловые системы (сетевые файловые системы)
9P Распределённая файловая система для ОС Plan 9 и Inferno. Одна из версий v9fs.
AFS Andrew File System – масштабируемая и независимая от расположения, имеет сильный кэш клиент и использует Kerberos для авторизации.
Arla Свободно распространяемые сервер и клиент с поддержкой AFS
AFP Apple Filing Protocol от компании Apple Computer. Может использовать протокол Kerberos для авторизации.
CIFS Сетевая файловая система, основанная на SMB с поддержкой UNIX прав и блокировок, при этом использующая DNS имена машин.
(DCE/DFS) DCE Distributed File System от компании IBM полностью соответствует стандарту POSIX и стандартам систем высокой доступности. Доступна для ОС AIX и Solaris.
NCP NetWare Core Protocol от компании Novell используется в сетях, основанных на NetWare.
NFS Network File System от компании Sun Microsystems, является стандартом в UNIX-подобных сетях. Может использовать протокол Kerberos для авторизации и кэш клиента.
OpenAFS Открытая реализация распределенной файловой системы AFS.
SFS Self-certifying File System – глобальная сетевая файловая система, разработанная для безопасного доступа к файлам через различные административные домены.
SMB Server Message Block является стандартом в Windows-ориентированных сетях. Известна также как Common Internet File System (CIFS) – общая файловая система в Интернет. Может использовать протокол Kerberos для авторизации.
Распределенные параллельные файловые системы с защитой от сбоев. Разделяют и реплицируют данные на многие сервера для высокой производительности и обеспечения целостности данных. Файловые системы используются в высокоскоростных вычислениях и кластерах высокой доступности. Фокусируются на высокой доступности, масштабируемости и высокой производительности.
dCache Бесплатная файловая система от компаний Fermilab и DESY.
ExaFS Распределенная файловая система от компании Exanet. Обслуживает NFS v2/v3, SMB/CIFS и AFP для Microsoft Windows, Mac Os, Linux и других UNIX клиентов. Доступна под патентованной лицензией.
Gfarm файловая система использует OpenLDAP или PostgreSQL для метаданных и FUSE или LUFS для монтирования. Доступна в Linux, FreeBSD, NetBSD и Solaris под лицензией X11.
GlusterFS Настраиваемая, высоко производительная кластерная файловая система, как часть GNU Clustering Platform. Доступна для любой POSIX совместимой операционной системы, под лицензией GPL.
GPFS General Parallel File System, виртуальная файловая система для параллельной обработки данных разработанная IBM. Поддерживает репликацию между подсоединенными блочными устройствами хранения. Доступна в AIX, Linux и Windows. Имеет синхронную или асинхроннуюя репликацию.
Google File System Кластерная система оптимизированная для работы с большими блоками данных по 64 Мб, а также обладающая повышенной защитой от сбоев. Вся информация копируется и хранится в трех местах одновременно, при этом система способна быстро находить реплицированные копии, если какая-то машина вышла из строя. Задачи автоматического восстановления после сбоя решаются с помощью программ, созданных по модели MapReduce. Разработана компаниейGoogle.
HDFS Hadoop Distributed File System – бесплатный клон GoogleFS.
IBRIX Fusion Программный пакет Fusion Software Suite, реализующий кластерную файловую систему Segmented File System. Создана компанией IBRIX. Доступна в Linux под патентованной лицензией.
Lustre Предназначена для использования в больших Linux кластерах (от 1000 машин). Лицензия GNU GPL.
MogileFS Распределенная файловая система созданная в рамках проекта LiveJournal. Реализованна на уровне многоплатформенного приложения на Perl. POSIX не совместима, использует: плоское пространство имен, уровень приложений, MySQL для метаданных и протокол HTTP для транспорта. Разработана компанией Danga Interactive. Доступна в Linux. Может быть портирована под лицензией GPL.
Isilon OneFS Кластерная файловая система разработана компанией Isilon OneFS. Позволяет хранить более 150 Тбайт данных.
OneFS distributed file system Разработана компанией Isilon. Основанная на ОС BSD на выделенном Intel оборудовании, обслуживает NFS v3 и SMV/CIFS для Windows, Mac OS, Linux и других UNIX клиентов, доступна под патентованной лицензией.
PanFS Panasas ActiveScale File System разработана компанией Panasas. Использует объектные устройства хранения. Доступна в Linux под патентованной лицензией.
PeerFS Разработана Radiant Data Corporation. Фокусируется на высокой доступности и высокой производительности, использует репликацию типа точка-точка с множественными источниками и целями. Доступна в Linux под патентованной лицензией.
Tahoe Написана на Python под GPLv2. Данные дублируются, шифруются, поддерживается контроль доступа.
TerraGrid Cluster File System Разработана Terrascale Technologies Inc. Реализует связанность кэша по запросу и использует стандарт iSCSI и модифицированную версию файловой системы XFS. Доступна в Linux под патентованной лицензией.
zFS Разработана компанией IBM. Фокусируется на кооперативном КЭШе и распределенных транзакциях, использует объектные устройства хранения.
Kosmos Distributed File System Файловая система разработанная Kosmix, является свободным ПО.
OASIS Разработана компанией ETRI. Доступна в Linux через специальную программу переноса программ, предоставленную ETRI.
XtreemFS Бесплатная открытая параллельная, объектно-ориентированная файловая система. Разработана как часть XtreemOS ОС, полностью интегрирована с управлением Virtual organization (VO).
Файловые системы с защитой от сбоев Файловые системы с встроенной избыточностью.
RAIF Redundant Array of Independent Filesystems. Избыточный Массив Независимых Файловых систем. Файловая система похожая на структуру RAID.
ZFS Содержит свое внедрение RAID-5 и RAID-6; RAID-Z и RAID-Z2 соответственно.
Псевдо и виртуальные файловые системы
devfs Устаревшая система файловых устройств в ОС семейств BSD, GNU/Linux.
procfs Система для обслуживания процессов, устаревший механизм ОС семейств BSD, GNU/Linux.
specfs Специальная файловая система для файловых устройств.
sysfs Получение информации о системных устройствах и драйверах в ОС GNU/Linux.
Шифрованные файловые системы
eCryptfs Криптографическая файловая система в ядре Linux начиная с версии 2.6.19.
EncFS GPL, Encrypted file system – шифрованная файловая система в пользовательском пространстве.
EFS Encrypted file system – шифрованная файловая система для Microsoft Windows систем. Является расширением файловой системы NTFS, использует сертификаты шифрования.
FSFS Fast Secure File System – быстрая безопасная файловая система.
FreeOTFE Бесплатное свободное программное обеспечение для шифрования в Windows, Windows Mobile, и Linux.
SolFS Solid File System – кроссплатформенная однофайловая виртуальная файловая система с шифрованием и сжатием.
SSHFS Secure Shell File System позволяет локально монтировать директорию с удаленного сервера, используя только учетные данные secure shel.
TrueCrypt Бесплатное свободное программное обеспечение для шифрования в Windows, Mac OS и Linux.
ZFS Поддержка шифрования в файловой системе ZFS.
Файловые системы специального назначения
AppleShare Сетевая файловая система в ранних версиях Mac OS.
archfs Архивирующая файловая система.
cdfs Система поддержки чтения и записи CD.
cfs Кэширующая файловая система.
Coda Файловая система с поддержкой автономной работы, происходит из OpenAFS.
compFUSEd Оверлей прозрачного сжатия, чтение/запись, основан на FUSE.
Cramfs Compressed ROM file system, свободная сжатая файловая система для GNU/Linux для встраиваемых систем основанных на ПЗУ.
Cromfs Файловая система работает в пользовательском пространстве, имеет статус только для чтения, использует эффективность LZMA алгоритма сжатия.
Datalight Reliance Транзакционная файловая система для 32 битных встроенных систем от Datalight.
Davfs2 Расширение файловой системы WebDAV.
DFS Распределённая (сетевая) файловая система для ОС семейства Microsoft Windows.
DRBD Позволяет создать общее для кластера зеркальное дисковое пространство.
FDI Файловая система разработанная Intel для Flash носителей. Используется, в частности, в сотовых телефонах марки Motorola.
Freenet Децентрализованная, сетевая файловая система анонимного обмена зашифрованными файлами.
ftpfs Файловая система, используемая при доступе по протоколу ftp.
fuse Файловая система пользователя, аналогична lufs, но имеет лучшую архитектуру.
FuseCompress Основана на FUSE, предоставляет прозрачное сжатие данных.
GmailFS Google Mail File System – файловая система Google для своей почтовой системы GMail.
HDFS Распределенная файловая система, являющаяся частью проекта Apache Hadoop.
InterMezzo Является преемником Coda, поддерживает синхронизацию с сервером и кэширование файлов.
Kimberlite Файловая система позволяет подключить две машины под ОС GNU/Linux к одному SCSI-накопителю.
lnfs Система поддержки длинных имен.
LUFS Система для доступа по протоколам ftpfs, ftp ssh.
MapFS Распределенная файловая система компании Levanta. Позволяет монтировать группе машин удаленную файловую систему доступную в режиме только для чтения, но дающую возможность модификации файлов, при этом изменения произведенные на каждой машине сохраняются локально. Лицензия GNU GPL.
MelioFS Распределенная файловая система компании Sanbolic. Позволяет машинам одновременно работать на чтение и на запись с одним томом и с одним файлом. Поддерживает работу с файловыми системами MS Windows.
mini fo The mini fanout overlay file system – перенаправляет модифицированные операции в записываемое пространство, названное директориями хранения; оставляет оригинальные данные в основной директории незатронутыми. При считывании, файловая система смешивает модифицированные данными и оригинальные, так чтобы только наиболее новая версия была показана.
MVFS MultiVersion File System – мультиверсионная файловая система, используется Rational ClearCase.
NBD Модуль для Linux реализующий поддержку виртуальных дисковых разделов, физически расположенных на другой машине в сети. Подходит для реализации RAID-массива распределенного по сети.
NCUFS The NetWare UNIX Client File System – сетевая файловая система от компании SCO, используется для подключения UNIX-клиентов к файловым ресурсам серверов Novell NetWare.
nntpfs Система поддерживающая протокол netnews.
NOOFS Сетевая файловая система, использующая в качестве хранилища данных SQL-базу, в частности PostgreSQL.
ParFiSys Экспериментальная файловая система для параллельной обработки данных.
plumber (Plan 9) Система обмена сообщениями между работающими процессами, реализация механизма многопоточности.
PVFS Распределенная файловая система, заменяющая NFS для кластера. Состоит из централизованного сервера метаданных и множества демонов ввода/вывода, непосредственно занимающихся отдачей и сохранением информации. Данные хранятся на специально отведенных кластерах, возможности резервирования пока отсутствуют.
ramfs Система используемая для создания RAM-диска в процессе загрузки ОС семейства BSD и на ядре Linux
romfs ROM filesystem – простая файловая система, предназначеная для записи важных файлов в EEPROM. Доступна в Linux и в других UNIX-похожих системах.
SquashFS Система компрессирующая данные с атрибутом «только для чтения.»
tmpfs Файловая система поддерживающая работу с виртуальной памятью.
UMSDOS Файловая система подобная FAT, но расширенная для хранения прав доступа и метаданных, используется в ОС на ядре Linux.
UnionFS Каскадно-объединенная файловая система, которая может смешивать содержимое различных директорий (ветви), оставляя содержимое физически разделенным.
WDK.VFS SiteAdmin CMS – виртуальная файловая система, представлена Evgenios Skitsanos.
wikifs (Plan 9) Файловая система используемая Википедией.
Barracuda WebDAV plugin Безопасный сетевой файловый сервер для встроенных устройств.
SysmanFS Виртуальная файловая система, основаная на FUSE, для управления кластерами.
pramfs Защищенная и постоянная файловая система для RAM устройств.
ERTFS ProPlus64 Имеет интегрированную операцию защиты от сбоев, по умолчанию работает в журналируемом режиме.
Callback File System Виртуальная файловая система для Windows.

 


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

4.1. Общие сведения о файлах. 1

4.2. Организация файлов и доступ к ним. Операции над файлами. 3

4.3. Логическая структура файлового архива. Операции над директориями. 7

4.4. Реализация файловой системы. Общая структура файловой системы.. 12

4.5. Логическая и физическая организация файла. 17

4.6. Реализация директорий. Совместно используемые файлы.. 23

4.7. Организация дискового пространства. Управление внешней памятью.. 28

4.8. Надежность файловой системы. Управление плохими блоками. 32

4.9. Производительность файловой системы.. 36

4.10. Файловые системы лазерных дисков. 39

4.11. Файловые системы линейки операционных систем Windows. 44

4.12. Файловые системы операционной системы Unix. 60

4.13. Файловые системы операционной системы Linux. 65

Вопросы.. 68

Тесты.. 70

 


[1] Объектный файл, промежуточный файл компиляции.

[2] CRT-терминалы – мониторы, имеющие кинескоп с катодной электронно-лучевой трубкой.

[3] Все открытые файлы ссылаются к ядру через файловые дескрипторы – неотрицательные целые числа. При открытии или создании файла ядро возвращает процессу файловый дескриптор. По умолчанию файловый дескриптор 0 связывают со стандартным вводом процесса, 1 – со стандартным выводом 2 - со стандартной ошибкой. Это соглашение соблюдается многими Unix-системами и многими приложениями. Стандарт POSIX.1 заменил числа 0,1,2 символическими константами STDIN_FILENO, STDOUT_FILENO и STDERR_FILENO соответственно. Файловые дескрипторы могут принимать значения от 0 до OPEN_MAX. Старые версии UNIX имели верхний предел до 19, позволяя одному процессу открывать до 20 файлов. Сейчас это значение увеличено до нескольких тысяч.

[4] Handle – идентификатор, однозначно определяющий объект.

[5] Так как значение года считается от 1990, то следом за 2155 годом для CD-ROM наступит 1900 год.

[6] символов Unicode используются для написания программного обеспечения в странах, не использующих латинский алфавит, таких как Япония, Израиль, Греция, Россия и др.

[7] Имя файла могло состоять не более чем из 8 зарезервированных символов, расширение имени - не более чем из 3 зарезервированных символов.

[8] Справедливо только для FAT-16

[9] Нельзя задать квоту для подкаталога или для группы.

[10] Прокси-сервер (англ. proxy, представитель, уполномоченный) – служба в компьютерных сетях, позволяющая клиентам выполнять косвенные запросы к другим сетевым службам.

[11] URL (Uniform (Universal) Resource Locator) – единый (универсальный) указатель (определитель местонахождения) ресурсов, который представляет собой стандартизированный способ записи адреса ресурса в сети Интернет.