Главная » Просмотр файлов » Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы)

Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (1162619), страница 30

Файл №1162619 Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы)) 30 страницаЭ. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (1162619) страница 302019-09-20СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 30)

Однако если ссылка относится к локальномуобъекту, то есть к объекту в адресном пространстве клиента, то объект, на кото­рый указывает ссылка, целиком копируется и в процессе обращения передаетсяклиенту. Другими словами, объект передается по значению.Эти две ситуации показаны на рис. 2.17, на котором изображены клиентскаяпрограмма, выполняемая на машине А, и программа-сервер, выполняемая на ма­шине С. Клиент обладает ссылкой на локальный объект 01, который использу­ется в качестве параметра при вызове серверной программы на машине С. Крометого, он обладает ссылкой на находящийся на машине В удаленный объект 02,который также используется в качестве параметра.

При вызове сервера на маши­ну С передается копия всего объекта 01 и копия ссылки на объект 02.Машина АЛокальнаяссылка L 1 .Локальныйобъект 01Машина ВУдаленныйобъект 02Удаленнаяссылка R1Код клиента с кодомзаместителя, то есть с кодомобращения RMI к серверу,находящемусяна машине СУдаленное обращение^с передачей в качествепараметров ссылок L1 и R1Г Копирование ]объекта 01Пм''XКопирование ссылки R1на объект 02Машина СКод сервера(реализация методов)Рис. 2.17. Передача объекта по ссылке и по значениюОтметим, что независимо от того, работаем ли мы со ссылкой на локальныйили глобальный объект, эта работа может быть весьма прозрачна, как, например,в Java. В Java разница будет заметна только в том случае, если локальные объек­ты будут иметь тршы данных, отличные от типов данных удаленных объектов.В противном случае оба тина ссылок будут трактоваться почти одинаково [494].С другой стороны, в традиционных языках программирования, таких как С, ссыл­ками на локальные объекты могут быть простые указатели, использовать которые вкачестве ссылок на удаленные объекты будет невозможно.120Глава 2.

СвязьДополнительный эффект обращения к методам с использованием в качествепараметра ссылки на объект состоит в возможности копирования объектов.Скрыть это невозможно, и в результате мы вынуждены явно указывать на разли­чие между локальными и распределенными объектами. Понятно, что это разлР1чие не только разрушает прозрачность распределения — оно также затрудняетнаписание распределенных приложений.2.3.5. Пример 1 — удаленные объекты DCEDCE — это пример распределенной системы, появившейся хотя и в правильномместе, но не совсем в нужное время.

Она была одной из первых распределенныхсистем, реализованных в виде промежуточного уровня поверх существующихоперационных систем, и достаточно долго вынуждена была доказывать свою со­стоятельность. К сожалению, время доказательств совпало с «рождением» уда­ленных объектов и объявлением их панацеей распределенных систем. Посколькусреда DCE была традиционной, основанной на RPC системой, для нее наступилитяжелые времена.

Она была признана устаревшей еще до того, как потребителиуспели установрггь достаточное число копий. Нет объектов — нет и разговора, а сре­да DCE их никогда не имела.Команда, создававшая среду DCE, долго убеждала адвокатов объектных тех­нологий, что в ней реализована поддержка объектов. Так, они утверждали, чтосистемы RPC по определению основаны на объектах, поскольку все вопросыреализации и распределения скрыты за интерфейсами. Однако эти аргументы некотировались, и DCE была вынуждена перейти на более явную объектную тех­нологию. В этом пункте мы рассмотрим, как DCE поддерживает распределенныеобъекты.

Объекты DCE интересны для нас тем, что они являются прямым про­должением модели клиент-сервер, основанной на RPC, и представляют собоймост от вызовов удаленных процедур к обращениям к удаленным объектам.Модель распределенных объектов DCEРаспределенные объекты были добавлены в DCE в форме расширений языка оп­ределения интерфейсов (IDL) вместе с привязками на языке C++. Другими сло­вами, распределенные объекты в DCE описываются на IDL и реализуются наC++. Распределенные объекты имеют вид удаленных объектов, реализация кото­рых находится на сервере.

Сервер отвечает за локальное создание объектов C++и обеспечение доступа к их методам с удаленных клиентских мавиин. Других спо­собов создания распределенных объектов не существует.Поддерживаются два типа распределенных объектов. Динамические распреде­ленные объекты {distributed dynamic objects) — это объекты, которые создаютсясервером локально по требованию клиента и к которым в принципе имеет дос­туп только один клиент. Для создания такого объекта сервер должен получитьзапрос от клиента.

Это означает, что каждый класс, чтобы иметь возможностьсоздавать динамические объекты, должен содержать процедуру create, которуюможно вызвать, используя стандартный механизм RPC. После создания динами-2.3. Обращение к удаленным объектам121ческого объекта управление РШ переходит к исполняющей системе DCE, связы­вающей его с тем клиентом, по требованию которого он был создан.В противоположность динамическим объектам, имеповапные распределенныеобъекты {distributed named objects) не предназначены для работы с едршственнымклиентом.

Они создаются сервером лля совместного использования нескольки­ми клртентами. Именованные объекты регистрируются службой каталогов, такчто клиент может найти объект и выполнить привязку к нему. Регистрацияозначает сохранение уникального идентификатора объекта, а также информациио том, как соединиться с сервером объекта. Разницу между динамическими и име­нованными объектами иллюстрирует рис. 2.18.Машина сервераМашина сервераДинамический ^(закрытый) объект!ИменованныйС(совместно используемый)С 1< объектАW\С Динамический Л С Динамический ^Цзакрытый) объект) Цзакрытый) объект;1Л'^1S//\Удаленнаяссылка\11•*•Клиент 1Клиент 2Клиент 3*~~~~~'~у:^*'','•/Клиент 1а,'111N\^^ ^v1•'^ф•Клиент 2Клиент 36Рис.

2.18. Распределенные динамические объекты в DCE (а).Распределенные именованные объекты (б)Обращение к удаленным объектам в DCEКак можно заметить, все обращения к удаленным объектам в DCE производятсясредствами RPC. Клиент, обращаясь к методу, передает серверу идентификаторобъекта, идентификатор интерфейса, содержащего метод, идентификацию само­го метода и параметры. Сервер поддерживает таблицу объектов. С помощью этойтаблицы сервер, получив идентификатор объекта и идентификатор интерфейса,идентифицирует объект, к которому обратился клиент. Затем он выбирает запро­шенный метод и передает ему параметры.Поскольку сервер может поддерживать тысячи объектов, DCE предоставляетвозможность не держать все объекты в памяти, а помещать их при необходимо­сти во вспомогательное хранилище данных.

Когда к серверу приходит запрос наобращение к объекту, отсутствующему в таблице объектов, исполняющая систе­ма может вызвать специализированную функцию поиска, которая извлечет объ­ект из хранилища и поместит его в адресное пространство сервера. Обращениек объекту произойдет после его помещения в оперативную память.122Глава 2. СвязьУ распределенных объектов в DCE имеется одна проблема, связанная с ихчрезвычайной близостью с RPC: не существует механизма прозрачных ссылокна объекты. Клиент имеет в лучшем случае дескриптор привязки (binding handle),ассоциированный с именованным объектом. Дескриптор привязки содержитидентификатор интерфейса, транспортный протокол, используемый для связис сервером объектов, а также адрес и конечную точку хоста сервера.

Дескрипторпривязки может быть преобразован в строку и в таком виде передан другомупроцессу.Отсутствие приемлемого механизма ссылок на объекты в пределах системыделает передачу параметров в DCE более сложной, чем в большинстве объектныхcpicTCM. Разработчик приложений для RFC должен сам придумывать механизмпередачи параметров.

На деле это означает, что необходимо явно производитьмаршалинг объектов для передачи их по значению и самостоятельно создаватьдля этого соответствующие процедуры.В качестве альтернативы разработчик может использовать делегирование.Для этого из спецификации интерфейса объекта генерируется специальная за­глушка. Заглушка работает как оболочка нужного объекта и содержит только теметоды, которые будут вызываться удаленными процессами. Заглушка можетбыть скомпонована с любым процессом, который хочет использовать этот объ­ект. Преимущества такого подхода становятся понятны, если вспомнить, что DCEразрешает передавать удаленные ссылки на заглушки в качестве параметров вы­зовов RFC.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6513
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее