Скачиваний:
56
Добавлен:
02.05.2014
Размер:
364.03 Кб
Скачать

7.9. Загружаемая файловая система

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

Иерархическая структура ФС дает возможность провести в иерархии уровней некоторую разграничительную линию, выше которой будут располагаться абстрактная ФС – структуры данных и алгоритмы, общие для любых ФС, а ниже – конкретная ФС со специфическими структурами и алгоритмами. Наиболее вероятно эта граница может проходить в базовой ФС, связывающей логическое представление файла с его физическим представлением. Такой подход был впервые применен в ОС Unix в связи с концепцией сетевых файловых систем. Проведение разграничительной линии на уровне базовой ФС вызывает расщепление дескриптора открытого файла на две части. Первая часть имеет общий для всех файлов формат и содержит общие для всех файлов поля, обработка которых не зависит от конкретной ФС. Это могут быть поля типа файла, размера, временные отметки и другие данные. Вторая часть – частный дескриптор – для конкретной ФС. В ней содержится план размещения файла, сведения об организации и т.д. Общая таблица томов в ядре указывает для каждого тома тип конкретной ФС, управляющей этим томом. Для каждого типа конкретной ФС ядро хранит таблицу операций – таблицу входных точек процедур, выполняющих для данной ФС стандартные функции (open, close, read и т.д.). При обращении к ФС абстрактная ФС, выполнив общие операции, определяет том и тип конкретной ФС на этом томе, выбирает соответствующую конкретной ФС таблицу входных точек и вызывает требуемую процедуру для конкретной ФС.

В системах с многоуровневыми драйверами драйвер ФС является одним из уровней, которые проходят данные на пути от процесса к устройству. При этом драйвер ФС не зависит не только от верхнего уровня – абстрактной ФС, но и от нижнего уровня – аппаратных драйверов.

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

Контрольные вопросы

  1. Поясните различие между виртуальным и физическим файлом.

  2. Охарактеризуйте основные компоненты иерархической модели файловой системы. Какие преимущества дает иерархическая модель?

  3. В чем различие между байториентированными и записеориентированными файлами? Назовите достоинства и недостатки той и другой модели.

  4. В чем отличие логической структуры каталогов в MD DOS – Windows – OS/2 от структуры каталогов в Unix?

  5. В чем достоинства и недостатки отделения дескриптора файла от элемента каталога?

  6. Какую информацию о файле должен содержать его дескриптор, хранимый в файловой системе? Какую информацию должен содержать дескриптор открытого файла?

  7. В чем сходство и различие каталогов и файлов (на логическом и на физическом уровнях)?

  8. В чем сходство и различие алиасов и косвенных файлов?

  9. Обязательно ли закрытие файла при завершении открывшего его процесса? Обязательна ли запись данных файла на диск при закрытии файла?

  10. В чем отличие смежного размещения файлов в современных файловых системах от смежного размещения файлов в старых файловых системах?

  11. Какими методами может быть обеспечено преимущественно смежное размещение файла на внешней памяти?

  12. В чем отличие целостности файловой системы от целостности данных? Какую целостность, и какими методами обеспечивают современные файловые системы?

Соседние файлы в папке Системное программирование и операционные системы