Сети и системы телекоммуникаций. Погонин В.А - 17 стр.

UptoLike

Рис. 2.2. Взаимодействие двух компьютеров
те они обеспечивают передачу по кабелю между компьютерами одного байта информации. "настоя-
щих" локальных сетях подобные функции передачи данных в линию связи выполняются сетевыми
адаптерами и их драйверами.)
Итак, механизм обмена байтами между двумя компьютерами определен. Теперь нужно договорить-
ся о правилах обмена сообщениями между приложениями А и В. Приложение В должно "уметь" рас-
шифровать получаемую от приложения А информацию. Для этого программисты, разрабатывавшие
приложения А и В, строго оговаривают форматы сообщений, которыми будут обмениваться приложе-
ния, и их семантику. Например, они могут договориться о том, что любое выполнение удаленной опе-
рации печати начинается с передачи сообщения, запрашивающего информацию о готовности приложе-
ния В; что в начале сообщения идет число, определяющее длину данных, предназначенных для печати;
что признаком срочного завершения печати является определенная кодовая комбинация и т.п. Тем са-
мым, как будет показано дальше, определяется протокол взаимодействия приложений.
Вернемся к последовательности действий, которые необходимо выполнить для распечатки текста
на принтере "чужого" компьютера.
1. Приложение А формирует очередное сообщение (содержащее, например, строку, которую необ-
ходимо вывести на принтер) приложению В, помещает его в буфер оперативной памяти и обращается к
ОС с запросом на передачу содержимого буфера на компьютер В.
2. ОС компьютера А обращается к драйверу COM-порта, который инициирует работу контроллера.
3. Действующие с обеих сторон пары драйверов и контроллеров COM-порта последовательно, байт
за байтом, передают сообщение на компьютер В.
4. Драйвер компьютера В периодически выполняет проверку на наличие признака завершения
приема, устанавливаемого контроллером при правильно выполненной передаче данных, и при его появ-
лении считывает принятый байт из буфера контроллера в оперативную память, тем самым делая его
доступным для программ компьютера В. В некоторых случаях драйвер вызывается асинхронно, по пре-
рываниям от контроллера. Аналогично реализуется и передача байта в другую сторону – от компьютера
B к компьютеру A.
5. Приложение В принимает сообщение, интерпретирует его, и в зависимости от того, что в нем
содержится, формирует запрос к своей ОС на выполнение тех или иных действий с принтером. В нашем
примере сообщение содержит указание на печать текста, поэтому ОС передает драйверу принтера за-
прос на печать строки.
Далее выполняются все действия 1–5, описывающие выполнение запроса приложения к ПУ в соот-
ветствии с рассмотренной ранее схемой "локальная ОС – драйвер ПУ – контроллер ПУ – устройство
управления ПУ" (см. предыдущий раздел). В результате строка будет напечатана.
Рассмотрели последовательность работы системы при передаче только одного сообщения от при-
ложения А к приложению В. Однако порядок взаимодействия этих двух приложений может предпола-
гать неоднократный обмен сообщениями разного типа. Например, после успешной печати строки
предыдущем примере) согласно правилам, приложение В должно послать сообщение-подтверждение.
Это ответное сообщение приложение B помещает в буферную область оперативной памяти, а далее с
помощью драйвера COM-порта передает его по каналу связи в компьютер А, где оно и попадает к при-
ложению А.
2.3. КЛИЕНТ, РЕДИРЕКТОР И СЕРВЕР