Реализация методов доступа в процессоре массовой памяти
Особенностью рассматриваемой ФС является наличие программируемого процессора массовой памяти.
Основное назначение МП - сглаживание дисбаланса между скоростью процессора и темпом обмена с дисковой памятью, особенно существенным при непоследовательных методах доступа - прямых, индексных, ключевых, библиотечных и т.п. В частности, ОС располагает в массовой памяти справочники, поскольку поиск элемента справочника по имени элемента реализуется ключевым методом доступа. Максимальный выигрыш от наличия массовой памяти получат задачи, обрабатывающие большие массивы информации, с произвольным доступом к элементам массива - по строкам, столбцам, диагоналям и т.п.
При организации работы с методами доступа, выполняющимися в процессоре МП, необходимо предусмотреть достаточную гибкость для того, чтобы обеспечить добавление новых методов, модификацию существующих.
Разработка новых произвольных методов доступа к файлам может происходить в два этапа. На первом этапе метод доступа реализуется в виде отдельного кластера в оперативной памяти. После "обкатки" нового метода доступа он может быть перенесен в процессор массовой памяти. Кластер теперь будет использоваться только для связи с методом доступа в массовой памяти. Более того, может одновременно существовать несколько реализаций одного метода доступа.
Для обеспечения требуемой гибкости в системе управления массовой памятью используется, как и в ОС ОМ, кластерная технология.
Файл в массовой памяти является абстрактным объектом со специфицированным набором операций. Информация об объекте содержится в массовой памяти и доступна только процедурам, реализующим объект, скрыта от программ, использующих этот объект.
Программы, выполняющиеся в процессоре массовой памяти, представляют собой совокупность модулей. Каждый модуль имеет набор процедур, реализующих этот метод доступа. Локальные данные процедур, отражающие внутреннее представление файла, располагаются в массовой памяти.
Например, локальными данными после довательного файла будет являться указатель на конец файла, текущий указатель и собственно тело файла. Все эти данные располагаются в одной области массовой памяти.
Набор процедур, реализующий метод доступа, является программой управления объектом (файлом), локальные данные (область памяти) - объектом.
Адрес локальных данных и тип файла хранятся в таблице активных файлов в задаче ОБМЕНМП для каждого открытого файла. Увязывание объекта с программой происходит при каждом обращении к операции: первым параметром операции всегда является адрес локальных данных.
Первые четыре процедуры имеют стандартные функции: инициации, терминации, отображения файла с дисков в массовую память, отображение файла из массовой памяти на диски. Остальные процедуры определяют конкретный доступ к файлу.
При запуске операционной системы задача ОБМЕНМП загружает процессор массовой памяти совокупностью модулей, реализующей все методы доступа к файлам, сохраняя только описание модулей: типы и спецификации параметров обращения к процедурам.
Таким образом, задача ОБМЕНМП является только передаточным звеном между кластером, выполняющимся в задаче пользователя, и кластером в процессоре массовой памяти: первый кластер указывает только номер процедуры кластера в МП и параметры к ней, а задача ОБМЕНМП по спецификации параметров к данной процедуре формирует обращение к соответствующей операции в процессоре массовой памяти ( в качестве параметра будет добавлен адрес локальных данных того файла, к которому идет обращение).
Реализация при помощи кластерной техники позволяет добиться желаемой гибкости при добавлении новых методов доступа, а также при модификации существующих, без изменения задачи ОБМЕНМП и кластеров, выполняющихся в адресном пространстве задачи пользователя (и тем более самих программ пользователя).