Самый примитивный драйвер контроллера должен поддерживать как минимум две операции
Концепция вычислительных сетей является логическим результатом эволюции компьютерной технологии. Первые компьютеры 50-х годов (мэйнфреймы) – большие, громоздкие и дорогие – предназначались для очень небольшого числа избранных пользователей. Они не были предназначены для интерактивной работы, а использовались в режиме пакетной обработки. По мере удешевления процессоров в начале 60-х годов появились новые способы организации вычислительного процесса. Появились «многотерминальные системы разделения времени», в которых один компьютер отдавался в распоряжение сразу нескольким пользователям. Каждый из них получал в свое распоряжение терминал, с помощью которого он вел диалог с компьютером. Терминалы быстро вышли за пределы вычислительного центра и рассредоточились по всему предприятию. Хотя вычислительные возможности оставались централизованные, функции ввода и вывода стали распределенными.
Содержание
Введение
1. Понятие ИТ
1.1 Соотношение информационной технологии и информационной системы
2. Инструментарий ИТ
3. Обработка данных
3.1 Централизованная обработка данных.
3.2 Распределённая обработка данных.
4. Компьютерные сети.
4.1. Обобщенная структура.
5. Классификация компьютерных сетей
6. Глобальные вычислительные сети
6.1. Internet. Структура Интернет
7. Локальные вычислительные сети.
7.1. Ethernet
8. Техническое обеспечение.
8.1. Связь компьютера с периферийными устройствами.
8.2. Устройства межсетевого интерфейса.
8.3. Управление взаимодействием устройств сети.
9. Программное обеспечение информационно-вычислительных сетей
Заключение
Литература
Прикрепленные файлы: 1 файл
компьютерные сети.docx
8. Техническое обеспечение должно включать:
o системы мониторинга на базе электронных систем связи o системы диагностики аварийных ситуаций и их предвестников; o технические средства, обеспечивающие организацию локальных сетей и телекоммуникационного взаимодействия; электронно-вычислительную технику; o реальные и потенциальные силы и средства по предупреждению и ликвидации аварийных и чрезвычайных ситуаций.
8.1. Связь компьютера с периферийными устройствами
Механизмы взаимодействия компьютеров в сети многое позаимствовали у схемы взаимодействия компьютера с периферийными устройствами, поэтому начнем рассмотрение принципов работы сети с этого «досетевого» случая. Соединение компьютера с периферийным устройством чаще всего представляет собой связь «точка-точка».
Для обмена данными между компьютером и периферийным устройством (ПУ) в компьютере предусмотрен внешний интерфейс, или порт (рис. 2.1), то есть набор проводов, соединяющих компьютер и периферийное устройство, а также набор правил обмена информацией по этим проводам.
Существуют как весьма специализированные интерфейсы, пригодные для подключения узкого класса устройств (например, графических мониторов высокого разрешения фирмы Vista), так и интерфейсы общего назначения, являющиеся стандартными и позволяющие подключать различные периферийные устройства. Примерами стандартных интерфейсов, используемых в компьютерах, являются параллельный интерфейс Centronics, предназначенный, как правило, для подключения принтеров, и последовательный интерфейс RS-232C, который поддерживается многими терминалами, принтерами, графопостроителями, манипуляторами типа «мышь» и многими другими устройствами.
Интерфейс реализуется со стороны компьютера совокупностью аппаратных и программных средств: контроллером ПУ и специальной программой, управляющей этим контроллером, которую часто называют драйвером соответствующего периферийного устройства.
Связь компьютера с периферийным устройством
«Установить начало листа», «Переместить магнитную головку», «Сообщить состояние устройства» и др.
Со стороны ПУ интерфейс чаще всего реализуется аппаратным устройством управления ПУ, хотя встречаются и программно-управляемые периферийные устройства.
Программа, выполняемая процессором, может обмениваться данными с помощью команд ввода-вывода с любыми модулями, подключенными к внутренней шине компьютера, в том числе и с контроллерами ПУ.
Периферийные устройства могут принимать от компьютера как данные, например байты информации, которую нужно распечатать на бумаге, так и команды управления, в ответ на которые устройство управления ПУ может выполнить специальные действия, например, перевести головку диска на требуемую дорожку или же вытолкнуть лист бумаги из принтера. Периферийное устройство использует внешний интерфейс компьютера не только для приема информации, но и для передачи информации в компьютер, то есть обмен данными по внешнему интерфейсу, как правило, является двунаправленным. Так, например, даже принтер, который по своей природе является устройством вывода информации, возвращает в компьютер данные о своем состоянии.
Итак, приложение, которому требуется передать некоторые данные на периферийное устройство, обращается с запросом на выполнение операции ввода- вывода к операционной системе. В запросе указываются: адрес данных в оперативной памяти, идентифицирующая информация о периферийном устройстве иоперация, которую надо выполнить. Получив запрос, операционная система запускает соответствующий драйвер, передавая ему в качестве параметра адрес выводимых данных. Дальнейшие действия по выполнению операции ввода-вывода со стороны компьютера реализуются совместно драйвером и контроллером ПУ. Контроллер работает под управлением драйвера. Контроллеры ПУ принимают команды и данные от драйвера в свой внутренний буфер, который часто называется регистром, или портом, а затем производят необходимые преобразования данных и команд, полученных от драйвера, в соответствии с форматами, понятными устройству управления ПУ, и выдают их на внешний интерфейс.
Распределение обязанностей между драйвером и контроллером может быть разным, но чаще всего контроллер поддерживает набор простых команд по управлению периферийным устройством, а драйвер определяет последовательность их выполнения, заставляя периферийное устройство совершать более сложные действия по некоторому алгоритму. Например, контроллер принтера может поддерживать такие элементарные команды, как «Печать символа», «Перевод строки», «Возврат каретки» и т. п. Драйвер же принтера с помощью этих команд организует печать строк символов, разделение документа на страницы и другие более высокоуровневые операции. Для одного и того же контроллера можно разработать различные драйверы, которые с помощью одного и того же набора доступных команд будут реализовывать разные алгоритмы управления ПУ.
Рассмотрим схему передачи одного байта информации от прикладной программы на периферийное устройство. Программа, которой потребовалось выполнить обмен данными с ПУ, обращается к драйверу этого устройства, сообщая ему в качестве параметра адрес байта памяти, который нужно передать. Драйвер загружает значение этого байта в буфер контроллера ПУ, который начинает последовательно передавать биты в линию связи, представляя каждый бит соответствующим электрическим сигналом. Чтобы устройству управления ПУ стало понятно, что начинается передача байта, перед передачей первого бита информации контроллер ПУ формирует стартовый сигнал специфической формы, а после передачи последнего информационного бита — столовый сигнал. Эти сигналы синхронизируют передачу байта.
Кроме информационных бит, контроллер может передавать бит контроля четности для повышения достоверности обмена. Устройство управления, обнаружив на соответствующей линии стартовый бит, выполняет подготовительные действия и начинает принимать информационные биты, формируя из них байт в своем приемном буфере. Если передача сопровождается битом четности, то выполняется проверка правильности передачи: при правильно выполненной передаче в соответствующем регистре устройства управления устанавливается признак завершения приема информации.
На драйвер обычно возлагаются наиболее сложные функции протокола (например, подсчет контрольной суммы последовательности передаваемых байтов, анализ состояния периферийного устройства, проверка правильности выполнения команды). Но даже самый примитивный драйвер контроллера должен поддерживать как минимум две операции: «Взять данные из контроллера в оперативную память» и «Передать данные из оперативной памяти в контроллер».
В самом простом случае связь компьютеров может быть реализована с помощью тех же самых средств, которые используются для связи компьютера с периферией, например, через последовательный интерфейс RS-232C. При этом, в отличие от процедуры обмена данными компьютера с периферийным устройством, когда программа работает, как правило, только с одной стороны (со стороны компьютера), здесь происходит взаимодействие двух программ, выполняемых на каждом из компьютеров.
Взаимодействие двух компьютеров
8.2. Устройства межсетевого интерфейса
Созданная на определенном этапе развития фирмы локальная вычислительная сеть с течением времени перестает удовлетворять потребности всех пользователей и возникает необходимость расширения ее функциональных возможностей или границ охватываемой ею территории. Может возникнут необходимость объединения внутри фирмы ЛВС различных отделов и филиалов для организации обмена данными. Наконец, стремление получить выход на новые информационные ресурсы может потребовать подключения ЛВС к сетям более высокого уровня.
В качестве межсетевого интерфейса для соединения сетей между собой используются:
Повторители (repeater) — устройства, усиливающие электрические сигналы и обеспечивающие сохранение формы и амплитуды сигнала при передаче его на большие расстояния. Повторители описываются протоколами канального уровня модели взаимодействия открытых систем, могут объединять сети, отличающиеся протоколами лишь на физическом уровне OSI (с одинаковыми протоколами управления на канальном и выше уровнях), и выполняют лишь регенерацию пакетов данных, обеспечивая тем самым электрическую независимость сопрягаемых сетей и защиту сигналов от воздействия помех. Использование усилителей позволяет расширить и протяженность одной сети, объединяя несколько сегментов сети в единое целое. При установке усилителя создается физический разрыв в линии связи, при этом сигнал воспринимается с одной стороны, регенерируется и направляется к другой части линии связи.
Шлюзы (gateway) — устройства, позволяющие объединить вычислительные сети, использующие различные протоколы OSI на всех ее уровнях; они выполняют протокольное преобразование для всех семи уровней управления модели OSI. Кроме функций маршрутизаторов они выполняют еще и преобразование формата информационных пакетов и их перекодирование, что особенно важно при объединении неоднородных сетей.
Мосты, маршрутизаторы и шлюзы в локальной вычислительной сети — это, как правило, выделенные компьютеры со специальным программным обеспечением и дополнительной связной аппаратурой.
Использование устройств межсетевого интерфейса
8.3. Управление взаимодействием устройств в сети
Информационные системы, построенные на базе компьютерных сетей, обеспечивают решение следующих задач: хранение данных, обработка данных, организация доступа пользователей к данным, передача данных и результатов обработки данных пользователям.
В системах централизованной обработки эти функции выполняла центральная ЭВМ (Mainframe, Host).
Компьютерные сети реализуют распределенную обработку данных. Обработка данных в этом случае распределена между двумя объектами: клиентом и сервером.
Клиент—задача, рабочая станция или пользователь компьютерной сети.
В процессе обработки данных клиент может сформировать запрос на сервер для выполнения сложных процедур, чтение файла, поиск информации в базе данных и т. д.
Сервер, определенный ранее, выполняет запрос, поступивший от клиента. Результаты выполнения запроса передаются клиенту. Сервер обеспечивает хранение данных общего пользования, организует доступ к этим данным и передает данные клиенту.
Клиент обрабатывает полученные данные и представляет результаты обработки в виде, удобном для пользователя. В принципе обработка данных может быть выполнена и на сервере. Дня подобных систем приняты термины — системы клиент-серверили архитектура клиент-сервер.
Архитектура клиент-сервер может использоваться как в одно ранговых локальных вычислительных сетях, так и в сети с выделенным сервером.
Одно ранговая сеть.В такой сети нет единого центра управления взаимодействием рабочих станций и нет единого устройства для хранения данных. Сетевая операционная система распределена по всем рабочим станциям. Каждая станция сети может выполнять функции как клиента, так и сервера. Она может обслуживать запросы от других рабочих станций и направлять свои запросы на обслуживание в сеть.
Аннотация: Связь компьютера с периферийным устройством. Простейший случай связи двух компьютеров. Схема функционирования и основные элементы программного обеспечения взаимодействия компьютеров по сети. Задачи физической передачи данных по линиям связи.
При создании вычислительных сетей разработчикам пришлось решать множество самых разных задач, связанных с кодированием и синхронизацией электрических (оптических) сигналов, выбором конфигурации физических и логических связей, разработкой схем адресации устройств, созданием различных способов коммутации , мультиплексированием и демультиплексированием потоков данных, совместным использованием передающей среды. В данной лекции мы сформулируем все эти задачи, причем в той последовательности, в которой они возникали в процессе развития и совершенствования сетевых технологий .
Начнем с наиболее простого случая непосредственного соединения двух устройств физическим каналом, такое соединение называется связью "точка-точка" ( point-to-point ).
Связь компьютера с периферийными устройствами
Частным случаем связи " точка-точка " является соединение компьютера с периферийным устройством. Поскольку механизмы взаимодействия компьютеров в сети многое позаимствовали у схемы взаимодействия компьютера с периферийными устройствами , начнем рассматривать принципы работы сети с этого "досетевого" случая.
Для обмена данными компьютер и периферийное устройство (ПУ) оснащены внешними интерфейсами или портами (рис. 3.1). В данном случае к понятию "интерфейс" относятся:
- электрический разъем ;
- набор проводов, соединяющих устройства;
- совокупность правил обмена информацией по этим проводам.
Со стороны компьютера логикой передачи сигналов на внешний интерфейс управляют:
- контроллер ПУ — аппаратный блок, часто реализуемый в виде отдельной платы;
- драйвер ПУ – программа, управляющая контроллером периферийного устройства .
Со стороны ПУ интерфейс чаще всего реализуется аппаратным устройством управления ПУ, хотя встречаются и программно-управляемые периферийные устройства .
Обмен данными между ПУ и компьютером, как правило, является двунаправленным . Так, например, даже принтер, который представляет собой устройство вывода информации, возвращает в компьютер данные о своем состоянии.
Таким образом, по каналу, связывающему внешние интерфейсы , передается следующая информация :
- данные, поступающие от контроллера на ПУ, например байты текста, который нужно распечатать на бумаге;
- команды управления, которые контроллер передает на устройство управления ПУ; в ответ на них оно выполняет специальные действия, например переводит головку диска на соответствующую дорожку или же выталкивает из принтера лист бумаги;
- данные, возвращаемые устройством управления ПУ в ответ на запрос от контроллера , например данные о готовности к выполнению операции.
Рассмотрим последовательность действий, которые выполняются в том случае, когда некоторому приложению требуется напечатать текст на принтере. Со стороны компьютера в выполнении этой операции принимает участие, кроме уже названных контроллера , драйвера и приложения, еще один важнейший компонент — операционная система . Поскольку все операции ввода-вывода являются привилегированными, все приложения при выполнении операций с периферийными устройствами используют ОС как арбитра. Итак, последовательность действий такова:
- Приложение обращается с запросом на выполнение операции печати к операционной системе. В запросе указываются: адрес данных в оперативной памяти, идентифицирующая информация принтера и операция, которую требуется выполнить.
- Получив запрос, операционная система анализирует его, решает, может ли он быть выполнен, и если решение положительное, то запускает соответствующий драйвер , передавая ему в качестве параметров адрес выводимых данных. Дальнейшие действия, относящиеся к операции ввода-вывода , со стороны компьютера реализуются совместно драйвером и контроллером принтера.
- Драйвер передает команды и данные контроллеру , который помещает их в свой внутренний буфер. Пусть, например, драйвер загружает значение некоторого байта в буфер контроллера ПУ.
- Контроллер перемещает данные из внутреннего буфера во внешний порт .
- Контроллер начинает последовательно передавать биты в линию связи , представляя каждый бит соответствующим электрическим сигналом. Чтобы сообщить устройству управления принтера о том, что начинается передача байта, перед передачей первого бита данных контроллер формирует стартовый сигнал специфической формы, а после передачи последнего информационного бита — стоповый сигнал. Эти сигналы синхронизируют передачу байта. Кроме информационных бит, контроллер может передавать бит контроля четности для повышения достоверности обмена.
- Устройство управления принтера , обнаружив на соответствующей линии стартовый бит, выполняет подготовительные действия и начинает принимать информационные биты, формируя из них байт в своем приемном буфере. Если передача сопровождается битом четности , то выполняется проверка корректности передачи: при правильно выполненной передаче в соответствующем регистре устройства управления принтера устанавливается признак завершения приема информации. Наконец, принятый байт обрабатывается принтером — выполняется соответствующая команда или печатается символ.
Обязанности между драйвером и контроллером могут распределяться по-разному, но чаще всего контроллер поддерживает набор простых команд, служащих для управления периферийным устройством , а на драйвер обычно возлагаются наиболее сложные функции реализации обмена. Например, контроллер принтера может поддерживать такие элементарные команды, как " Печать символа", " Перевод строки ", " Возврат каретки " и т. п.
Драйвер же принтера с помощью этих команд реализует печать строк символов, разделение документа на страницы и другие более высокоуровневые операции (например, подсчет контрольной суммы последовательности передаваемых байтов, анализ состояния периферийного устройства , проверка правильности выполнения команды). Драйвер , задавая ту или иную последовательность команд, определяет тем самым логику работы периферийного устройства . Для одного и того же контроллера можно разработать различные драйверы , которые с помощью одного и того же набора доступных команд будут реализовывать разные алгоритмы управления одним и тем же ПУ.
Для обмена данными между компьютером и периферийным устройством (ПУ) в компьютере предусмотрен внешний интерфейс (рис. 1.6), то есть набор проводов, соединяющих компьютер и периферийное устройство, а также набор правил обмена информацией по этим проводам (иногда вместо терминаинтерфейс употребляется терминпротокол — подробней об этих важных терминах мы еще поговорим). Примерами интерфейсов, используемых в компьютерах, являются параллельный интерфейс Centronics, предназначенный, как правило, для подключения принтеров, и последовательный интерфейс RS-232C, через который подключаются мышь, модем и много других устройств. Интерфейс реализуется со стороны компьютера совокупностью аппаратных и программных средств: контроллером ПУ и специальной программой, управляющей этим контроллером, которую часто называютдрайвером соответствующего периферийного устройства.
Со стороны ПУ интерфейс чаще всего реализуется аппаратным устройством управления, хотя встречаются и программно-управляемые периферийные устройства.
Программа, выполняемая процессором, может обмениваться данными с помощью команд ввода/вывода с любыми модулями, подключенными к внутренней шине компьютера, в том числе и с контроллерами ПУ.
Периферийные устройства могут принимать от компьютера как данные, например байты информации, которую нужно распечатать на бумаге, так и команды управления, в ответ на которые ПУ может выполнить специальные действия, например перевести головку диска на требуемую дорожку или же вытолкнуть лист бумаги из принтера. Периферийное устройство использует внешний интерфейс компьютера не только для приема информации, но и для передачи информации в компьютер, то есть обмен данными по внешнему интерфейсу, как правило, является двунаправленным. Так, например, даже принтер, который по своей природе является устройством вывода информации, возвращает в компьютер данные о своем состоянии.
Контроллеры ПУ принимают команды и данные от процессора в свой внутренний буфер, который часто называется регистром или портом, затем выполняют необходимые преобразования этих данных и команд в соответствии с форматами, понятными ПУ, и выдают их на внешний интерфейс.
Распределение обязанностей между контроллером и драйвером ПУ может быть разным, но обычно контроллер выполняет набор простых команд по управлению ПУ, а драйвер использует эти команды, чтобы заставить устройство совершать более сложные действия по некоторому алгоритму. Например, контроллер принтера может поддерживать такие элементарные команды, как «Печать символа», «Перевод строки», «Возврат каретки» и т. п. Драйвер же принтера с помощью этих команд организует печать строк символов, разделение документа на страницы и другие более высокоуровневые операции. Для одного и того же контроллера можно разработать различные драйверы, которые будут управлять данным ПУ по-разному — одни лучше, а другие хуже — в зависимости от опыта и способностей программистов, их разработавших.
Рис.1.6. Связь компьютера с периферийным устройством
Рассмотрим схему передачи одного байта информации от прикладной программы на периферийное устройство. Программа, которой потребовалось выполнить обмен данными с ПУ, обращается к драйверу этого устройства, сообщая ему в качестве параметра адрес байта памяти, который нужно передать. Драйвер загружает значение этого байта в буфер контроллера ПУ, который начинает последовательно передавать биты в линию связи, представляя каждый бит соответствующим электрическим сигналом. Чтобы устройству управления ПУ стало понятно, что начинается передача байта, перед передачей первого бита информации контроллер ПУ формирует стартовый сигнал специфической формы, а после передачи последнего информационного бита — столовый сигнал. Эти сигналы синхронизируют передачу байта.
Кроме информационных бит, контроллер может передавать бит контроля четности для повышения достоверности обмена. Устройство управления, обнаружив на соответствующей линии стартовый бит, выполняет подготовительные действия и начинает принимать информационные биты, формируя из них байт в своем приемном буфере. Если передача сопровождается битом четности, то выполняется проверка правильности передачи: при правильно выполненной передаче в соответствующем регистре устройства управления устанавливается признак завершения приема информации.
Обычно на драйвер возлагаются наиболее сложные функции протокола (например, подсчет контрольной суммы последовательности передаваемых байтов, анализ состояния периферийного устройства, проверка правильности выполнения команды). Но даже самый примитивный драйвер контроллера должен поддерживать как минимум две операции: «Взять данные из контроллера в оперативную память» и «Передать данные из оперативной памяти в контроллер».
Существуют как весьма специализированные интерфейсы, пригодные для подключения узкого класса устройств (например, графических мониторов высокого разрешения фирмы Vista), так и интерфейсы общего назначения, являющиеся стандартными и позволяющие подключать различные периферийные устройства. Примером такого интерфейса является интерфейс RS-232C, который поддерживается многими терминалами, принтерами, графопостроителями, манипуляторами типа «мышь» и многими другими устройствами.
При создании вычислительных сетей их разработчикам пришлось решить много проблем. Мы рассмотрим только наиболее важные из них.
1.1. Связь компьютера с периферийными устройствами
Для обмена данными между компьютером и периферийным устройством (ПУ) в компьютере предусмотрен набор проводов, соединяющих компьютер и периферийное устройство (интерфейс), а также набор правил обмена информацией по этим проводам (протокол) (рис. 1.6). Примерами интерфейсов, используемых в компьютерах, являются параллельный интерфейс Centronics, предназначенный, как правило, для подключения принтеров, и последовательный интерфейс RS-232C, через который подключаются мышь, модем и много других устройств. Со стороны компьютера взаимодействие реализуется контроллером ПУ и специальной программой, управляющей этим контроллером, которую часто называютдрайверомсоответствующего периферийного устройства. Со стороны ПУ взаимодействие реализуется аппаратным устройством управления, хотя встречаются и программно-управляемые периферийные устройства.
Рис. 1.Связь компьютера с периферийным устройством
Программа, выполняемая процессором, может обмениваться данными с помощью команд ввода/вывода с любыми модулями, подключенными к внутренней шине компьютера, в том числе и с контроллерами ПУ.
Периферийные устройства могут принимать от компьютера данные (например, байты информации, которую нужно распечатать на бумаге), и команды управления, в ответ на которые ПУ должно выполнить какие-то действия, например, перевести головку диска на требуемую дорожку или же вытолкнуть лист бумаги из принтера. Периферийное устройство использует внешний интерфейс компьютера не только для приема информации, но и для передачи информации в компьютер, то есть обмен данными по внешнему интерфейсу является двунаправленным. Например, принтер, который является устройством вывода информации, возвращает в компьютер данные о своем состоянии.
Контроллеры ПУ принимают команды и данные от процессора в свой внутренний буфер, который называется регистром или портом, затем преобразуют этих данные и команды в соответствии с форматами, понятными ПУ, и выдают их на внешний интерфейс.
Распределение обязанностей между контроллером и драйвером ПУ может быть разным, но обычно контроллер выполняет набор простых команд по управлению ПУ, а драйвер использует эти команды, чтобы заставить устройство совершать более сложные действия по некоторому алгоритму. Например, контроллер принтера может поддерживать такие элементарные команды, как «Печать символа», «Перевод строки», «Возврат каретки» и т. п. Драйвер же принтера с помощью этих команд организует печать строк символов, разделение документа на страницы и другие более высокоуровневые операции. Для одного и того же контроллера можно разработать различные драйверы, которые будут управлять данным ПУ по-разному - одни лучше, а другие хуже - в зависимости от опыта и способностей программистов, их разработавших.
Рассмотрим схему передачи одного байта информации от прикладной программы на периферийное устройство. Программа, которой потребовалось выполнить обмен данными с ПУ, обращается к драйверу этого устройства и сообщает ему адрес байта памяти, который нужно передать. Драйвер загружает значение этого байта в буфер контроллера ПУ, который начинает последовательно передавать биты в линию связи, представляя каждый бит соответствующим электрическим сигналом. Чтобы устройству управления ПУ стало понятно, что начинается передача байта, перед передачей первого бита информации контроллер ПУ формирует стартовый сигнал специфической формы, а после передачи последнего информационного бита - стоповый сигнал. Эти сигналы синхронизируютпередачу байта.
Кроме информационных битов, контроллер может передавать бит контроля четности для повышения достоверности обмена. Устройство управления, обнаружив на соответствующей линии стартовый бит, начинает принимать информационные биты, формируя из них байт в своем приемном буфере.
На драйвер возлагаются наиболее сложные функции (например, подсчет контрольной суммы последовательности передаваемых байтов, анализ состояния периферийного устройства, проверка правильности выполнения команды). Но даже самый примитивный драйвер контроллера должен поддерживать как минимум две операции: «Взять данные из контроллера в оперативную память» и «Передать данные из оперативной памяти в контроллер».
При создании вычислительных сетей их разработчикам пришлось решить много проблем. Мы рассмотрим только наиболее важные из них.
1.1. Связь компьютера с периферийными устройствами
Для обмена данными между компьютером и периферийным устройством (ПУ) в компьютере предусмотрен набор проводов, соединяющих компьютер и периферийное устройство (интерфейс), а также набор правил обмена информацией по этим проводам (протокол) (рис. 1.6). Примерами интерфейсов, используемых в компьютерах, являются параллельный интерфейс Centronics, предназначенный, как правило, для подключения принтеров, и последовательный интерфейс RS-232C, через который подключаются мышь, модем и много других устройств. Со стороны компьютера взаимодействие реализуется контроллером ПУ и специальной программой, управляющей этим контроллером, которую часто называютдрайверомсоответствующего периферийного устройства. Со стороны ПУ взаимодействие реализуется аппаратным устройством управления, хотя встречаются и программно-управляемые периферийные устройства.
Рис. 1.Связь компьютера с периферийным устройством
Программа, выполняемая процессором, может обмениваться данными с помощью команд ввода/вывода с любыми модулями, подключенными к внутренней шине компьютера, в том числе и с контроллерами ПУ.
Периферийные устройства могут принимать от компьютера данные (например, байты информации, которую нужно распечатать на бумаге), и команды управления, в ответ на которые ПУ должно выполнить какие-то действия, например, перевести головку диска на требуемую дорожку или же вытолкнуть лист бумаги из принтера. Периферийное устройство использует внешний интерфейс компьютера не только для приема информации, но и для передачи информации в компьютер, то есть обмен данными по внешнему интерфейсу является двунаправленным. Например, принтер, который является устройством вывода информации, возвращает в компьютер данные о своем состоянии.
Контроллеры ПУ принимают команды и данные от процессора в свой внутренний буфер, который называется регистром или портом, затем преобразуют этих данные и команды в соответствии с форматами, понятными ПУ, и выдают их на внешний интерфейс.
Распределение обязанностей между контроллером и драйвером ПУ может быть разным, но обычно контроллер выполняет набор простых команд по управлению ПУ, а драйвер использует эти команды, чтобы заставить устройство совершать более сложные действия по некоторому алгоритму. Например, контроллер принтера может поддерживать такие элементарные команды, как «Печать символа», «Перевод строки», «Возврат каретки» и т. п. Драйвер же принтера с помощью этих команд организует печать строк символов, разделение документа на страницы и другие более высокоуровневые операции. Для одного и того же контроллера можно разработать различные драйверы, которые будут управлять данным ПУ по-разному - одни лучше, а другие хуже - в зависимости от опыта и способностей программистов, их разработавших.
Рассмотрим схему передачи одного байта информации от прикладной программы на периферийное устройство. Программа, которой потребовалось выполнить обмен данными с ПУ, обращается к драйверу этого устройства и сообщает ему адрес байта памяти, который нужно передать. Драйвер загружает значение этого байта в буфер контроллера ПУ, который начинает последовательно передавать биты в линию связи, представляя каждый бит соответствующим электрическим сигналом. Чтобы устройству управления ПУ стало понятно, что начинается передача байта, перед передачей первого бита информации контроллер ПУ формирует стартовый сигнал специфической формы, а после передачи последнего информационного бита - стоповый сигнал. Эти сигналы синхронизируютпередачу байта.
Кроме информационных битов, контроллер может передавать бит контроля четности для повышения достоверности обмена. Устройство управления, обнаружив на соответствующей линии стартовый бит, начинает принимать информационные биты, формируя из них байт в своем приемном буфере.
На драйвер возлагаются наиболее сложные функции (например, подсчет контрольной суммы последовательности передаваемых байтов, анализ состояния периферийного устройства, проверка правильности выполнения команды). Но даже самый примитивный драйвер контроллера должен поддерживать как минимум две операции: «Взять данные из контроллера в оперативную память» и «Передать данные из оперативной памяти в контроллер».
Читайте также: