Организация вычислительной системы (интерфейс процессора)



Программные модули КСУ

 

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

 

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

 

ПК

 

                       Данные

                       Команды контроллера: «Установить начало листа», «Переместить магнитную головку», «Сообщить состояние устройства» и др.

 

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

 

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

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

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

признак завершения приема информации.

 


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

 

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

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

Рассмотрим случай, когда пользователю, работающему с текстовым редактором на компьютере А, нужно прочитать часть некоторого файла, расположенного на диске компьютера В (рис. 2). Предположим, что компьютеры связаны по кабелю через СОМ - порты, которые реализуют интерфейс RS-232С (такое соединение часто называют нуль-модемным). Пусть доля определенности компьютеры работают под управлением MS-DOS

хотя принципиального значения в данном случае это не имеет.

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

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

 

              Компьютер А                                      Компьютер В

 

                                 Протокол взаимодействия приложений

 

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

 

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

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

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

Чтобы передать запрос (сообщение)  компьютеру В, приложение А обращается к драйверу СОМ-порта А, сообщая ему адрес воперативной памяти, В по которому драйвер находит запрос (сообщение) и затем передает его байт за байтом приложению В. Приложение В приняв запрос (сообщение), выполняет его, то есть считывает требуемую область файла с диска с помощью средств локальной ОС в буферную область своей оперативной памяти, а далее с помощью драйвера СОМ-порта В передает считанные данные по установленному каналу * приложению А.

Описанные функции приложения А могла бы выполнить сама программа текстового редактора, но включать эти функции в состав каждого приложения - текстовых редакторов, графических редакторов, систем управления базами данных и других приложений, которым нужен доступ к файлам, - не рационально (хотя существует большое количество программ, которые действительно самостоятельно решают все задачи по межмашинному обмену данными, например Кеrmit - программа обмена файлами через СОМ-порты, реализованная доя различных ОС, Norton Commander 3.0 с его функцией Link).

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

Схема взаимодействия клиента и сервера с приложениями и операционной системой приведена на рис. 3.

 

 КЛИЕНТ  Компьютер А      СЕРВЕР    Компьютер В

 

 

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

 

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

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

 


Организация вычислительной системы (интерфейс процессора)


Дата добавления: 2018-04-15; просмотров: 562; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!