1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
В Linux существует несколько файловых систем, предназначенных не для сохранения данных па жестком диске (или другом носителе), а только для обмена информацией между ядром и пользовательскими программами. Эти файловые системы помечены в файле /proc/filesystems как nodev. Далее коротко рассмотрим важнейшие из них. devpts — эта файловая система обеспечивает доступ к псевдотерминалам (сокращенно — PTY) через /dev/pts/* в соответствии со спецификацией UNIX-98. (Псевдотерминалы эмулируют последовательный интерфейс. В системах UNIX/ Linux такие интерфейсы используются эмуляторами терминалов, например xterm. При этом, как правило, применяются такие устройства, как /dev/ttypn. В спецификации UNIX-98, напротив, определяются новые устройства.) рrоc и sysfs — файловая система рrоc служит для отображения служебной информации, касающейся управления ядром и процессами. В дополнение к этому файловая система sysfs строит взаимосвязи между ядром и оборудованием. Обе файловые системы подключаются на позициях /рrоc и /sys. tmpfs — эта система построена на основе разделяемой памяти в соответствии с System V. Она обычно подключается на позиции /dev/shm и обеспечивает эффективный обмен информацией между двумя программами. В некоторых дистрибутивах каталоги /var/run и /var/lock также создаются с помощью файловой системы tmpfs. Файлы из этих каталогов применяются некоторыми сетевыми демонами для того, чтобы сохранять идентификационные номера процессов, а также информацию о доступе к файлам. Благодаря tmpfs эти данные теперь отражаются в RAM. Метод гарантирует высокую скорость, а также то, что после отключения компьютера в катапогах /var/run или /var/lock не останется никаких файлов. usbfs — файловая система usbfs, начиная с версии ядра 2.6 и выше, дает информацию о подключенных USB-устройствах. Обычно она интегрирована в файловую систему ргос. auto — на самом деле файловой системы с таким названием не существует. Однако слово auto можно использовать в /etc/fstab или с командой mount для указания файловой системы. В таком случае Linux попытается самостоятельно распознать файловую систему. Этот метод работает с большинством важнейших файловых систем. autofs, autofs4 — это тоже не файловые системы, а расширения ядра, автоматически выполняющие команду mount для выбранных файловых систем. Если файловая система не используется в течение некоторого времени, то для нее автоматически выполняется команда umount. Этот метод удобен прежде всего. cgroup — так называемые контрольные группы (Control Groups) позволяют управлять использованием ресурсов с помощью отдельных процессов либо ограничивать таким образом применение ресурсов. Виртуальная файловая система Cgroup помогает считывать или изменять все актуальные настройки Cgroup. Базовая документация о контрольных группах содержится по адресу http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt cramfs и squashfs — файловые системы Cram и Squash предназначены только для чтения. Они используются для того, чтобы «упаковать* как можно больше архивированных файлов во Flash-память или ПЗУ (постоянное запоминающее устройство). fuse — FUSE означает Filesystem in Userspace (Файловая система в пользовательском пространстве). Она позволяет разрабатывать и использовать драйверы файловых систем вне ядра. Следовательно, FUSE всегда применяется с внешним драйвером файловой системы. FUSE работает, в частности, с драйвером NTFS ntfs-3g. gfs и oefs — Global File System (Глобальная файловая система) и Oracle Cluster File System (Кластерная файловая система от Oracle) позволяют строить гигантские сетевые файловые системы, к которым могут параллельно обращаться множество компьютеров в один и тот же момент. jffs и yaffs — Journaling Flash File System (Журналируемая файловая система для Flash-носителей) и Yet Another Flash File System (Альтернативная файловая система для Flash-носителей) оптимизированы для работы с твердотельными дисками и Flash-носителями. С помощью специальных алгоритмов они пытаются равномерно использовать все ячейки памяти (технология «выравнивание износа»), чтобы избежать преждевременного отказа системы. loop — используется для работы с псевдоустройствами. Псевдоустройство (loopback device) — это адаптер, способный обращаться к обычному файлу как к блочному устройству. Благодаря ему в любом файле можно расположить любую файловую систему, а затем подключить ее к дереву каталогов с помощью mount. Отвечающая за это функция ядра — поддержка псевдоустройств — реализуется в модуле loop. Существуют разнообразные способы применения псевдоустройств. В частности, они могут использоваться при создании дисков в оперативной памяти для начальной инициализации (Initial RAM disk) для GRUB или LILO, при реализации зашифрованных файловых систем или тестировании ISO-образов для CD. none — само собой разумеется, что и попе не является файловой системой. Эта функция предоставляет редко используемую возможность подключить локальный каталог в другой точке дерева каталогов. Для этого необходимо задать в команде mount или в файле /etc/fstab тип файловой системы попе, а также поставить дополнительный параметр bind. Этот метод напоминает применение символьной ссылки, но внутри системы реализуется совершенно иначе. Использовать такой метод целесообразно, например, при конфигурации сервера NFS4. unionfs/aufs — концепция nnionfs или ее варианта anfs позволяет как бы накладывать друг на друга несколько файловых систем, причем система, расположенная выше всех, имеет приоритет. Системы unionls и auls применяются в некоторых «живых системах», когда Linux запускается прямо с CD или DVD. На систему CD/DVD, предназначенную только для чтения, накладывается файловая система диска оперативной памяти. Снаружи «видна» только одна файловая система, которая составляется из базовой структуры CD/DVD и изменений, производимых в файловой системе диска оперативной памяти. Зашифрованные файловые системы — в Linus применяются различные методы шифрования содержимого файловой системы. Некоторые из этих методов основаны на применении специальных файловых систем (например, CryptoFS или eCryptfs). |