Программа управляющая работой периферийного устройства это

Аннотация: Связь компьютера с периферийным устройством. Простейший случай связи двух компьютеров. Схема функционирования и основные элементы программного обеспечения взаимодействия компьютеров по сети. Задачи физической передачи данных по линиям связи.

При создании вычислительных сетей разработчикам пришлось решать множество самых разных задач, связанных с кодированием и синхронизацией электрических (оптических) сигналов, выбором конфигурации физических и логических связей, разработкой схем адресации устройств, созданием различных способов коммутации , мультиплексированием и демультиплексированием потоков данных, совместным использованием передающей среды. В данной лекции мы сформулируем все эти задачи, причем в той последовательности, в которой они возникали в процессе развития и совершенствования сетевых технологий .

Начнем с наиболее простого случая непосредственного соединения двух устройств физическим каналом, такое соединение называется связью «точка-точка» ( point-to-point ).

4. Периферийные устройства.

Связь компьютера с периферийными устройствами

Частным случаем связи » точка-точка » является соединение компьютера с периферийным устройством. Поскольку механизмы взаимодействия компьютеров в сети многое позаимствовали у схемы взаимодействия компьютера с периферийными устройствами , начнем рассматривать принципы работы сети с этого «досетевого» случая.

Для обмена данными компьютер и периферийное устройство (ПУ) оснащены внешними интерфейсами или портами (рис. 3.1). В данном случае к понятию «интерфейс» относятся:

  • электрический разъем ;
  • набор проводов, соединяющих устройства;
  • совокупность правил обмена информацией по этим проводам.

Со стороны компьютера логикой передачи сигналов на внешний интерфейс управляют:

  • контроллер ПУ — аппаратный блок, часто реализуемый в виде отдельной платы;
  • драйвер ПУ – программа, управляющая контроллером периферийного устройства .

Со стороны ПУ интерфейс чаще всего реализуется аппаратным устройством управления ПУ, хотя встречаются и программно-управляемые периферийные устройства .

Обмен данными между ПУ и компьютером, как правило, является двунаправленным . Так, например, даже принтер, который представляет собой устройство вывода информации, возвращает в компьютер данные о своем состоянии.

Таким образом, по каналу, связывающему внешние интерфейсы , передается следующая информация :

  • данные, поступающие от контроллера на ПУ, например байты текста, который нужно распечатать на бумаге;
  • команды управления, которые контроллер передает на устройство управления ПУ; в ответ на них оно выполняет специальные действия, например переводит головку диска на соответствующую дорожку или же выталкивает из принтера лист бумаги;
  • данные, возвращаемые устройством управления ПУ в ответ на запрос от контроллера , например данные о готовности к выполнению операции.

Рассмотрим последовательность действий, которые выполняются в том случае, когда некоторому приложению требуется напечатать текст на принтере. Со стороны компьютера в выполнении этой операции принимает участие, кроме уже названных контроллера , драйвера и приложения, еще один важнейший компонент — операционная система . Поскольку все операции ввода-вывода являются привилегированными, все приложения при выполнении операций с периферийными устройствами используют ОС как арбитра. Итак, последовательность действий такова:

  1. Приложение обращается с запросом на выполнение операции печати к операционной системе. В запросе указываются: адрес данных в оперативной памяти, идентифицирующая информация принтера и операция, которую требуется выполнить.
  2. Получив запрос, операционная система анализирует его, решает, может ли он быть выполнен, и если решение положительное, то запускает соответствующий драйвер , передавая ему в качестве параметров адрес выводимых данных. Дальнейшие действия, относящиеся к операции ввода-вывода , со стороны компьютера реализуются совместно драйвером и контроллером принтера.
  3. Драйвер передает команды и данные контроллеру , который помещает их в свой внутренний буфер. Пусть, например, драйвер загружает значение некоторого байта в буфер контроллера ПУ.
  4. Контроллер перемещает данные из внутреннего буфера во внешний порт .
  5. Контроллер начинает последовательно передавать биты в линию связи , представляя каждый бит соответствующим электрическим сигналом. Чтобы сообщить устройству управления принтера о том, что начинается передача байта, перед передачей первого бита данных контроллер формирует стартовый сигнал специфической формы, а после передачи последнего информационного бита — стоповый сигнал. Эти сигналы синхронизируют передачу байта. Кроме информационных бит, контроллер может передавать бит контроля четности для повышения достоверности обмена.
  6. Устройство управления принтера , обнаружив на соответствующей линии стартовый бит, выполняет подготовительные действия и начинает принимать информационные биты, формируя из них байт в своем приемном буфере. Если передача сопровождается битом четности , то выполняется проверка корректности передачи: при правильно выполненной передаче в соответствующем регистре устройства управления принтера устанавливается признак завершения приема информации. Наконец, принятый байт обрабатывается принтером — выполняется соответствующая команда или печатается символ.


Рис. 3.1. Связь компьютера с периферийным устройством.

Читайте также:
Домашнее задание в программе по физической культуре

Обязанности между драйвером и контроллером могут распределяться по-разному, но чаще всего контроллер поддерживает набор простых команд, служащих для управления периферийным устройством , а на драйвер обычно возлагаются наиболее сложные функции реализации обмена. Например, контроллер принтера может поддерживать такие элементарные команды, как » Печать символа», » Перевод строки «, » Возврат каретки » и т. п.

Драйвер же принтера с помощью этих команд реализует печать строк символов, разделение документа на страницы и другие более высокоуровневые операции (например, подсчет контрольной суммы последовательности передаваемых байтов, анализ состояния периферийного устройства , проверка правильности выполнения команды). Драйвер , задавая ту или иную последовательность команд, определяет тем самым логику работы периферийного устройства . Для одного и того же контроллера можно разработать различные драйверы , которые с помощью одного и того же набора доступных команд будут реализовывать разные алгоритмы управления одним и тем же ПУ.

Возможное распределение функций между драйвером и контроллером (ПУ).

Функции, выполняемые драйвером :

  • ведение очередей запросов ;
  • буферизация данных;
  • подсчет контрольной суммы последовательности байтов;
  • анализ состояния ПУ;
  • загрузка очередного байта данных (или команды) в регистр контроллера ;
  • считывание байта данных или байта состояния ПУ из регистра контроллера .

Функции, выполняемые контроллером :

  • преобразование байта из регистра ( порта ) в последовательность бит;
  • передача каждого бита в линию связи ;
  • обрамление байта стартовым и стоповым битами – синхронизация;
  • формирование бита четности ;
  • установка признака завершения приема/передачи байта.

Источник: intuit.ru

Программа, управляющая контроллером периферийного устройства

При создании вычислительных сетей разработчикам пришлось решать множество самых разных задач, связанных с кодированием и синхронизацией электрических (оптических) сигналов, выбором конфигурации физических и логических связей, разработкой схем адресации устройств, созданием различных способов коммутации, мультиплексированием и демультиплексированием потоков данных, совместным использованием передающей среды.

Начнем с простого случая непосредственного соединения двух устройств физическим каналом, такое соединение называется связью «точка-точка» (point-to-point).

Связь компьютера с периферийными устройствами

Частным случаем связи «точка-точка» является соединение компьютера с периферийным устройством (ПУ).

Для обмена данными компьютер и ПУ оснащены внешними интерфейсами или портами (рис. 1).

Рис. 1. Связь компьютера с периферийным устройством

  • электрический разъем;
  • набор проводов, соединяющих устройства;
  • совокупность правил обмена информацией по этим проводам.
  • контроллер ПУ — аппаратный блок, часто реализуемый в виде отдельной платы;
  • драйвер ПУ – программа, управляющая контроллером периферийного устройства.

Со стороны ПУ интерфейс чаще всего реализуется аппаратным устройством управления ПУ, хотя встречаются и программно-управляемые периферийные устройства.

Обмен данными между ПУ и компьютером, как правило, является двунаправленным.

  • данные, поступающие от контроллера на ПУ;
  • команды управления, которые контроллер передает на устройство управления ПУ;
  • данные, возвращаемые устройством управления ПУ.
  • ведение очередей запросов;
  • буферизация данных;
  • подсчет контрольной суммы последовательности байтов;
  • анализ состояния ПУ;
  • загрузка очередного байта данных (или команды) в регистр контроллера;
  • считывание байта данных или байта состояния ПУ из регистра контроллера.
  • преобразование байта из регистра (порта) в последовательность бит;
  • передача каждого бита в линию связи;
  • обрамление байта стартовым и стоповым битами – синхронизация;
  • формирование бита четности;
  • установка признака завершения приема/передачи байта.

Связь двух компьютеров

Рис. 2. Взаимодействие двух компьютеров

Программа, работающая на одном компьютере, не может получить непосредственный доступ к ресурсам другого компьютера. Она может только «попросить» об этом другую программу, выполняемую на том компьютере, которому принадлежат эти ресурсы. Эти «просьбы» выражаются в виде сообщений, передаваемых по каналам связи между компьютерами.

Например, по кабелю через COM-порты, реализующие интерфейс RS-232C (нуль-модемное соединение). Связь между компьютерами осуществляется аналогично связи компьютера с ПУ. Только теперь контроллеры и драйверы портов действуют с двух сторон. Вместе они обеспечивают передачу по кабелю между компьютерами одного байта информации (В локальных сетях подобные функции выполняются сетевыми адаптерами и их драйверами).

Клиент, редиректор и сервер

Существует большое количество программ, которые самостоятельно решают все задачи по обмену данными между компьютерами. Но гораздо выгоднее создать специальный программный модуль, который будет выполнять формирование сообщений-запросов к удаленной машине и прием результатов для всех приложений. Такой служебный модуль называется клиентом.

На стороне другой машины должна работать другая спец. программа — сервер, постоянно ожидающий запросов на удаленный доступ к ресурсам этой ЭВМ.

Очень удобной и полезной функцией клиентской программы является способность отличить запрос к удаленному файлу от запроса к локальному файлу. Клиентская программа способная распознавать и перенаправлять (redirect) запрос к удаленной машине называется редиректор.

Иногда функции распознавания выделяются в особый программный модуль, в этом случае редиректором называют не всю клиентскую часть, а только этот модуль.

Читайте также:
Прикладная программа adobe illustrator является

Программные клиент и сервер выполняют системные функции по обслуживанию запросов всех приложений компьютера А на удаленный доступ к файлам компьютера В. Чтобы приложения компьютера В могли пользоваться файлами компьютера А, описанную схему нужно симметрично дополнить клиентом для компьютера В и сервером для компьютера А.

Рис. 3. Схема взаимодействия программных компонентов при связи двух компьютеров

Для того, чтобы компьютер мог работать в сети, его ОС должна быть дополнена клиентским и/или серверным модулем, а также средствами передачи данных между компьютерами. В результате такого добавления ОС компьютера становится сетевой ОС.

Задача физической передачи данных по линиям связи

Даже при рассмотрении простейшей сети с соединением «точка-точка» возникает ряд проблем, присущих любой вычислительной сети, и на первый план выходит задача физической передачи данных по линиям связи.

  • кодирование и модуляцию данных;
  • взаимную синхронизацию передатчика одного компьютера с приемником другого;
  • подсчет контрольной суммы и передача ее по линиям связи после каждого байта или после некоторого блока байтов.

Представление данных в виде электрических или оптических сигналов называется кодированием. Существуют различные способы кодирования двоичных цифр 1 и 0, например потенциальный способ, при котором единице соответствует один уровень напряжения, а нулю — другой, или импульсный способ, когда для представления цифр используются импульсы различной или одной полярности.

Аналогичные подходы могут использоваться для кодирования данных и при их передаче по линиям связи. Однако эти линии связи отличаются от тех, которые существуют внутри компьютера.

Главное отличие внешних линий связи в их большей протяженности, а также в том, что они проходят вне экранированного корпуса и подвержены воздействию сильных электромагнитных помех. Все это приводит к существенно большим искажениям импульсов, чем внутри компьютера. Поэтому при передаче данных внутри и вне компьютера не всегда можно использовать одни и те же скорости и способы кодирования.

В вычислительных сетях применяют как потенциальное, так и импульсное кодирование дискретных данных, а также специфический способ представления данных, который не используется внутри ЭВМ, — модуляцию.

При модуляции дискретная информация представляется синусоидальным сигналом той частоты, которую хорошо передает имеющаяся линия связи.

Потенциальное или импульсное кодирование применяется на каналах высокого качества, а модуляция на основе синусоидальных сигналов предпочтительнее в том случае, когда канал вносит сильные искажения в передаваемые сигналы. Обычно модуляция используется в глобальных сетях при передаче данных через аналоговые телефонные линии.

На способ передачи сигналов влияет и количество проводов в линиях связи между компьютерами (параллельная передача всех бит одного байта или последовательная, побитовая передача, требующая всего одной пары проводов).

При передаче сигналов приходится еще решать проблему взаимной синхронизации передатчика одного компьютера с приемником другого. Проблема синхронизации при связи компьютеров может решаться разными способами, как с помощью обмена специальными тактовыми синхроимпульсами по отдельной линии, так и посредством периодической синхронизации заранее обусловленными кодами или импульсами характерной формы, отличной от формы импульсов данных.

Всегда существует вероятность искажения некоторых бит передаваемых данных и поэтому для более надежной передачи данных часто используется стандартный прием — подсчет контрольной суммы и передача ее по линиям связи после каждого байта или после некоторого блока байтов.

Часто в протокол обмена данными включается как обязательный элемент сигнал-квитанция, которая подтверждает правильность приема данных и посылается от получателя отправителю.

Некоторые сетевые устройства, такие как модемы и сетевые адаптеры, специализируются на физической передаче данных.

Модемы выполняют в глобальных сетях модуляцию и демодуляцию дискретных сигналов, синхронизируют передачу электромагнитных сигналов по линиям связи, проверяют правильность передачи по контрольной сумме и могут выполнять некоторые другие операции.

Сетевые адаптеры рассчитаны на работу с определенной передающей средой — коаксиальным кабелем, витой парой, оптоволокном и т.п.

Каждый тип передающей среды обладает определенными электрическими характеристиками, влияющими на способ использования данной среды, и определяет скорость передачи сигналов, способ их кодирования и некоторые другие параметры.

Источник: geum.ru

Связь компьютера с периферийными устройствами

Информатика, информационные технологии

Для обмена данными между компьютером и периферийным устройством (ПУ) в компьютере предусмотрен внешний интерфейс (рис. 1.6), то есть набор проводов, соединяющих компьютер и периферийное устройство, а также набор правил обмена информацией по этим проводам (иногда вместо термина интерфейс употребляется термин протокол — подробней об этих важных терминах мы еще поговорим). Примерами интерфейсов, используемых в компьютерах, являются параллельный интерфейс Centronics, предназначенный, как правило, для подключения принтеров, и последовательный интерфейс RS-232C, через который подключаются мышь, модем и много других устройств. Интерфейс реализуется со стороны компьютера совокупностью аппаратных и программных средств: контроллером ПУ и специальной программой, управляющей этим контроллером, которую часто называют драйвером соответствующего периферийного устройства.

Читайте также:
С какой программой работает Хуавей

Со стороны ПУ интерфейс чаще всего реализуется аппаратным устройством управления, хотя встречаются и программно-управляемые периферийные устройства.

Программа, выполняемая процессором, может обмениваться данными с помощью команд ввода/вывода с любыми модулями, подключенными к внутренней шине компьютера, в том числе и с контроллерами ПУ.

Периферийные устройства могут принимать от компьютера как данные, например байты информации, которую нужно распечатать на бумаге, так и команды управления, в ответ на которые ПУ может выполнить специальные действия, например перевести головку диска на требуемую дорожку или же вытолкнуть лист бумаги из принтера. Периферийное устройство использует внешний интерфейс компьютера не только для приема информации, но и для передачи информации в компьютер, то есть обмен данными по внешнему интерфейсу, как правило, является двунаправленным. Так, например, даже принтер, который по своей природе является устройством вывода информации, возвращает в компьютер данные о своем состоянии.

Контроллеры ПУ принимают команды и данные от процессора в свой внутренний буфер, который часто называется регистром или портом, затем выполняют необходимые преобразования этих данных и команд в соответствии с форматами, понятными ПУ, и выдают их на внешний интерфейс.

Распределение обязанностей между контроллером и драйвером ПУ может быть разным, но обычно контроллер выполняет набор простых команд по управлению ПУ, а драйвер использует эти команды, чтобы заставить устройство совершать более сложные действия по некоторому алгоритму. Например, контроллер принтера может поддерживать такие элементарные команды, как «Печать символа», «Перевод строки», «Возврат каретки» и т. п. Драйвер же принтера с помощью этих команд организует печать строк символов, разделение документа на страницы и другие более высокоуровневые операции. Для одного и того же контроллера можно разработать различные драйверы, которые будут управлять данным ПУ по-разному — одни лучше, а другие хуже — в зависимости от опыта и способностей программистов, их разработавших.

Рис. 1.6. Связь компьютера с периферийным устройством

Рассмотрим схему передачи одного байта информации от прикладной программы на периферийное устройство. Программа, которой потребовалось выполнить обмен данными с ПУ, обращается к драйверу этого устройства, сообщая ему в качестве параметра адрес байта памяти, который нужно передать. Драйвер загружает значение этого байта в буфер контроллера ПУ, который начинает последовательно передавать биты в линию связи, представляя каждый бит соответствующим электрическим сигналом. Чтобы устройству управления ПУ стало понятно, что начинается передача байта, перед передачей первого бита информации контроллер ПУ формирует стартовый сигнал специфической формы, а после передачи последнего информационного бита — столовый сигнал. Эти сигналы синхронизируют передачу байта.

Кроме информационных бит, контроллер может передавать бит контроля четности для повышения достоверности обмена. Устройство управления, обнаружив на соответствующей линии стартовый бит, выполняет подготовительные действия и начинает принимать информационные биты, формируя из них байт в своем приемном буфере. Если передача сопровождается битом четности, то выполняется проверка правильности передачи: при правильно выполненной передаче в соответствующем регистре устройства управления устанавливается признак завершения приема информации.

Обычно на драйвер возлагаются наиболее сложные функции протокола (например, подсчет контрольной суммы последовательности передаваемых байтов, анализ состояния периферийного устройства, проверка правильности выполнения команды). Но даже самый примитивный драйвер контроллера должен поддерживать как минимум две операции: «Взять данные из контроллера в оперативную память» и «Передать данные из оперативной памяти в контроллер».

Существуют как весьма специализированные интерфейсы, пригодные для подключения узкого класса устройств (например, графических мониторов высокого разрешения фирмы Vista), так и интерфейсы общего назначения, являющиеся стандартными и позволяющие подключать различные периферийные устройства. Примером такого интерфейса является интерфейс RS-232C, который поддерживается многими терминалами, принтерами, графопостроителями, манипуляторами типа «мышь» и многими другими устройствами.

Статьи к прочтению:

  • Связь между пропускной способностью линии и ее полосой пропускания
  • Так называемый библейский код

Внешний микрофон к iPhone — аудио/MIDI-интерфейс iRig PRO

Похожие статьи:

  • Связь компьютера с периферийным устройством Лабораторная работа №1. Общие принципы построения сетей. Простейшая сеть из двух компьютеров. Исторически главной целью объединения компьютеров в сеть…
  • Основные устройства компьютера В ходе развития и совершенствования вычислительной техники фундаментальные принципы устройства компьютеров (вычислительных машин) изменились мало. (Рис.)…

Источник: csaa.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru