Ядро и Администратор процессов взаимодействуют с Сетевым администратором через специальную неблокирующую очередь в памяти. Фактически эта очередь представляет собой список передач, которые должен выполнить Сетевой администратор. Элементы очереди содержат всю информацию для конкретных операций (например, Send(), Reply(), создание виртуального канала, передача сигнала на другой узел и т.д.).
Другим ресурсом, который использует операционная система для обеспечения прозрачной передачи сообщений, является буфер виртуального канала. При создании виртуального канала этому буферу выделяется память для хранения в нем данных в течение всего времени передачи их на другой узел.
На рис.26 представлены потоки данных и управляющих воздействий при передаче сообщений удаленным узлам.
![]() |
Процесс выдает Send() или Reply() удаленному узлу Рис. 26 |
В случае выдачи Send() или Reply() на удаленный узел, происходят следующие действия:
В случае передачи сигнала или создании ВК заявку в очередь ставит не ядро, а Администратор процессов. При этом Сетевой администратор обеспечивает передачу информации по назначению таким же образом.
На рис. 27 представлены потоки данных и управляющих воздействий при приеме сообщений от удаленного узла.
![]() |
Процесс принимает Send() или Reply() от удаленного узла. Рис. 27 |
Если удаленный узел послал сообщение так, как это было описано выше, то на узле, принимающем сообщение, будет происходить следующее:
Любые управляющие сообщения, принимаемые Сетевым администратором, немедленно передаются Администратору процессов посредством стандартной функции Send(). Эти управляющие сообщения используются для передачи сигналов и создания ВК.