Иерархическая структура ФС
Проблема запоминания большого количества файлов решается с помощью группировки файлов – формирования иерархической структуры файлов.
Иерархия каталогов может быть организована в виде:
- дерева (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 Если этот индекс указывает на несколько полей, в которых нужную запись нужно искать последовательно – это индексно-последовательные файлы.
· ОС не может поддерживать много разных логических структур – ограниченность.