Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
208
Добавлен:
23.02.2015
Размер:
977.92 Кб
Скачать

Разновидности файловых систем в unix

Большинство данных в операционной системе UNIXхранится в файлах, в виде дерева и расположенных на некотором носителе. Обычно это локальный (т. е. расположенный на том же компьютере, что и сама операционная система) жесткий диск, хотя специальный тип файловой системы -NFS(NetworkFileSystem) обеспечивает возможность располагаться наCD-ROM, дискетах и других типах носителей, однако для простоты изложения сначала мы рассмотрим традиционную файловую системуUNIX, расположенную на обычном жестком диске компьютера.

Исконной файловой системой UNIXSystemV являетсяs5fs. Файловая система, разработанная в Беркли,FFS, появилась позже, в версии 4.2BSDUNIX. По сравнению с s5fs она обладает лучшей производительностью, функциональностью и надежностью. Файловые системы современных версийUNIXимеют весьма сложную архитектуру, различную для разных версий. Несмотря на это, все они используют базовые идеи, заложенные разработчикамиUNIXв AT&T и Калифорнийском университете в Беркли. Поэтому мы проиллюстрируем основные принципы организации файловой системыUNIXна примере базовых системSystemV (s5fs) иBSD(FFS), которые, кстати, и сегодня поддерживаются в большинстве версий UNIX.

Когда появилась файловая система FFS, архитектура UNIXподдерживала работу только с одним типом файловой системы. Таким образом, создатели различных версий операционной системыUNIXвынуждены были выбирать одну файловую систему из нескольких возможных. Это неудобство было преодолено введениемнезависимойиливиртуальной файловой системы -архитектуры, позволяющей обеспечивать работу с несколькими файловыми системами различных типов.

Базовая файловая система System V

Каждый жесткий диск состоит из одной или нескольких логических частей, называемых файловыми разделами (partitions). Расположение и размер раздела определяются при форматировании диска. В UNIX разделы выступают в качестве независимых устройств, доступ к которым осуществляется как к различным носителям данных.

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

Файловая система s5fsзанимает раздел диска и состоит из трех основных компонентов, как показано на рис. 15.7.

  • Суперблок (superblock). Содержит общую информацию о файловой системе, например, об ее архитектуре, общем числе блоков и индексных дескрипторов, или метаданных (inode).

  • Массив индексных дескрипторов(ilist). Содержит метаданные всех файлов файловой системы. Индексный дескриптор содержит статусную информацию о файле и указывает на расположение данных этого файла. Ядро обращается к inode по индексу в массиве ilist. Один inode является корневым (root) inode файловой системы, через него обеспечивается доступ к структуре каталогов и файлов после монтирования файловой системы. Размер массива ilist является фиксированным и задается при создании файловой системы. Таким образом, файловая система s5fs имеет ограничение по числу файлов, которые могут храниться в ней, независимо от размера этих файлов.

  • Блоки хранения данных.Данные обычных файлов и каталогов хранят­ся в блоках. Обработка файла осуществляется через inode, содержа­щего ссылки на блоки данных. Блоки хранения данных занимают большую часть дискового раздела, и их число определяет макси­мальный суммарный объем файлов данной файловой системы. Раз­мер блока кратен 512 байтам, например, файловая система S51K SCO UNIX использует размер блока в 1 кбайт (отсюда и название).

Рассмотрим подробнее каждый из перечисленных компонентов.

Соседние файлы в папке Конспекты лекций по ОС