Отступление 1: понятие интерфейса

Интерфейс (И.) – совокупность средств информационного взаимодействия двух объектов или процессов. Вопрос 4. Взаимодействие – обмен информацией и управление. Обычно И. несимметричен: одна его сторона – управляющая (master, client), другая – подчиненная (slave, server). Средства взаимодействия – в зависимости от природы взаимодействующих объектов. Для трех видов объектов: аппаратура, программы, пользователи – имеем четыре вида интерфейса:

1. Аппаратный И. – между цифровыми устройствами. Обеспечивает двусторонний обмен сигналами на физическом уровне. Средства: кабели, шины, разъемы, сигналы, алгоритмы, временные диаграммы. Примеры:

· И. вв/вы – между центральными и внешними устройствами компьютера: RS-232, USB, Unibus, CAMAC и др.

· И. системной шины РС – между ЦП и быстрыми устройствами типа HD.

2. Аппаратно-программный И. – между программой и аппаратурой. Примеры:

· Система команд и прерываний компьютера.

· Взаимодействие приложения с внешним устройством при вв/вы:

СУ вв/вы ОС
Драйвер
Приложение
Контроллер внешнего устройства

Рис. 6-7

Таким образом, драйвер является интерфейсной программой, «привязанной» к типу вн. устройства (точнее, контроллера).

3. Межпрограммный И. – между компонентами или слоями программного обеспечения. Традиционное название: CALL-интерфейс (набор форматов вызова процедур; в СУБД – CLI (Call Level Interface)), современное название – API (Application Programming Interface). Аппаратная аналогия:

Розетка А: int A (char c, int b);

Вилка Х вставляется в розетку А: X = A (letter, 2)

4. UI – И. пользователя – между пользователем и программой. Диалоговое взаимодей-ствие с помощью клавиатуры, мыши, графических элементов на экране и пр. Эпитеты: графический (GUI), дружественный (friendly), устойчивый к ошибкам (idiot-proof).

Вопросы 5-7.

Принципы хорошего И.:

· Инкапсуляция внутреннего устройства, изоляция сторон И. Сервер не должен знать, зачем он задействуется, клиент – как тот действует. Вопрос 8.

· Экономность, лаконичность И. – минимум обмениваемой информации. Вопрос 9.

· Стандартизация, унификация И. – способствует сопрягаемости (interoperability) и повторному использованию компонентов.

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

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

Вопрос 10. Поуровневая структуризация распределенных систем:

       
 
 
   
Канал связи


Рис.6-8

Некоторые виды программно-реализуемых протоколов:

RPC – Remote Procedure Call – удаленный вызов процедур

FTP – File Transfer Protocol - протокол пересылки файлов

TCP/IP - стекпротоколов передачи по Интернету


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: