Европейский Университет в Санкт-Петербурге
Опубликован: 10.10.2005 | Доступ: свободный | Студентов: 1716 / 298 | Оценка: 4.30 / 3.85 | Длительность: 16:22:00
ISBN: 978-5-94774-820-8
Лекция 5:

Файловая система: идеология и структура

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

Основной ("родной") файловой системой Solaris является UFS (Unix File System). Всего Solaris 9 поддерживает 13 файловых систем, перечисленных в таблице 5.2.

Таблица 5.2. Файловые системы, поддерживаемые Solaris 9
Файловая система Тип Устройство Описание
UFS обычная диск родная файловая система Solaris
VxFS обычная диск журналируемая система от Veritas Corp
QFS обычная диск файловая система от LSC Inc.
pcfs обычная диск MSDOS FAT и FAT32
hsfs обычная диск файловая система High Sierra (для CD-ROM); она же - ISO9660
tmpfs обычная память использует оперативную память и область свопинга
nfs псевдосистема сеть файловая система для монтирования каталогов на других компьютерах (подобно разделяемым каталогам Windows)
cachefs псевдосистема другая ФС использует локальный диск для кэширования удаленной файловой системы NFS
autofs псевдосистема другая ФС использует динамические объекты для монтирования других файловых систем
specfs псевдосистема драйверы файловая система файлов устройств /dev
procfs псевдосистема ядро /proc - отображение процессов в структуру ФС
sockfs псевдосистема сеть соединения типа "сокет"
fifos псевдосистема файлы программные каналы (pipe API)

В довольно старых версиях UNIX поддерживалась всего одна файловая система. С увеличением разнообразия носителей возникла необходимость поддержки разнородных файловых систем на носителях разной природы. Так в 1985 году компания Sun Microsystems пришла к реализации концепции виртуальной файловой системы.

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

К 1985 году операционные системы фирмы Sun использовали Berkeley Fast Filesystem (FFS). Эта файловая система базировалась на концепции индексных дескрипторов, которая органично трансформировалась в концепцию виртуальных индексных дескрипторов в новой файловой системе UFS, вобравшей в себя структуру FFS и новые идеи организации виртуальной файловой системы. Взаимодействие независимого от конкретного типа файловой системы уровня виртуальной файловой системы и файловых систем строго определенных типов иллюстрирует рисунок 5.5.

Структура виртуальной файловой системы Solaris

Рис. 5.5. Структура виртуальной файловой системы Solaris

Файловая система UFS с 1985 года претерпела некоторые изменения. Так, начиная с выпуска Solaris 9 8/03 поддерживаются многотерабайтные разделы, в то время как до этого UFS в Solaris могла работать только с разделами размером до 1 Тб. В настоящее время большие разделы поддерживаются только в 64-разрядной версии Solaris 9.

Файловые системы UFS, VxFS и QFS, поддерживаемые в Solaris, отличаются по некоторым важным параметрам, влияющим на их надежность и производительность. Различные файловые системы обладают разными алгоритмами выделения пространства под файлы, а также механизмами журналирования.

Таблица 5.3. Некоторые свойства файловых систем UFS, VxFS и QFS
Файловая система Как выделяется пространство под файл Есть ли журналирование
UFS блоками (block) да
VxFS экстентами (extent) да
QFS экстентами (extent) нет

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

В файловой системе UFS размер блока может составлять от 512 байт до 8192 байт, по умолчанию в Solaris принят размер 8192 байт

В Solaris поддерживается журналирование (logging) файловых систем UFS и VxFS. Журналирование позволяет записывать в журнал информацию обо всех начатых транзакциях. Если транзакция (т.е. операция записи на диск) по каким-то причинам не была завершена (например, отключилось питание), то после перезапуска системы файловая система будет автоматически возвращена в состояние, в котором она была до начала транзакции. Подобную функциональность предоставляет файловая система ext3fs в Linux, reiserfs для FreeBSD и Linux и некоторые другие.

В последние годы непременным условием использования файловой системы стала поддержка современных дисков больших объемов и больших файлов. Если несколько лет назад "большим" назывался диск объемом в 1 гигабайт, то сейчас дисковые массивы объемом в несколько терабайт становятся обычными для систем среднего класса. Скоро они придут в системы малых офисов и в дома, а сети предприятий начнут работать с серверами, в которых установлены дисковые массивы, содержащие десятки и сотни терабайт информации. Что на это отвечают создатели файловых систем для UNIX?

С 1991 года файловая система UFS претерпела заметные изменения - появилась версия UFS2, которая пока поддерживается только во FreeBSD 5.0. В Solaris модификация файловой системы позволила достичь предела поддерживаемого дискового объема одного раздела UFS в 1 терабайт.