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