logo
Митряев лекции / РИС гр

3. Концепции программных решений

Хотя аппаратные решения важны для РИС, наибольшее влияние на них оказывают именно программные решения. Эти решения влияют, в первую очередь, на удобство работы пользователя в РИС. С одной стороны, РИС работают как менеджеры ресурсов, помогая пользователям совместно использовать такие ресурсы как память, процессоры, периферийное оборудование, сеть и данные. В этом они подобны ОС. С другой – РИС скрывают сложность и гетерогенность аппаратуры, предоставляя виртуальную машину для выполнения приложений. Эти функции обычно выполняют ОС. Для распределенных компьютеров ОС можно разделить на две категории: сильно связанные и слабо связанные.

Сильно связанные ОС обычно называются распределенными ОС (Distributed Operation System, DOS) и используются для управления мультипроцессорными и гомогенными мультикомпьютерными системами. Основная их цель – скрыть тонкости управления аппаратным обеспечением. Слабо связанные ОС называются сетевыми ОС (Network Operation System, NOS). Они используются для управления гетерогенными мультикомпьютерными системами. Помимо традиционных функций управления ресурсами, они должны обеспечить доступ удаленных клиентов к локальным службам. Однако, для создания РИС служб сетевой ОС недостаточно. Необходимо добавить к ним дополнительные компоненты для организации поддержки прозрачности распределения. Эти компоненты образуют средства промежуточного уровня (middleware) и составляют основу современных РИС. В таблице 1. подытожены основные назначения ОС и промежуточного уровня.

Таблица 1. Краткое описание ОС и средств промежуточного уровня.

Система

Описание

Назначение

______________ Распределенные ОС

_________________________ Сильно связанные ОС для мультипроцессоров и гомогенных мультикомпьютерных систем

_________________ Сокрытие и управление аппаратным обеспечением

______________ Сетевые ОС

__________________________ Слабо связанные ОС для гетерогенных мультикомпьютерных систем (локальных или глобальных сетей)

________________ Предоставление локальных служб удаленным клиентам

______________ Средства промежуточного уровня

_________________________ Дополнительный уровень поверх сетевых ОС, реализующий службы общего назначения

__________________ Обеспечение прозрачности распределения

_________________________________________________________________ Многие распределенные приложения допускают непосредственное использование программного интерфейса, предлагаемого сетевыми операционными системами.

Так, связь часто реализуется через операции с сокетами, которые позволяют процессам на разных машинах обмениваться сообщениями (сокеты реализованы на уровне операционной системы).

Со́кеты(англ.socket— разъём) — названиепрограммного интерфейсадля обеспечения обмена данными междупроцессами. Процессы при таком обмене могут исполняться как на однойЭВМ, так и на различных ЭВМ, связанных между собойсетью. Сокет —абстрактныйобъект, представляющий конечную точку соединения.

Следует различать клиентскиеисерверные сокеты. Клиентские сокеты грубо можно сравнить с конечными аппаратамителефонной сети, а серверные — скоммутаторами. Клиентское приложение (например,браузер) использует только клиентские сокеты, а серверное (например,веб-сервер, которому браузер посылает запросы) — как клиентские, так и серверные сокеты.

Интерфейссокетов впервые появился вBSD Unix.Программный интерфейссокетов описан в стандартеPOSIX.1 и в той или иной мере поддерживаетсявсемисовременнымиоперационными системами.

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

Решение заключается в том, чтобы поместить между приложением и сетевой операционной системой промежуточный уровень программной поддержки, обеспечивающий дополнительное абстрагирование. Потому этот уровень и называется промежуточным. Он находится посредине между приложением и сетевой операционной системой.Таким образом, основную роль в построении РИС играют программные средства (службы) промежуточного уровня между сетевыми ОС и распределенными приложениями. 4. Модели промежуточного уровня.

Для упрощения разработки и интеграции РИС, основная часть промежуточного ПО должна базироваться на некоторой модели, определяющей распределение и связь.

Самая простая первая ранняя модель – представление всех объектов в виде файлов (распределенная файловая система). Пример – файловая система Unix.

В операционной системе UNIX файл является хранилищем двоичных и символьных данных, хранимых как поток байтов. В UNIXсимвольные данные кодируются с помощью кода ASCII, Вторая ранняя модель основана на удаленных вызовах процедур (Remote Procedure Calls, RPC). В этой модели акцент делается на сокрытии сетевого обмена за счет того, что процессу разрешается вызывать процедуры, реализация которых находится на удаленной машине. При вызове процедуры параметры передаются на удаленную машину, где она выполняется, после чего управление передается в точку вызова процедуры. Внешне это выглядит как обычный вызов процедуры. Более современные модели основаны на взаимодействии распределенных объектов. Пример – DCOM, COM+ (а также основанные на них технологии ActiveX). Идея распределенных объектов состоит в том, что каждый объект реализует интерфейс, скрывающий все внутренние детали реализации объекта от пользователя. Интерфейс содержит методы, реализуемые объектом, и все, что видит процесс – это интерфейсы. В Web 1.0. применяется модель распределенных документов. В этой модели информация организована в виде документов, каждый из которых размещен в каком-то месте, причем физическое размещение документа скрыто от пользователя (прозрачно). Документы могут содержать ссылки на другие документы, которые могут быть извлечены и отображены на экран. Однако, с развитием Web 2.0 эта модель претерпела значительные изменения, поскольку Web все больше наполняется программным содержимым.