Linux - статьи


Представление о файловых системах


Разделы создаются не сами по себе, а для того, чтобы нести на себе некие файловые системы. В отличие от Windows, способной работать только с FAT любого рода и (для линии Windows NT/2000/XP) NTFS, Linux в качестве "родных" (native) поддерживает большое количество их типов: ext2fs, ext3fs, ReiserFS, XFS и JFS (в принципе Linux можно разместить и на разделе с FAT16/FAT32, но это - занятие нездоровое по ряду причин).

Файловая система ext2fs - старейшая из используемых в Linux. Отличается исключительным быстродействием, совместимостью и достаточно надежна для использования на десктопе. Правда, после системных сбоев (например, по питанию) она обязательно должна проходить проверку целостности, что при современных объемах дисков может занять изрядное время.

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

ReiserFS, XFS и JFS - также журналируемые файловые системы, каждая со своими особенностями. Конёк первой - работа с большим количеством маленьких и очень маленьких (в несколько байт) файлов, а таких файлов в любой Unix-системе очень даже много. XFS, напротив, ориентирована на работу с (очень) большими файловыми системами и отдельными файлами мультимедийной направленности, размер которых вполне может составлять не один гигабайт. Ну а JFS, разработка фирмы IBM, - это эпоним журналируемых файловых систем, с нее-то и началось понятие журналирования. Впрочем, никакими другими достоинствами ее Linux-реализация не отмечена, являясь, пожалуй, самой медленной из всего семейства.

В некоторых современных дистрибутивах имеется поддержка файловой системы Reiser4. Это - дальнейшее развитие ReiserFS, представляющее собой уже не только (а может быть, и не столько) файловую систему, а так называемое "пространство имен" (Namespace) для манипулирования дисковыми объектами. Впрочем, официально Reiser4 ядром Linux пока не поддерживается, и не смотря на фантастическое быстродействие, надежность ее вызывает определенные сомнения.


Для создания файловых систем (процесса, именуемого в DOS/ Windows форматированием) предназначены специальные утилиты - mkfs.ext2, mkfs.ext3, mkfs.reiserfs, mkfs.xfs и mkfs.jfs, каждая из которых создает соответствующую файловую систему. Кроме того, существует универсальная утилита mkfs: вызванная с соответствующими опциями (какими - описано в man mkfs), она способна создать любую файловую систему из числа поддерживаемых в Linux (включая FAT16/VFAT/FAT32, но не NTFS).

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

Кроме собственно файловых систем, на одном из дисковых разделов, как правило, размещается еще и так называемое пространство своппинга. Оно предназначено для перемещения на него, при необходимости, содержимого оперативной памяти - например, в случае ее переполнения. Собственно говоря, в Linux существует понятие виртуальной памяти - совокупности физической RAM и пространства своппинга, которые, с точки зрения пользователя, образуют неразрывное единство.

Раздел подкачки создается специальной утилитой - mkswap, после чего нуждается в активации - это делается командой swapon. Впрочем, практически во всех инсталляторах (яркое исключение - опять-таки Gentoo) и то, и другое выполняется прозрачно для пользователя - достаточно соответствующий раздел определить как раздел подкачки.


Содержание раздела