Поддерживаемые типы файловых систем
Основной ("родной") файловой системой Solaris является UFS (Unix File System). Всего Solaris 9 поддерживает 13 файловых систем, перечисленных в таблице 5.2.
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.
Рис. 5.5. Структура виртуальной файловой системы Solaris
Файловая система UFS с 1985 года претерпела некоторые изменения. Так, начиная с выпуска Solaris 9 8/03 поддерживаются многотерабайтные разделы, в то время как до этого UFS в Solaris могла работать только с разделами размером до 1 Тб. В настоящее время большие разделы поддерживаются только в 64-разрядной версии Solaris 9.
Файловые системы UFS, VxFS и QFS, поддерживаемые в Solaris, отличаются по некоторым важным параметрам, влияющим на их надежность и производительность. Различные файловые системы обладают разными алгоритмами выделения пространства под файлы, а также механизмами журналирования.
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 терабайт.