Подсистема управления файлами. Задачи ОС по управлению файлами.

Одна из основных задач ОС – дать юзеру удобный доступ к файлам не его дисках. Для этого ОС подменяет физическую структуру данных более удобной для пользователя логической моделью: деревом каталогов, в котором лежат файлы.

Файл – это именованная область внешней памяти, куда можно записывать данные и откуда можно их считывать. Они хранятся в энергонезависимой ПЗУ.

Файловая система – это часть ОС, включающая:

· СОВОКУПНОСТЬ всех файлов на диске

· Все структуры, разработанные для УПРАВЛЕНИЯ файлами:

o Каталоги файлов

o Дескрипторы файлов

o Таблицы распределения свободного и занятого пространства на диске

· Программные средства для осуществления ОПЕРАЦИЙ над файлами:

o Создание

o Уничтожение

o Чтение

o Запись

o Именование

o Поиск и тд

Задачи ОС по управлению файлами:

· Именовать файлы

· Отображать логическую модель файловой системы на физическую

· Обеспечивать АПИ для программ, чтобы им легко было работать в файлами

· Обеспечить устойчивость ФС к сбоям питания, аппаратным и программным ошибкам

Плюс в мультипрограммной среде:

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

Плюс в многопользовательской среде:

· Защита файлов одного пользователя от файлов другого

· Защита от несанкционированного доступа

Логическая организация файловой системы.

Типы файлов

Файловые системы поддерживают разные функциональные типы файлов:

· Обычные файлы

o Создаются пользователем

o ОС не контролирует и не ограничивает их структуру и содержимое

o Содержимое и структура определяются приложением, которое с ними работает

o Любая ОС должна поддерживать как минимум собственные исполняемые файлы

· Файлы-каталоги

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

o Часто сюда могут входить и каталоги – получается древовидная структура

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

o В остальных отношениях каталоги рассматриваются как обычные файлы

· Специальные файлы

o Фиктивные файлы, ассоциированные с устройствами ввода-вывода

o Используются, чтобы доступ к файлам и внешним устройствам был одинаков по механизму

o Операции ввода-вывода юзер с их помощью может делать путем обычных команд записи/чтения

o Команды обрабатываются сначала ФС, а потом ОС преобразует их в команды управления устройством

· Именованные контейнеры

· Символьные связи

· Отображаемые в память файлы и тд.

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

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

Подсистема управления файлами. Задачи ОС по управлению файлами. - student2.ru

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

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

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

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

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

Имена файлов

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

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

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

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

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

· Полное имя

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

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

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

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

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

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

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

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

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

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

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

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

Подсистема управления файлами. Задачи ОС по управлению файлами. - student2.ru

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

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

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

(MS-DOS)

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

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

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

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

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

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

Подсистема управления файлами. Задачи ОС по управлению файлами. - student2.ru

У файла есть:

· Имя

· Данные

· Атрибуты

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

· Их можно:

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

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

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

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

Наши рекомендации