Файловые системы операционной системы 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, без выделения блоков в области данных. Весте с экономией места это способствует росту производительности, так как данные и метаданные (в терминах ReiserFS – stat -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) – единый (универсальный) указатель (определитель местонахождения) ресурсов, который представляет собой стандартизированный способ записи адреса ресурса в сети Интернет.