Распределенный обмен сообщениями
Распределенный обмен сообщениями
Предположим, что мы пожелали изменить приведенный выше пример, чтобы можно было «поговорить» с другим узлом сети. Вы, наверное, думаете, что для этого придется вызывать специальные функции, чтобы «попасть в сеть». Вот сетевой вариант нашей программы:
#include <fcntl.h>
#include <unistd.h>
int main(void) {
int fd;
fd = open("/net/wintermute/home/rk/filename", O_WRONLY);
write(fd, "Это обмен сообщениями ", 24);
close(fd);
return (EXIT_SUCCESS);
}
Вы будете правы, если скажете, что в обеих версиях программы почти одинаковы. Так и есть.
В традиционной ОС функция open() библиотеки Си вызывает ядро, которое анализирует имя файла и говорит: «Опа! Это не на нашем узле…» Ядро затем вызывает сетевую файловую систему NFS, которая уже определяет, где в действительности находится файл /net/wintermute/home/rk/filename. Затем, NFS вызывает сетевой драйвер и посылает сообщение ядру на узле wintermute, которое повторяет весь процесс, описанный нами в нашем первоначальном примере. Заметьте, что в этом случае оказываются вовлеченными две файловые системы, одна из которых — сетевая файловая система (NFS) клиента, а вторая — удаленная. К сожалению, в зависимости от реализации как удаленной файловой системы, так и NFS, некоторые операции (например, блокировки файлов) могут работать некорректно из-за неполной совместимости.
В QNX/Neutrino функция open() Си-библиотеки создает точно такое же сообщение, какое она создала бы для локальной файловой системы, и посылает его файловой системе узла wintermute. Локальная и удаленная файловые системы при этом абсолютно одинаковы.
Это и есть еще одна фундаментальная особенность QNX/Neutrino: распределенные операции выполняются в ней абсолютно «непринужденно», поскольку потребности клиентов изначально абстрагированы от служебных функций, обеспечиваемых серверами, благодаря механизму обмена сообщениями.
В традиционном ядре действует «двойной стандарт», когда локальные сервисы реализуются одним способом, а удаленные (сетевые) — совершенно другим.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Обмен сообщениями
Обмен сообщениями В данной главе вы ознакомитесь с наиболее яркой и фундаментальной особенностью QNX/Neutrino — принципом обмена сообщениями. Вы изучите, что такое обмен сообщениями, как его применять для общения потоков между собой, и как обмениваться сообщениями по сети.
Глава 2 Обмен сообщениями
Глава 2 Обмен сообщениями Введение в обмен сообщениями В данной главе мы рассмотрим наиболее характерную отличительную особенность QNX/Neutrino — механизм обмена сообщениями. Обмен сообщениями в QNX/Neutrino — ключевой механизм, глубоко интегрированный с микроядерной
Введение в обмен сообщениями
Введение в обмен сообщениями В данной главе мы рассмотрим наиболее характерную отличительную особенность QNX/Neutrino — механизм обмена сообщениями. Обмен сообщениями в QNX/Neutrino — ключевой механизм, глубоко интегрированный с микроядерной архитектурой этой операционной
Микроядро и обмен сообщениями
Микроядро и обмен сообщениями Одним из основных преимуществ QNX/Neutrino является то, что данная операционная система является масштабируемой. Под «масштабируемостью» здесь подразумевается, что данная система может быть адаптирована к работе как в крошечных встраиваемых
Обмен сообщениями и модель «клиент/сервер»
Обмен сообщениями и модель «клиент/сервер» Представьте, что приложение читает данные из файловой системы. На языке QNX это значит, что данное приложение — это клиент, запрашивающий данные у сервера.Модель «клиент/сервер» позволяет говорить о нескольких рабочих
Обмен сообщениями и многопоточность
Обмен сообщениями и многопоточность При том, что модель «клиент/сервер» проста для понимания и очень широко используется, существуют две вариации на данную тему. Первая — многопоточная реализация (об этом речь в данной главе), вторая — так называемая модель
Обмен сообщениями в сети
Обмен сообщениями в сети Прозрачный обмен сообщениями в сети не поддерживается в версии QNX/Neutrino 2.00, но это намечено к реализации в более поздних версиях данной ОС. (Поддержка этого механизма реализована в QNX/Neutrino, начиная с версии 2.11, и присутствует в QNX Realtime Platform, начиная
Обмен сообщениями микроядра
Обмен сообщениями микроядра Модель обмена сообщениями — это тот фундамент, на котором стоит архитектура любой микроядерной ОС, как на трех китах: SEND — RECEIVE — REPLY. Обмен сообщениями микроядра построен на трех группах вызовов native API QNX (рис. 5.1):1. Принять сообщение. Процесс[38],
16.5 Идентификация получателя и обмен сообщениями
16.5 Идентификация получателя и обмен сообщениями В Интернете получатель почтового сообщения идентифицируется по имени с использованием следующего общего формата:локальная_часть@имя_доменаЭтот формат очень гибок. Многие годы в Интернете предпочитали формат с
16.18 Обмен сообщениями через X.400
16.18 Обмен сообщениями через X.400 Всемирный телекоммуникационный союз (ITU) несет ответственность за поддержку международных коммуникаций и выпуск рекомендаций для обеспечения телеграфной, телефонной и факсимильной связи между странами.Сектор стандартов этой организации
Обмен мгновенными сообщениями
Обмен мгновенными сообщениями Со временем, когда ваш журнал обрастет могучей кучкой друзей, читателей и почитателей, у вас наверняка возникнет желание хотя бы изредка переброситься с ними парой слов не через посредство самого блога, а как-то более конфиденциально.В
Обмен быстрыми сообщениями в сети MSN
Обмен быстрыми сообщениями в сети MSN Протокол MSNP (от англ. Mobile Status Notification Protocol – протокол для мобильного оповещения) используется в программах MSN Messenger, Windows Messenger, которые уже несколько устарели, но продолжают эксплуатироваться, а также в программе Windows Live Messenger (рис. 5.7),
9.4. ICQ: мгновенный обмен сообщениями
9.4. ICQ: мгновенный обмен сообщениями ICQ — самый популярный сервис мгновенного обмена сообщениями на наших просторах. Это не отечественный сервис, но у нас он прижился лучше, чем все остальные сервисы подобного рода. Практически у каждого интернет-пользователя есть свой
Обмен мгновенными сообщениями
Обмен мгновенными сообщениями Теперь перейдем к краткому обзору других служб Интернета. Среди них одной из наиболее популярных сегодня является обмен мгновенными сообщениями.Эта служба позволяет людям общаться между собой с помощью коротких сообщений еще более