Статья: Механизмы межпроцессных взаимодействий в операционной системе Unix

Одна из возможных конфигураций программных гнезд

Допустимые комбинации протоколов и драйверов задаются при конфигурации системы

во время работы системы менять нельзя

По духу организация программных гнезд близка к идее потоков

Но менее гибкая схема

не допускает изменения конфигурации "на ходу"

Взаимодействие процессов основано на модели "клиент-сервер"

процесс-сервер "слушает (listens)" свое программное гнездо

процесс-клиент пытается общаться с процессом-сервером через другое программное гнездо

ядро поддерживает внутренние соединения и маршрутизацию данных от клиента к серверу

Программные гнезда с общими коммуникационными свойствами, такими как способ именования и протокольный формат адреса, группируются в домены

"домен системы UNIX" для процессов, которые взаимодействуют через программные гнезда в пределах одного компьютера

"домен Internet" для процессов, которые взаимодействуют в сети в соответствии с семейством протоколов TCP/IP

Два типа программных гнезд

с виртуальным соединением (stream sockets)

дейтаграммные гнезда (datagram sockets)

Виртуальные соединения:

передача данных от клиента к серверу в виде непрерывного потока байтов с гарантией доставки

до начала передачи данных должно быть установлено соединение

Дейтаграммные программные гнезда:

не гарантируют абсолютной надежной, последовательной доставки сообщений и отсутствия дубликатов дейтаграмм

не требуется предварительное установление соединений

По умолчанию обеспечивается подходящий протокол для каждой допустимой комбинации "домен-гнездо"

TCP для виртуальных соединений

UDP для дейтаграммного способа коммуникаций

Создание нового программного гнезда:

sd = socket(domain, type, protocol);

domain - домен гнезда

К-во Просмотров: 368
Бесплатно скачать Статья: Механизмы межпроцессных взаимодействий в операционной системе Unix