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

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

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

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

Примеры действий, при которых обычно нет необходимостив ожиданрш ответа: перечисление денег с одного банковского счета на другой, до­бавление записей в базу данных, запуск удаленной службы, пакетная обработкаи множество других.Для обработки подобных случаев системы RPC могут предоставлять средствадля так называемого асинхронного вызова RPC (asynchronous RPC). При помощиэтих средств клиент получает возможность продолжить свою работу сразу послевыполнения запроса RPC. При асинхронном вызове RPC сервер немедленно поприходу запроса отсылает клиенту ответ, после чего вызывает запрошеннуюпроцедуру. Ответ служит подтверждением того, что сервер приступил к обработ­ке RFC.

Клиент продолжает работу, снимая блокировку, сразу после получения2.2. Удаленный вызов процедур105от сервера этого подтверждения. На рис. 2.12, а приведен стандартный алгоритмвзаимодействия «запрос-ответ», а на рис. 2.12, б — алгоритм взаимодействия кли­ента и сервера в случае асинхронного вызова RPC.КлиентВызов\удаленной \процедуры \ЗапросСерверОжиданиеКлиент получения запросаОжидание результата/ Завершение/вызова/ Ответ\ВызовудаленнойпроцедурыЗавершениевызоваЗапросВызов локальнойВремя процедуры и возвращениерезультатаСерверПолучение запросаВызов локальнойпроцедурыВремя-аРис.

2 . 1 2 . Взаимодействие между клиентом и сервером в RPC традиционной схемы (а).Взаимодействие с использованием асинхронного вызова RPC (б)Асинхронные вызовы RPC также могут быть полезны в тех случаях, когдаответ будет послан, но клиент не готов просто ждать его, ничего не делая. На­пример, клиент может пожелать заранее выбрать сетевые адреса из набора хос­тов, с которыми вскоре будет связываться. В то время, пока служба именованиясоберет эти адреса, клиент может заняться другими вещами. В подобных случа­ях имеет смысл организовать сообщение между клиентом и сервером через дваасинхронных вызова RPC, как это показано на рис.

2.13. Сначала клиент вызы­вает сервер, чтобы передать ему список имен хостов, который следует подгото­вить, и продолжает свою работу, когда сервер подтверждает получение этогосписка. Второй вызов делает сервер, который вызывает клиента, чтобы передатьему найденные адреса. Комбинация из двух асинхронных вызовов RPC иногданазывается также отлолсенным синхронным вызовом RPC {deferred synchronousRPC).КлиентОжиданиеполучения запросаВызовудаленнойпроцедурыЗапрос^®Р^®РПрерывание клиентаЗавершениевызова „Возвращение^результатаПолучение запросаПодтверждениеВызов локальнойЧВремя-^процедуры Обращение к клиентупутем одностороннеговызова RPCРис. 2.13. Взаимодействие клиента и серверапосредством двух асинхронных вызовов RPC106Глава 2.

СвязьСледует отдельно отметить вариант асинхронного вызова RPC, реализующе­гося в тех случаях, когда клиент продолжает работу немедленно после посылкизапроса на сервер. Другими словами, клиент не ожидает от сервера подтверж­дения в получении запроса. Мы будем называть такие вызовы одиостороппимивызовами RPC {one-way RPC). Проблема такого подхода состоит в том, что приотсутствии гарантий надежности клиент не может быть точно уверен, что его за­прос будет выполнен. Мы вернемся к этому вопросу в главе 7.2.2.4.

Пример — DCE RPCМеханизм удаленных вызовов процедур был тщательно адаптирован для использованрш в качестве основы систем промежуточного уровня и вообще распреде­ленных систем. В этом пункте мы рассмотрим одну из специальных систем RPC:среду распределенных вычислений {Distributed Computing Environment, DCE), раз­работанную организацией OSF (Open Software Foundation), которая сейчас пе­реименована в Open Group.

Система DCE RPC не настолько популярна, какнекоторые другие системы RPC, например Sun RPC. Однако DCE RPC — пре­красный представитель систем RPC. Спецификация DCE RPC адаптирована ксистеме распределенных вычислений на базе решений Microsoft. Кроме того, какмы увидим в следующем пункте, DCE RPC вдобавок иллюстрирует отноше­ния между системами RPC и распределенными объектами. Мы начнсхМ с крат­кого введения в DCE, за которым последует обсуждение принципов работы DCERPC.Знакомство с DCEDCE — настоящая система промежуточного уровня, разработанная, чтобы абст­рагировать существующие (сетевые) операционные системы от распределенныхприложений. Изначально она была разработана под UNIX, однако в настояы^еевремя существуют версрш DCE для всех распространенных операционных сис­тем, включая VMS и Windows NT, а также операционных систем настольныхкомпьютеров.

Идея состоит в том, что покупатель может взять набор компью­теров, поставить программное обеспечение DCE и начать запускать распределен­ные приложения, и все это без каких-либо неполадок в работе существующих(нераспределенных) приложений. Хотя большая часть пакета DCE работаетв пространстве пользователя, в некоторых конфигурациях часть (отвечающая зараспределенную файловую систему) может быть добавлена и к ядру. Сама посебе организация Open Group только продает исходные тексты, а поставщикивстраивают их в свои системы.Модель программирования, лежащая в основе всей системы DCE, — это мо­дель клиент-сервер, широко обсуждавшаяся в предыдущей главе.

Процессыпользователей действуют как клиенты, вызывающие удаленные службы, предо­ставляемые серверными процессами. Некоторые из этих служб являются составны­ми частями DCE, другие же принадлежат к приложениям и написаны приклад­ными программистами. Вся связь между клиентами и серверами осуществляетсяпосредством RPC.2.2. Удаленный вызов процедур107Существуют службы, которые сами по себе образуют часть DCE.

Служба распределеппьих файлов {distributed file service) представляет собой всемирную фай­ловую систему, предоставляющую прозрачные методы доступа к любому файлусистемы одинаковым образом. Она может быть построена поверх базовых фай­ловых систем хостов или работать независимо от них. Слулсба каталогов{directory service) используется для отслеживания местонахождения любого изресурсов системы. В число этих ресурсов входят машины, принтеры, серверы,данные и многое другое. Географически они могут быть распределены по всемумиру.

Служба каталогов позволяет процессу запрашивать ресурсы, не задумыва­ясь о том, где они находятся, если это не необходимо для процесса. Служба за­щиты {security seivice) позволяет защищать ресурсы любого типа, кроме того, по­лучение некоторых данных может быть открыто только тем, кому это разрешено.И наконец, служба распределеииого времени {distributed time seivice) позволяетподдерживать глобальную синхронизацию часов различных машин. Как мы уви­дим в следующей главе, существование некоторого представления о глобальномвремени сильно упрощает гарантию целостности при параллельной работе в рас­пределенных системах.Задачи DCE RPCЗадачи систем DCE RPC вполне традиционны. Они позволяют клиенту полу­чить доступ к удаленной службе простым вызовом локальной процедуры.

Этотинтерфейс дает возможность писать клиентские (то есть прикладные) програм­мы простым, хорошо знакомым большинству программистов способом. Также онупрощает запуск в распределенной среде больших объемов существующего кода сминимальными изменениями или без них.Самое важное для системы RPC — это скрыть все возможные детали от кли­ента и до некоторой степени от сервера. Для начала система RPC может автома­тически определить необходимый сервер и установить связь между клиентом исервером.

Обычно это называется привязкой {binding). Кроме того, она можетуправлять транспортировкой сообщений в обе стороны, а также, если в этом естьнеобходргмость, их дроблением и последующей сборкой, например, если один изпараметров сообщения является большим массивом. И наконец, система RFCможет автоматически отслеживать преобразование типов данных между клиен­том и сервером, даже если они работают на системах с разной архитектурой, ко­торые имеют различный порядок следования байт.В заключение скажем несколько слов о способности систем RFC скрыватьдетали. Клиент и сервер могут быть почти независимыми друг от друга. Клиентможет быть написан на Java, а сервер на С или наоборот.

Клиент и сервер могутработать на разных платформах и использовать различные операционные систе­мы. Поддерживается также многообразие сетевых протоколов и представленийданных, все это — без какого-либо вмешательства в клиент или сервер.Написание клиента и сервераСистема DCE RFC состоит из множества компонентов.

В нее входят, в частно­сти, языки, библиотеки, программы-демоны и утилиты. Все это делает возмож-108Глава 2. Связьным создание разнообразных клиентов и серверов. В этом пункте мы опргшемчасти этих программ и то, как они стыкуются друг с другом. Общий процесс на­писания и использования клиента и сервера суммирован на рис. 2.14.[Uuidgen ]Файл определенияинтерфейса(компилятор IDL)(Компилятор^(Компилятор с)Объектный файлклиентскойзаглушкиОбъектный файлсервернойзаглушкиОбъектныйфайл сервераБиблиотекавременивыполненияБиблиотекавременивыполнениякомпоновщик^(компилятор с)(Компилятор с)Объектныйфайл клиента(компоновщикИсполняемыйфайл клиентаИсполняемыйфайл сервераРис.

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

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

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