Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Обмен данными через программные каналыКаналы передачи данных являются универсальным средством обмена, позволяющим организовывать передачу данных как между локальными процессами на одной ЭВМ, так и между процессами, которые запущены на нескольких ЭВМ, объединенных в сеть. С точки зрения физической организации, программный канал – это файл специального типа, создаваемый в системе. В него из существующего в системе процесса могут записываться данные, и они же могут читаться в другом процессе. Через один и тот же канал данные могут передаваться только между двумя процессами, то есть здесь реализуется связь «один к одному». Один из процессов создает канал, другой открывает, после чего оба процесса могут обращаться к каналу с целью передачи данных между собой, используя для этого файловые функции чтения и записи. Существует два вида программных каналов: 1. Неименованные (анонимные) каналы; 2. Именованные каналы. Программные каналы могут быть реализованы несколькими способами. В простейшем случае, процесс-сервер создает канал, или, точнее, одну реализацию канала, которая используется для обмена с другим процессом-клиентом. Простым примером подобной реализации каналов является так называемая конвейерная обработка команд в системах Unix. (bash# rog1|prog2) «|» - символ конвейеризации. Оба процесса являются дочерними для оболочки. После создания обоих процессов, командный процессор создает программный канал, то есть специальный файл для передачи данных от prog1 к prog2. Другим способом реализации каналов является организация взаимодействия одного серверного процесса с несколькими клиентскими.
Серверный процесс создает несколько реализаций каналов по одной на клиентский процесс (один ко многим). Примером может служить процесс на сервере БД, который принимает запросы от нескольких клиентских процессов и формирует на них ответы. Другой способ – взаимодействие и обмен нескольких серверных процессов с несколькими клиентскими (NàN). Этот способ реализации каналов в Windows известен как Mailslots – обмен с помощью почтовых ящиков.
Дата добавления: 2014-10-10; просмотров: 337; Нарушение авторских прав Мы поможем в написании ваших работ! |