А.Н. Томилин - Операционные системы супер-ЭВМ (1156254), страница 6
Текст из файла (страница 6)
При организации работы с методами доступа, выполняющимися в процессоре МП, необходимо предусмотреть достаточную гибкость для того, чтобы обеспечить добавление новых методов, модификацию существующих.
Разработка новых произвольных методов доступа к файлам может происходить в два этапа. На первом этапе метод доступа реализуется в виде отдельного кластера в оперативной памяти. После "обкатки" нового метода доступа он может быть перенесен в процессор массовой памяти. Кластер теперь будет использоваться только для связи с методом доступа в массовой памяти. Более того, может одновременно существовать несколько реализаций одного метода доступа.
Для обеспечения требуемой гибкости в системе управления массовой памятью используется, как и в ОС ОМ, кластерная технология.
Файл в массовой памяти является абстрактным объектом со специфицированным набором операций. Информация об объекте содержится в массовой памяти и доступна только процедурам, реализующим объект, скрыта от программ, использующих этот объект.
Программы, выполняющиеся в процессоре массовой памяти, представляют собой совокупность модулей. Каждый модуль имеет набор процедур, реализующих этот метод доступа. Локальные данные процедур, отражающие внутреннее представление файла, располагаются в массовой памяти. Например, локальными данными последовательного файла будет являться указатель на конец файла, текущий указатель и собственно тело файла. Все эти данные располагаются в одной области массовой памяти.
Набор процедур, реализующий метод доступа, является программой управления объектом (файлом), локальные данные (область памяти) - объектом.
Адрес локальных данных и тип файла хранятся в таблице активных файлов в задаче ОБМЕНМП для каждого открытого файла. Увязывание объекта с программой происходит при каждом обращении к операции: первым параметром операции всегда является адрес локальных данных.
Первые четыре процедуры имеют стандартные функции: инициации, терминации, отображения файла с дисков в массовую память, отображение файла из массовой памяти на диски. Остальные процедуры определяют конкретный доступ к файлу.
При запуске операционной системы задача ОБМЕНМП загружает процессор массовой памяти совокупностью модулей, реализующей все методы доступа к файлам, сохраняя только описание модулей: типы и спецификации параметров обращения к процедурам.
Таким образом, задача ОБМЕНМП является только передаточным звеном между кластером, выполняющимся в задаче пользователя, и кластером в процессоре массовой памяти: первый кластер указывает только номер процедуры кластера в МП и параметры к ней, а задача ОБМЕНМП по спецификации параметров к данной процедуре формирует обращение к соответствующей операции в процессоре массовой памяти ( в качестве параметра будет добавлен адрес локальных данных того файла, к которому идет обращение).
Реализация при помощи кластерной техники позволяет добиться желаемой гибкости при добавлении новых методов доступа, а также при модификации существующих, без изменения задачи ОБМЕНМП и кластеров, выполняющихся в адресном пространстве задачи пользователя (и тем более самих программ пользователя).
3.5. Кластеры файловой системы.
ФС ОС ОМ состоит из системной задачи АРХИВ, псевдозадачи ОБМЕНМД, псевдозадачи ОБМЕНМП и программ, реализующих методы доступа к файлам, выполняющихся в адресном пространстве задачи пользователя (см. рис.3).
Расположение программ доступа в пространстве пользователя позволяет снизить накладные расходы по доступу к отдельной записи файла. Для реализации программ методов доступа в файловой системе ОС ОМ используется кластерная техника.
При декомпозиции ФС на отдельные замкнутые компоненты элементами структуризации являются задачи ОС - АРХИВ, ОБМЕНМД, ОБМЕНМП, классы методов доступа. Такая декомпозиция позволяет представить ФС в виде многоуровневой иерархии элементов (см. рис.17).
Существует три основных уровня, на которые расслаивается файловая система: уровень структурированных файлов, уровень базового файла и физический уровень работы с файлами.
В файловой системе каждому методу доступа соответствует свой класс управления файлом соответствующей структуры. Каждый класс в иерархии характеризуется своим набором операций и собственным представлением файла на внешней памяти.
Для обеспечения независимости рабочих программ от операционной среды выполнения в ФС широко используются свойства эквивалентности классов. Система открыта для реализации собственных методов доступа. Рассмотрим более подробно функции каждого уровня.
Задачи АРХИВ, ОБМЕНМД и ОБМЕНМП реализуют физический уровень работы с файлами, открывающихся в дисковой и массовой памяти. Эти компоненты ФС решают вопросы отображения объектов на внешнюю память, обеспечения секретности, синхронизации, сохранности, именования, обменов, распределения внешней памяти, хранения атрибутов. Данный уровень выполняет операции открытия, закрытия, создания, уничтожения объектов, записи или чтения группы блоков, расширения пространства в рамках максимального размера, записи или чтения атрибутов.
Уровень базового файла реализуется классом управления базовым файлом прямого доступа с длиной записи в один блок. Базовый файл реализует соответствующие обращения к задачам АРХИВ, ОБМЕНМД, ОБМЕНМП, управляет наращиванием файла в рамках максимального размера. Класс включает операции открытия, закрытия, создания, ликвидации, записи, чтения, записи и чтения атрибутов.
Классы управления структурированными файлами реализуют определеннную структуру представления в рамках базового файла и обеспечивает необходимый набор операций.
Стандартными структурированными файлами являются последовательные, прямые и ключевые файлы. Кроме того файлы подразделяются на файлы с постоянной и с переменной длиной записи, на файлы, размер записи которых вычисляются с точностью до байта либо до слова.
Последовательные файлы помимо стандартных операций открытия, закрытия, создания и уничтожения содержат операции установки текущего указателя на начало, конец или предыдущую запись; чтения текущей записи; занесения записи по текущему указателю; записи или чтения атрибутов файла.
Прямые файлы помимо стандартных операций имеют операции чтения записи по ее номеру, занесения записи по ее номеру, записи или чтения атрибутов файла.
Ключевые файлы помимо стандартных операций имеют операции занесения записи по ключу, выборки записи по ключу, записи или чтения атрибутов файла.
На каждом уровне представления файла в файловой системе файл имеет соответствующие атрибуты. На уровне задач АРХИВ, ОБМЕНМД, ОБМЕНМП такими атрибутами является таблица отображения файла на внешние устройства, права доступа, режим синхронизации.
Атрибутами базового файла являются текущий и максимальный размер файла.
Атрибутом последовательного файла является размер записи и адрес последней записи.
Часть атрибутов защищена (карта памяти), доступна только для тех компонентов, которые являются их владельцами (АРХИВ, ОБМЕНМД, ОБМЕНМП). Некоторые атрибуты могут меняться специальными командами (смена прав доступа, наращивание размера файла). Для остальных атрибутов обеспечивается их хранение и выборка по ключам. При создании файла соответсвующий кластер заносит характеризующие его атрибуты в область атрибутов файла со свойственным его классу ключом. При последующих открытиях кластер выбирает атрибуты по ключу. Отсутствие атрибута с данным ключом будет означать, что кластер не может обрабатывать структуру открытого файла (то есть файл создавался кластером другого класса). Замена класса в иерархии на эквивалентный (см. рис.17) не отразится на компоненте, использующем этот класс. Например, в файловой системе существуют типы базового файла для файлов на диске и в массовой памяти. Эти типы эквивалентны. Структурированные файлы одинаковым образом работают с такими файлами. Тип базового файла, с которым работает последовательный, задается как параметр при объявлении экземпляра последовательного файла на этапе компоновки.
3.6. Транспортная служба локальной сети ЭВМ.
Транспортная служба ОС ОМ (будем в дальнейшем обозначать ее ТС) разработана для высокоскоростной локальной сети ЭВМ "Электроника ССБИС", в которую входят основные машины (ОМ), внешние машины (ВМ), управляющие машины (УМ). Каждой входящей в сеть ЭВМ поставлен в соответствие свой уникальный сетевой номер. Средством комплексирования является высокоскоростной асинхронный канал ввода-вывода. Локальная сеть ЭВМ "Электроника ССБИС" - это сеть с топологической схемой "точка-точка", то есть высокоскоростным каналом ввода-вывода связана каждая пара ЭВМ, между которыми могут возникать потоки полезной информации.
Наличие в операционной системе основной машины транспортного сервиса предполагает существование в ней псевдозадачи ОС ОМ, отвечающей за транспортные функции, которую в дальнейшем будем называть транспортной задачей или станцией.
Транспортная станция:
-
предназначена для обмена информацией между процессами, выполняющимися на разных ЭВМ;
-
является средством, на котором базируется функциональное управление в локальной сети.
Взаимодействие ТС с другими задачами, выполняющимися в ОМ, осуществляется через аппарат сообщений, поддерживаемый ядром ОС ОМ. Любой заказ на пользование услугами ТС оформляется как сообщение для ТС. Ответ по исполнении заказа транспортной службой - ответное сообщение. Согласно логике построения аппарата сообщений, на каждое заданное сообщение выдача ответного обязательна.
3.6.1. Услуги транспортной службы.
Основная цель ТС - обеспечить ее пользователей (будем их называть абонентами ТС), расположенных на разных ЭВМ сети, средствами прозрачной и надежной передачи информации.
Требование прозрачности означает, что ТС не ограничивает содержимое, формат или кодирование пользовательской информации.
Требование надежности означает, что ТС гарантирует безошибочную доставку пользовательской информации. В ходе транспортных взаимодействий абонентов передаваемая ими информация может пропадать, но коль скоро она доставлена абоненту транспортной службой, то гарантируется, что она правильная, неиспорченная.
Предлагаемая транспортная служба является ориентированной на установление соединения: взаимодействие между абонентами ТС осуществляется через динамически устанавливаемые транспортные соединения. В связи с этим можно выделить три группы услуг ТС: услуги фазы установления соединения, услуги фазы переноса данных и услуги фазы терминации соединения.
3.6.2. Услуги фазы установления соединения.
Транспортное соединение может быть установлено между двумя абонентами, находящимися на соседних ЭВМ локальной сети, то есть на таких ЭВМ, которые связаны между собой асинхронным каналом ввода-вывода. Абоненты, находящиеся на ЭВМ, напрямую не соединенных между собой таким каналом, устанавливать между собой транспортное соединение не могут.
Установление транспортного соединения происходит при участии обеих сторон - будущих партнеров по соединению, причем требуется выполнение ими разных операций по установлению соединения: активных от одной стороны и пассивных от другой. Пассивные операции могут быть двух различных типов, активные - уникальны.
3.6.3. Услуги фазы переноса данных.
Транспортное соединение - это ассиметричный путь следования информации. Взаимодействие абонентов по установленному соединению - это взаимодействие типа "удаленного вызова процедуры". Оно происходит по инициативе одной стороны (активная сторона), посылающей свою информацию. Другая сторона (пассивная) может выполнять пересылку лишь в ответ на инициативу активной стороны. Активной стороной при обмене информацией по соединению является та же сторона, что и при установлении соединения. Протокольная единица данных, посылаемых от активной стороны к пассивной, называется сообщением-вопросом или просто вопросом. Протокольная единица данных, посылаемых пассивной стороной, называется ответом (сообщением-ответом). Сообщение-ответ может быть отправлено лишь в ответ на ранее полученное соответствующее ему сообщение-вопрос. Вопрос может состоять из произвольного числа фрагментов, выдаваемых абонентом последовательно. Ответ передается одним обращением к транспортной задаче и является одновременно и подтверждением получения пассивной стороной соответствующего вопроса. Все сообщения, отправляемые по транспортному соединению, считаются равноприоритетными и не могут при передаче обгонять друг друга. Прием сообщений от партнера по соединению ведется не в специальные буфера ТС, а в собственные буфера пользователя, ранее им для этой цели предоставленные. Транспортная служба не гарантирует доставку сообщений. Сообщения при передаче могут пропадать. Решение о повторении обмена сообщениями принимает абонент - активная сторона.
3.6.4. Услуги фазы терминации соединения.
Транспортное соединение терминируется по инициативе любой стороны, а также при разрыве связи по каналу ввода-вывода, поддерживающему это соединение. Транспортная служба гарантирует, что во время нового сеанса взаимодействий по новому транспортному соединению абонент не получит сообщений, передававшихся в предыдущем сеансе.
Процесс установления соединения в любой его стадии может быть также терминирован.
3.6.5. Порт и точка доступа.
Порт - это некоторая абстракция ввода-вывода в программе. Транспортное соединение можно устанавливать между портами. Точка доступа - это совокупность ресурсов, необходимых для реализации этой абстракции.
Каждый абонент ТС имеет право работать с произвольным числом портов. Каждому выбранному для работы порту абонент присваивает произвольный номер от 0 до 255.
При оформлении заказов на пользование услугами ТС по установлению соединения порт идентифицируется присвоенным ему номером.
При оформлении заказов на пользование услугами ТС по переносу данных , терминации соединения, порт идентифицируется номером точки доступа. Этот номер транспортная служба сообщает абоненту при установлении транспортного соединения.
3.6.6. Примитивы транспортной службы.
Услуги ТС с точки зрения пользователя есть некоторый базовый набор выполняемых ею функций, к каждой из которых можно обратиться заданием отдельного примитива (средство, с помощью которого транспортные услуги становятся доступными абоненту ТС).