С. В. Назаров Операционные среды, системы и оболочки




Скачать 39.29 Kb.
PDF просмотр
НазваниеС. В. Назаров Операционные среды, системы и оболочки
страница123/235
Дата конвертации03.11.2012
Размер39.29 Kb.
ТипДокументы
1   ...   119   120   121   122   123   124   125   126   ...   235


Глава 5. Распределенные операционные системы и среды  2 6 7
• средства асинхронной обработки сообщений (message-oriented middleware,
MOM);
• средства удаленного вызова процедур (Remote Procedure Call, RPC);
• брокеры запроса объектов (Object Request Broker, ORB), которые находят
объекты, хранящиеся на различных компьютерах, и помогают их использовать в
одном приложении или документе.
5.8.2. Передача сообщений в распределенных системах
Единственным по-настоящему важным отличием распределенных систем от цент-
рализованных является способ взаимодействия процессов. Межпроцессное взаимодей-
ствие может осуществляться двумя способами [ 28 ]:
• с помощью совместного использования одних и тех же данных, помещенных в
разделяемую память;
• путем передачи данных друг другу в виде сообщений.
В распределенных системах не существует памяти, непосредственно доступной
процессам, работающим на разных компьютерах, поэтому единственный способ взаи-
модействия процессов - передача сообщений через сеть. Сообщение - это блок инфор-
мации, отформатированный процессом-отправителем таким образом, чтобы он был по-
нят процессу-получателю. Сообщения состоят из заголовка, обычно фиксированной
длины, и набора данных определенного типа переменной длины.
В заголовке содержатся следующие элементы:
• адреса процесса-отправителя и процесса-получателя;
• последовательный номер, являющийся идентификатором сообщения. Он может
использоваться для идентификации потерянных сообщений и дубликатов сооб-
щений в случае отказов в сети.
Набор данных представляет собой структурированную информацию, состоящую из
несколько частей:
• поле типа данных, указывающее, какие данные (целые числа, строки символов
и т. п.) передаются;
• поле длинны данных - определяет длину передаваемых в сообщении даных, т. е.
размер поля сообщения;
• поле данных - содержит передаваемые данные.
Сообщение может включать несколько элементов, состоящих из описанных трех
полей. В тех случаях, когда сообщение переносит данные одного и того же типа, поле
типа может быть опущено.
В любой сетевой ОС имеется подсистема передачи сообщений, называемая транс-
портной подсистемой, которая имеет набор средств для организации взаимодействия
процессов в сети. Назначение этой системы - экранировать детали сложных сетевых
протоколов от программистов. Подсистема позволяет процессам взаимодействовать
посредством достаточно простых примитивов. В самом простом случае системные сред-
ства обеспечения связи могут быть сведены к двум основным коммуникационным при-
митивам: один send (отправить), другой receive (получить) - для получения сообщения.
На их базе могут быть построены более мощные средства сетевых коммуникаций, та-
кие как распределенная файловая система или служба вызова удаленных процедур, кото-
рые, в свою очередь, также могут служить основой для работы других сетевых служб.


268
Назаров С. В. «Операционные среды, системы и оболочки»
Транспортная подсистема сетевой ОС имеет сложную структуру, отражающую
структуру семиуровневой модели взаимодействия открытых систем (Open System In-
terconnection, OSI). Представление сложной задачи сетевого взаимодействия компью-
теров в виде иерархии частных задач позволяет организовать это взаимодействие мак-
симально гибким образом. В это же время каждый уровень модели OSI экранирует осо-
бенности лежащих под ним уровней от вычисляющих уровней, что делает средства
взаимодействия компьютеров все более универсальными по мере продвижения вверх
по уровням. Таким образом, в процесс выполнения примитивов send и received вовлека-
ются средства всех нижележащих коммуникационных протоколов (рис. 5.25).
Несмотря на концептуальную простоту примитивов send и received, существуют
различные варианты их реализации, от правильного выбора которых зависит эффек-
тивность работы сети.
Центральным вопросом взаимодействия процессов в сети является способ их синх-
ронизации, который полностью определяется используемыми в ОС коммуникацион-
ными примитивами. В этом отношении коммуникационные примитивы делятся на бло-
кирующие (синхронные) и неблокирующие (асинхронные), причем смысл данных тер-
минов в целом соответствует смыслу аналогичных терминалов, применяемых при
описании системных вызовов и операций ввода-вывода.
г
1
Приложение
Приложение
i
кк
г
^ - "  - - >
и
Send
)
(
Receive
^ — _ _ ~ _ _ _ - ^
^ — "> -1
кк
кк
>щени
Г
Г
и
8
О
TCP/UDP
TCP/UDP
О
о
U
CS
К
ы
к L
кк
ч
I
I
У г
г
реда
I
\
е
3
г
тЗ
IP
IP
:мапе
а
|
кк
к
I
Г
г
сист
t|
Ethernet
Ethernet

в
к
кк
г
г
Сетевой адаптер
Сетевой адаптер
L
к к
L
к
Рис. 5.25
1   ...   119   120   121   122   123   124   125   126   ...   235

Разместите кнопку на своём сайте:
Рефераты


База данных защищена авторским правом ©referat.znate.ru 2012
обратиться к администрации
Школьные рефераты
Главная страница