Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ (Часть 1) OS1...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

Файловая система

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

Э1 Модуль символьного уровня

Символьный уровень использует имя файла для нахождения соответствующего ему элемента справочника, так как справочник файлов находится на внешнем устройстве, то элемент справочника копируется в оперативную память и образует таблицу активных имён.

Функция SFS состоит в том, что необходимо установить соответствие между внешним именем файла и его внутренним идентификатором (другими словами «открыть файл»).

Э2 Модуль базового уровня

При обращении к BFS ему передаётся уникальный идентификатор и BFS сначала проверяет таблицу активного файла для того, чтобы определить, не используется ли уже файл. Если нет, то BFS считывает информацию о файле с диска таблицы активных имён. Результатом работы BFS является номер записи о файле в таблице активных имён, относящийся к запросу.

Э3 Модуль проверки прав доступа

У правление доступом и совместное использование информации данных рассматривается взаимосвязано. В большинстве систем предусмотрены механизмы идентификации пользователя, поэтому для определения прав доступа может использоваться матрица управления доступом.

Недостаток этого способа состоит в том, что пользователей много, а файлов ещё больше. Требуется ещё больше памяти в организации матрицы. Поэтому пользователей часто делят на группы. Кроме матрицы управления доступом может использоваться система паролей. Для них составляется своя таблица, пароль может соответствовать одному или нескольким файлам или одному, нескольким пользователям.

Другой способ ограничения доступа – это шифрование.

Э4 Методы доступа

Работа со многими структурами данных, соответственно средства часто называют методами доступа.

Рассмотрим структуры данных:

  1. Последовательно организованные записи фиксированной длины – последовательный и прямой доступ. При такой организации записей пользователь представляет свой файл как совокупность записей одинаковой длины Такая структура удобна для хранения файлов, содержащих, например, образы печатных строк. Последовательный доступ: характеризуется тем, что каждый запрос пользователя содержит требования: «прочитать следующую запись» - читать файл TELEFON в адрес А. В запросе опущен точный адрес. Для реализации такой возможности метод доступа должен отслеживать текущий логический адрес записи. Когда файл только открывается, этот номер равен 0. При чтении очередной записи номер увеличивается на 1 или на длину записи. Прямой доступ: характеризуется тем, что в запросе явно указывается номер требуемой записи. Логический адрес записи находится как (номер-1) * длину логической записи.

  1. Последовательно организованные записи переменной длины. В данном случае пользователь представляет файл как последовательность записей, имеющих различную длину. Эта структура данных является наиболее распространённой. Например, записи телефонного справочника, записи характеристик служащих и т.д. Существуют способы хранения такой информации, но в любом случае необходимо каким-то способом определить границы записей. Структура записей следующая:

Данные записи 1 длина записи1 данные записи2 длина записи2 ………

L1 L2

Поля L1, L2 и так далее для пользователя имеют фиксированную длину, например, 2 байта. Последовательный доступ: запрос на обработку выглядит как «читать файл TELEFON в область А». Стоит отметить, что длина области А должна быть не меньше самой длинной записи файла. Необходимо отслеживать номер текущей записи, логический адрес записи. Прямой доступ: запрос на обработку выглядит как «читать файл TELEFON, запись 4 в область А» Прямой доступ организован по сути последовательным перебором записей только без их чтения, но этот перебор скрыт от пользователя. Прямой доступ может быть неэффективен, особенно в случае больших файлов и существуют способы повышения этой эффективности:

А) Сохранить номер и адрес последней считанной записи. Если очередной запрос требует записи с большим номером, то нужно двигаться вперёд, иначе двигаться назад, или начинать перебор с начала файла. Б) Хранить таблицу номеров записей и их логических адресов (индексная таблица).

  1. Последовательно организованные записи с ключами. Предыдущие методы доступа используют для поиска записи её номер, а не её содержимое. Например, для списка работников табельный номер может

являться атрибутом для поиска, поскольку он уникален для каждого работника. Уникальный поисковый атрибут называется ключом: «К1-данные-К2-данные». Данные должны рассматриваться упорядоченно, относительно этого ключа. Логический адрес, используемый средствами прямого или последовательного доступа может быть определён просмотром всех записей с целью определения той, которая имеет нужный ключ: «читать файл TELEFON по ключу ИВАНОВ в область А». Чтобы избежать широкого поиска по данному ключу, используют символьную (индексную) таблицу, которая определяет соответствие между з начением ключа и логическим адресом записи. Очень часто используют многоуровневые таблицы.

Введение индекса позволяет существенно сократить область поиска, то есть для осуществления запроса требуется одно обращение к главному индексу, одно обращение к вторичному индексу и поиск в ограниченной последовательности в данном индексе. Основным недостатком такого метода является потребность в дополнительной памяти.

Э5 Физический уровень файловой системы

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

  1. 1. минимизация операций в/в;

  2. 2. независимость размеров физических и логических записей;

  3. 3. возможность выделения пространства для файла несмежными областями.