Иерархическая структура ФС

Проблема запоминания большого количества файлов решается с помощью группировки файлов – формирования иерархической структуры файлов.

 

 

Иерархия каталогов может быть организована в виде:

- дерева (Windows, MS-DOS) – файл входит только в 1 каталог

- сеть (Unix) – файл может входить в разные каталоги

Каталог верхнего уровня называется корнем (root)

 

Одноуровневая организация – частный случай иерархической структуры, когда все файлы входят в один каталог.

 

Имена файлов

Иерархически организованные ФС обычно поддерживают 3 типа имен файлов:

· Простое имя (идентифицирует файл в пределах каталога)

o NTFS – до 255 сивмолов, FAT – 8.3, unix s5 – 14 символов

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

o В этом случае для идентификации файла пользуем полное имя

· Полное имя

o Составное – состоит из цепочки простых имен всех каталогов

o Отделяются разделителем, принятым в ОС (/\), корневой каталог не учитывается

o Полные имена должны быть уникальны

· Относительное имя

o Определяется через понятие «текущий каталог»

o Путь к текущему каталогу + простое имя

· Уникальное имя – уникальное число, присваиваемое файлу ОС, предназначено только для ОС

 

Монтирование

Файловая система может иметь несколько дисковых устройств:

- жесткий диск

- гибкие диски

- компактные диски и тд

 

Как с ними работать:

1) Автономные файловые системы

Чтобы указать путь к файлу, нужно указать устройство A:\privat\letter\doc.txt

(MS-DOS)

2) Объединять файловые системы в одну – монтирование.

· Из всех файловых систем выделяется системная

· Файловая система на системном диске является корневой

· В корневой системе выбирается нужный каталог

· Этот каталог становится корневым для второй системы

· Логической разницы между обычной и смонитрованной системами нет.

 

У файла есть:

· Имя

· Данные

· Атрибуты

Набор атрибутов разный для разных ОС.

Где можно хранить атрибуты:

· В каталогах (MS-DOS)

· В спец таблицах (ссылки на эти таблицы хранятся в каталоге) – ufs UNIX. Это делает систему очень гибкой, позволяя включать файл в несколько каталогов.

 

Логическая организация файла:

По способам логической организации файла ФС делятся на:

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

· формат файла известен только программе, которая его обрабатывает

· ФС видит файл как неупорядоченный набор бит

· для работы с файлом ОС указывает смещение от начала и к-во байт, которые необходимо считать

· используется в большинстве современных ФС

· можно легко разделять файл между несколькими прилагами, каждая читает его по-своему.

- ФС со структурированными файлами

· за структуру файла отвечает ФС

· ФС видит файл как упорядоченную последовательность логических записей

· ФС дает приложению доступ к запрошенной записи (№ такой-то)

· применялась в ранних ОС (ОС\360, наприметр)

· на основе этого подхода работают СУБД

· наименьший элемент, которым оперирует прогер – логическая запись

· Их можно:

o читать последовательно (последовательный доступ) – неиндексированные файлы

o сразу указывать, какую надо (прямой доступ) – индексированные файлы. Для такой работу нужна специальная индексная таблица, где будет указано соответствие ключевых полей и адреса в памяти.

o Если этот индекс указывает на несколько полей, в которых нужную запись нужно искать последовательно – это индексно-последовательные файлы.

· ОС не может поддерживать много разных логических структур – ограниченность.