Главная » Просмотр файлов » Ю. Вахалия - UNIX изнутри (2003)

Ю. Вахалия - UNIX изнутри (2003) (1114670), страница 65

Файл №1114670 Ю. Вахалия - UNIX изнутри (2003) (Ю. Вахалия - UNIX изнутри (2003)) 65 страницаЮ. Вахалия - UNIX изнутри (2003) (1114670) страница 652019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Отладчик может имитировать вызов и отправить ответ самостоятельно. Вместе с тем возможен и более стандартный ход: обработчик пересылает сообщение ядру при помощи изначально установленного порта 1ай поИу задания (на который отладчик обладает правами отправки).

При пересылке сообщения ядру ответ может быть послан напрямую заданию или на порт, указанный обработчиком. В последнем случае произойдет перехват ответа ядра. 278 Глава б. Межпроцессное взаимодействие С другой стороны, отладчик в состоянии перехватывать и все уведомления, передаваемые управляемому заданию, после чего он принимает решение о самостоятельной обработке уведомления или передаче его заданию. Иэ вышесказанного следует, что обработчик (или иное другое задание) может управлять заданием, если он передаст свои права на получение из порта 1ай ье(г" управляемого им задания. 6.9. Расширяемость Средства 1РС системы МасЬ разрабатывались с учетом возможности прозрачного расширения на распределегшые среды. Для расширения МасЬ 1РС иа сеть используется программа пользовательского уровня пе1шэдэегчег, даюшэл возможность взаимодействия с заданиями на удаленных машинах точно таи же, как будто эти задания выполняются на локальном компьютере.

Приложения ничего не знают об удаленном соединении, так как они продолжают использовать тот же интерфейс и набор вызовов, применяемых для локальныг коммуникаций. Приложение обычно не обладает информацией о том, является ли задание, с которым оно взаимодействует, локальным или удаленным. В системе МасЬ имеются две очень важные особенности, позволившис прозрачно расширить возможности 1РС на сеть. Во-первых, права портов используют независимое от местонахождения пространство имен.

Отправитель посылает сообщение на локальное имя порта (право отправки), при этом ои не знает, какой из объектов представлен этим портом — локальный или удаленный. Карты преобразований локальных имен портов в объект ядра погг держиваются на уровне ядра системы, Во-вторых, отправители являются анонимными. Сообщения их не идентифицируют.

Отправитель вправе переслать право на отправку в порт ответи прямо в сообщении. Ядро преобразует это таким образом, что получателю будет видно только локальное имя, действительное только для данного зада ния. Это означает, что получатель не может определить, кто является отпра. вителем сообщения. Более того, получатель даже не обязан быть владельцев права на порт ответа, ему достаточно обладать правом на отправку в этот порт. Указывая порт ответа, владельцем которого является другое задание, отправитель перенаправляет ответ на это задание.

Перечисленные возможности также могут применяться отладчиками, эмуляторами и другими программами. Функции пе1шздзегчег достаточно просты. Типичный сценарий работы программы показан на рис. 6.16. Программа песшздзепгег загружается на как. дой машине в сети. Если клиенту на узле А необходимо установить соединеиис с сервером на сервере Б, программа пе1шздэегчег на узле А установит порт. посредник, на который отправитель будет отсылать сообщения.

Затем оиа запросит сообщения, посланные на этот порт, и перешлет их программе пеЬпздзепгег узла Б, которая в свою очередь передаст их на порт сервера. 6.10. Новые возможности Ьласп 3.0 279 Если клиент ожидает ответа, он указывает в исходном сообшении порт ответа. Программа петптзйзевет на узле А получит права отправки в ответный порт. После этого пегшзйзевет на узле Б создаст порт-посредник для ответного порта и отправит право на порт-посредник сервера.

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

Задания используют эту службу для получения прав отправки на порты, зарегистрированные удаленными программами пегп зйзегчет. В отсутствии сети программа работает как локальная служба имен. Программы петазйзевет взаимодействует между собой при помощи сетевых протоколов низкого уровня, не применяя при этом сообщений !РС. 6.10. Новые возможности Масп 3.0 В системе МасЬ 3.0 были расширены некоторые возможности средств 1РС ~7!. Были преодолены проблемы, возникавшие в ОС версии 2.5. Изменения коснулись как интерфейсной части, так и внутренних структур данных и используемых алгоритмов. В этом разделе показаны основные усовершенствования подсистемы 1РС.

Главной проблемой Мас!т 2.5 является передача прав. Средства 1РС тесно интегрируются с технологией «клиент-сервер», Обычно клиент посылает сооб- 280 Глава 6, Межпроцессное взаимодействие щенне, содержащее право отправки в порт ответа, владельцем которого он является. После генерации ответа серверу нет необходимости далее поддерживать посланное ему право.

С другой стороны, сервер не может после обработки запроса освободить порт, так как существует вероятность использования этого порта другой нитьк> серверного приложения, обрабатывающей одновременно другой запрос от того же задания. Ядро преобразует одно и то же право отправки для следуьощих нитей в одно и то же имя, следовательно, сервер обладает единым правом отправки на указанный порт.

Если нить, обработавшая первый запрос, освободит право, то вторая нить уже не сможет отправить на этот порт ответное сообщение. Означенная проблема решена серверами просто: они никогда не освобождают присланные им права отправки. Однако это приводит к необходимости решения уже новых проблем. Во-первых, появляется определенный риск безопасности работы; клиент может не желать, чтобы сервер постоянно имел право на отправку сообщений в его порт. Также существует проблема усложнения обработки «раздутых» таблиц преобразований, что влияет на общую производительность системы. И наконец, при удалении порта клиентом серверу приходится обрабатывать нс нужные ему уведомления об этом событии, Ядро обязано разослать такие уведомления всем серверам, которые имеют права на отправку в удаляемый порт, серверы, в свого очередь, должны получить и обработать их, даже если судьба порта их не интересует.

В системе Масьь 3.0 введены новые средства, позволяющие решить эту проблему: права на однократную отправку, запросы уведомлений н пользовательские ссылки на права отправки. 6.10.1. Права на однократную отправку Право на однократную отправку в порт — это, как и следует из его названия, право на отправку, которое может быть использовано только один раз. Такое право создается заданием-владельцем права на получение из порта и в дальнейшем может передаваться между заданиями.

Оно дает гарантию на получение ответного сообщения именью из указанного в нем порта. Обычно такое право применяется для использования порта в качестве получателя ответного сообщения и отзывается сразу после передачи на него ответа. Если право аннулируется вследствие других причин (ььаььример, при завершения работы его владельца), то вместо ответа ядром будет отослано однократное уведомление. В системе Маса права на однократную отправку используются для указания портов ответа. Такое право удаляется сразу после получения ответного сообщения, следовательно, теперь сервер не продолжает удерживать не нужные ему права.

Такой подход защищает от необходимости обработки излишних уведомлений, создаваемых при удалении порта клиентом. б.10. Новые возможности Масп 3.0 281 6 10.2. Уведомления в Масп 3.0 В системе МасЬ 2.5 уведомления отправлялись заданиями асинхронно в ответ иа различные системные события. Задания не могли контролировать процесс получения таких уведомлений. В большинстве случаев информация о произошедших событиях не нужна заданиям, поэтому уведомления просто уничтожаются. Однако существование таких излишних уведомлений влияет на общую производительность системы.

Более того, использование единого порта для уведомления всех нитей задания приводит к определенным ограничениям. Одна из нитей может перехватить и изъять уведомление, ожидаемое другой нитьк> задания. Г1рименение пользовательских библиотек увеличило вероятность такого варианта развития событий, так как основные программы и библиотеки используют уведомления независимо друг от друга и обрабатывают их различными способами. В системе МасЬ 3.0 уведомления отправляк>тся только тем заданиям, которые запросили их при помощи вызова щасЬ рог~ ~еццезГ по11Всас1оп.

При этом запросе используется право на однократную отправку в порт уведомлений. Таким образом, в ОС МасЬ 3.0 появилась возможность использования нескольких портов уведомлений внутри одного задания. Каждый программный компонент или нить может теперь указать собственный порт уведомлений, защитив себя тем самым от вышеуказанных проблем. 6.10.3. Подсчет прав на отправку Если задание дает несколько прав отправки для одного порта, ядро использует для всех них единое имя в пространстве имен портов, комбинируя тем самым все права в единое право на отправку. Если одна из нитей освободит право, ни одна другая нить больше не сможет воспользоваться им, даже если зта нить затребовала данное право ранее самостоятельно.

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

Тип файла
PDF-файл
Размер
8,36 Mb
Тип материала
Высшее учебное заведение

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

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