Linux программирование в примерах
Шрифт:
8.1.2. Обзор различных типов файловых систем
ЗАМЕЧАНИЕ. Обсуждение в данном разделе специфично для Linux. Однако, у многих современных систем Unix также есть сходные особенности. Мы рекомендуем вам изучить документацию своей системы.
Исторически V7 Unix поддерживал лишь один тип файловой системы; вспомогательные данные и организация каталогов каждого из разделов были структурированы одним и тем же способом. 4.1 BSD использовал файловую систему с такой же как у V7 структурой, но с размером блока 1024 байта вместо 512 байтов. 4.2 BSD ввело «файловую систему BSD», которая разительно изменила расположение индексов и данных на диске и дала возможность использовать гораздо большие размеры блоков. (В общем, использование больших протяженных блоков данных обеспечивает лучшую производительность, особенно для чтения файлов.)
Вплоть до 4.3 BSD и System V Release 2 в начале и середине 1980-х системы Unix продолжали поддерживать один тип файловой системы. Для переключения компьютера от одной файловой системы на другую [77] приходилось сначала резервировать каждую файловую систему на среду архивирования (9-дорожечную ленту), обновлять систему, а затем восстанавливать данные.
В середине 1980-х Sun Microsystems разработала архитектуру ядра, которая сделала возможным использование нескольких архитектур файловой системы в одно и то же время. Этот проект был реализован в их операционной системе SunOS, сначала для поддержки сетевой файловой системы Sun (Network File System — NFS). Однако, как
77
Например, при обновлении VAX 11/780 с 4.1 BSD до 4.2 BSD — Примеч. автора.
78
System V Release 3 поддерживала два различных размера блоков: 512 байтов и 1024 байта, но в остальном организация диска была той же самой — Примеч. автора.
Общий дизайн Sun стал популярным и широко реализовывался в коммерческих системах Unix, включая System V Release 4. Системы Linux и BSD используют разновидность этого дизайна для поддержки множества форматов файловых систем на диске. В частности, обычным для всех разновидностей Unix на платформе Intel x86 является возможность монтирования файловых систем MS-DOS/Windows FAT, включая поддержку длинных имен, а также форматированные в соответствии с ISO 9660 CD-ROM.
Linux имеет несколько собственных (т.е. размещаемых на диске) файловых систем. Наиболее популярными являются файловые системы
Таблица 8.1. Поддерживаемые ядром файловые системы Linux (ядро 2.4.x)
Имя | Режим | Описание |
---|---|---|
afs | RW | Andrew File System (файловая система Andrew) |
adfs | RW | Acorn Advanced Disc Filing System (расширенная дисковая файловая система Acorn) |
affs | RO, RW | Amiga Fast File system (быстрая файловая система Amiga) Режим «только для чтения» в противоположность режиму «для записи и чтения» зависит от версии файловой системы |
autofs | RW | Файловая система для взаимодействия с демоном автоматического монтирования |
befs | RO | Файловая система BeOS. Помечена как программное обеспечение альфа. |
bfs | RW | SCO UnixWare Boot File system (загрузочная файловая система SCO Unix). |
binfmt-misc | RW | Специальная файловая система для запуска интерпретаторов компилированных файлов (например, файлов Java) |
efs | RW | Файловая система, разработанная для варианта Unix SGI, названного Irix |
coda | RW | Экспериментальная распределенная файловая система, разработанная в CMU [79] |
cramfs | RO | Небольшая файловая система для хранения файлов в постоянной памяти (ROM). |
devfs | RW | Способ динамического предоставления файлов для /dev (устарело). |
devpts | RW | Специальная файловая система для псевдотерминалов. |
ext2 | RW | Вторая расширенная файловая система. Файловая система по умолчанию для GNU/Linux, хотя некоторые дистрибутивы используют теперь ext3 . |
ext3 | RW | Файловая система ext2 с журналированием |
hfs | RW | Hierarchical File System (иерархическая файловая система) Apple Mac OS. |
hpfs | RW | High Performance File System (высокопроизводительная файловая система) OS/2. |
intermezzo | RW | Экспериментальная распределенная файловая система для работы в отсоединенном от сети состоянии. См веб-сайт InterMezzo ( http://www.inter-mezzo.org ) |
jffs | RW | Journalled Flash File system (журналируемая файловая система с групповой записью/считыванием, для встроенных систем) |
jffs2 | RW | Journalled Flash File system 2 (тоже для встроенных систем) |
iso9660 | RO | Файловая система ISO 9660 для CD-ROM. Поддерживаются также расширения Rock Ridge, заставляющие выглядеть использующие их CD-ROM как нормальная файловая система (но только для чтения). |
jfs | RW | Journalled File System (журналируемая файловая система) IBM для Linux. |
ncp | RW | Протокол Novell NCP для NetWare; клиент удаленной файловой системы. |
ntfs | RO | Поддержка файловой системы NTFS Windows |
openpromfs | RO | Файловая система /proc для PROM на системах SPARC |
proc | RW | Доступ
|
qnx4 | RW | Файловая система QNX4 (небольшой операционной системы реального времени) |
ramfs | RW | Файловая система для создания RAM-дисков. |
reiserfs | RW | Развитая журналируемая файловая система |
romfs | RO | Файловая система для создания простых RAM-дисков только для чтения. |
smbfs | RW | Поддержка клиента для файловых систем SMB (разделяемых файлов Windows) |
sysv | RW | Файловые системы System V Release 2, Xenix, Minix и Coherent. coherent, minix и xenix являются псевдонимами |
tmpfs | RW | Файловая система электронного диска, поддерживающая динамический рост. |
udf | RO | Формат файловой системы UDF, используемый в DVD-ROM |
ufs | RO, RW | Быстрая файловая система BSD, на современных системах с доступом для чтения и записи. |
umsdos | RW | Расширение vfat , заставляющее выглядеть ее подобно файловой системе Unix |
usbfs | RW | Специальная файловая система для работы с устройствами USB. Первоначальным именем было usbdevfs , это имя до сих пор появляется, например, в выводе mount |
vfat | RW | Все варианты файловых систем FAT MS-DOS/Windows Компонентами являются msdos и fat |
vxfs | RW | Журналируемая файловая система Veritas VxFS. |
xfs | RW | Высокопроизводительная журналирующая файловая система, разработанная SGI для Linux. См веб-сайт XFS ( http://oss.sgi.com/projects/xfs/ ) |
79
Университет Карнеги-Меллона — Примеч. перев.
Не все из этих файловых систем поддерживаются командой
Журналирование является методикой, впервые использованной в системах баз данных для увеличения производительности обновлений файлов таким образом, что восстановление файловой системы в случае аварии могло быть сделано быстро и правильно. В момент написания этого были доступны несколько различных журналируемых файловых систем, конкурирующих за продвижение в мире GNU/Linux. Одной из них является
Файловые системы
Файловые системы Coherent, MINIX, первоначальной System V и Xenix все имеют сходные структуры на диске. Тип файловой системы
Быстрая файловая система BSD в течение нескольких лет успешно развилась. Файловая система
Обозначения «RO» для
Две файловые системы, которых больше не существует, это
80
Источник:
8.1.3. Монтирование файловых систем:
Команда
Файловую систему вы указываете с помощью опции
Например (