Для связи устройств в них, прежде всего, должны быть предусмотрены внешние1
интерфейсы.Интерфейс — в широком смысле — формально определенная логическая и/или физическая граница между взаимодействующими независимыми объектами. Интерфейс задает параметры, процедуры и характеристики взаимодействия объектов.
Разделяют физический и логический интерфейсы.
□ Физический интерфейс (называемый также портом) — определяется набором электрических связей и характеристиками сигналов. Обычно он представляет собой разъем с набором контактов, каждый из которых имеет определенное назначение, например, это может быть группа контактов для передачи данных, контакт синхронизации данных и т. п. Пара разъемов соединяется кабелем, состоящим из набора проводов, каждый из которых соединяет соответствующие контакты. В таких случаях говорят о создании линии, или канала, связи между двумя устройствами.
□ Логический интерфейс (называемый также протоколом) — это набор информационных сообщений определенного формата, которыми обмениваются два устройства или две программы, а также набор правил, определяющих логику обмена этими сообщениями.
На рис. 2.2 мы видим интерфейсы двух типов: компьютер—компьютер и компьютер—
периферийное устройство.
Компьютер АПротоколКомпьютер В |
---|
Интерфейс компьютер—компьютерИнтерфейс компьютер—принтерРис. 2.2. Совместное использование принтера в компьютерной сети |
□ Интерфейс компьютер—компьютер позволяет двум компьютерам обмениваться информацией. С каждой стороны он реализуется парой:
О аппаратным модулем, называемым сетевым адаптером, или сетевой интерфейсной картой (Network Interface Card, NIC);
О драйвером сетевой интерфейсной карты — специальной программой, управляющей работой сетевой интерфейсной карты.
□ Интерфейс компьютер—периферийное устройство (в данном случае интерфейс компьютер—принтер) позволяет компьютеру управлять работой периферийного устройства (ПУ). Этот интерфейс реализуется:
О со стороны компьютера — интерфейсной картой и драйвером ПУ (принтера), подобным сетевой интерфейсной карте и ее драйверу;
О со стороны ПУ — контроллером ПУ (принтера), обычно представляющий собой аппаратное устройство2
, принимающее от компьютера как данные, например байты информации, которую нужно распечатать на бумаге, так и команды, которые он отрабатывает, управляя электромеханическими частями периферийного устройства, например выталкивая лист бумаги из принтера или перемещая магнитную головку диска.Для того чтобы решить задачу организации доступа приложения, выполняемого на компьютере Л, к ПУ через сеть, давайте, прежде всего, посмотрим, как управляет этим устройством приложение, выполняемое на компьютере В, к которому данное ПУ подключено непосредственно (см. рис. 2.2).
1. Пусть приложению В в какой-то момент потребовалось вывести на печать некоторые данные. Для этого приложение обращается с запросом на выполнение операции ввода-вывода к операционной системе (как правило, драйвер не может быть запущен на выполнение непосредственно приложением). В запросе указываются адрес данных, которые необходимо напечатать (адрес буфера ОП), и информация о том, на каком периферийном устройстве эту операцию требуется выполнить.
2. Получив запрос, операционная система запускает программу — драйвер принтера. С этого момента все дальнейшие действия по выполнению операции ввода-вывода со стороны компьютера реализуются только драйвером принтера и работающим под его управлением аппаратным модулем — интерфейсной картой принтера без участия приложения и операционной системы.
3. Драйвер принтера оперирует командами, понятными контроллеру принтера, такими, например, как «Печать символа», «Перевод строки», «Возврат каретки». Драйвер в определенной последовательности загружает коды этих команд, а также данные, взятые из буфера ОП, в буфер интерфейсной карты принтера, которая побайтно передает их по сети контроллеру принтера.