Интерфейс аппаратный и программный. Что такое аппаратный интерфейс: взаимодействие аппаратных средств между собой Аппаратный интерфейс определение

6. Первая информационная революция связана с появлением:Письменности

7. Вторая информационная революция связана с Появлением книг

8. Третья информационная революция связана с: Появлением радио и телеграфа

9. Четвёртая информационная революция связана с:Изобретением микропроцессора и компьютера

10. Какое устройство не входит в состав системного блока? Принтер

11. Какое устройство должен иметь компьютер для подключения к сети "Интернет" через телефонную сеть? Модем

12. Какое устройство не используется для вывода информации?Клавиатура

13. Какие устройства являются основой информационных систем? Компьютеры

14. Как выделить нужный абзац в текстовом редакторе " " Щёлкнуть 2 раза левой кнопкой манипулятора "мышь" слева от абзаца на границе текста

15. Для чего используется расширение имени файла?Для обозначения типа файла

16. Какой пункт меню текстового редакторе " " используется для выбора способа задания одинаковой ширины столбцов таблицы (выровнять ширину столбцов)? Таблица/Автоподбор

17. Что такое файл? ОБЛАСТЬ ПАМЯТИ ИМЕЮЩЕЯ СОБСТВЕННОЕ ИМЯ

18. Виды логических моделей БД: Кит-отеки

19. Модели, где верхний уровень занимает один объект, второй - объекты второго уровня и т. д. называются: Иерархическими



20. Модели с представлением данных в виде таблицы называются: Реляционными

21. Блок-схема программы представляет: Графическую схему программы

22. Что такое данные? Недоступная по какой-либо причине информация

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

24. Языки программирования это: Программы для написания программ.

25. Операторы ветвления предназначены для: Дают возможность применить разные варианты продолжения работы программы

26. Каким образом следует обеспечивать сохранность наиболее важной информации:Создать несколько резервных копий подлежащей хранению информации и хранить ее в разных местах.

27. Компьютерные вирусы появляются в результате: Деятельности программистов – злоумышленников.

28. В каких единицах измеряется количество передаваемой по сети информации: в битах.

29. Что такое УУУ: глобальная сеть.

30. Термин информатика дословно обозначает: Автоматическая обработка информации

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

32. Что такое Аппаратно-программный интерфейс: Взаимодействие аппаратных и программных средств между собой

33. Для чего служит монитор? Для вывода информации

34. Что такое дерево каталогов?Структурная графическая схема расположения каталогов (папок) в устройстве внешней (чаще всего дисковой) памяти

35. Сканер является: Устройством ввода

36. Манипулятор "мышь" используется: Для ввода информации

37. Как выделить нужное слово в текстовом редакторе <$Уо? 2 раза щёлкнуть левой кнопкой манипулятора "мышь" на нужном слове

38. Какой пункт меню текстового редактора ^Уош!" используется для вывода на экран панели инструментов "Рисование? Вид/Панель инструментов

39. Какой пункт меню текстового редактора *Уоп" используется для добавления столбцов в таблице? Таблица/Вставить

40. Термин "утилиты" применяется к: Инстр ументальным программам.

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

43. Тип связей с указателями от родительских объектов к потомкам характерен для каких моделей?Иерархических

44. Количество измерений в реляционной модели баз данных? 2

45. Для чего служит буфер обмена в операционной системе " УУГНЮОУУ У 1 ?Для обмена информацией между программами и документами.

46. При выполнении любой программы всегда происходит: Управление аппаратными средствами

47. Элемент программирования Массивы предназначен для:Хранения данных в больших объёмах

48. Очерёдность выполнения команд и операторов в программе определяется: Порядком расположения строк

49. Каким образом можно наиболее эффективно передавать информацию между компьютерами?Использование компьютерных сетей

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

51. Что такое "интерфейс"? Интерфейс - средство сопряжения двух устройств, в котором согласуются все физические и логические параметры

52. Какой способ соединения компьютеров в сеть является наиболее быстрым?Оптиковолокно

53. Информатика не рассматривает Принципы функционирования:Телевизоров

54. Какое устройство в составе компьютера осуществляет обработку информации и управляет работой других частей компьютера?Центральныйпроцессор

55. Для передачи информации между компьютерами по телефонным линиям используется:Модем

56. Сколько битов содержит одинбайт: 8

57. Какое устройство в компьютере выполняетарифметико-логическиеоперации? Центральный процессор

58. Какой пункт меню текстового редактора …. используется для задания способа выравнивания содержимого ячейки?Таблица/Свойстватаблицы/Ячейка

59. Антивирусные программы относятся к:Сервисным программам

60. Какой пункт менютекстового редактора и *Уч)!чГ используется для задания способа начертания символов текста (обычный, полужирный, курсив)? Формат/Шрифт

61. Как в текстовом редакторе "#Уогс1" просмотреть на экране монитора документ в том виде, в кагором он будет отпечатан на принтере? Щёлкнуть левой кнопкой "мышь" по кнопке «Предварительный просмотр» на панели инструментов

62. Логическая топология сети, моделирует: Возможные связи между объектами сети

63. Для реляционных информационных моделей характерно:Представление данных в вид е таблицы

64. Модели с представлением данных в виде дерева и имеющие произвольные связи между собой называются: Сетевыми

65. Семантические модели баз данных основаны на: Смысловых связях объектов

66. Оператор цикла позволяет: Повторять часть программы заданное количество раз

67. Символ блок-схемы «Прямоугольник» обозначает:Действие

68. Какое из перечисленных ниже положений является неверным:Программа позволяет компьютеру мыслить

69. Как называются программы, с помощью которых создаются другие программы: Прикладные программы

70. Какое из утверждений не верно:Информация передаётся по глобальной сети «Интернет»

71. Как можно обеспечить защиту информации от несанкционированного использования при её передаче по компьютерным сетям?Использовать крипт ографичес кие методы кодирования информации

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

73. Какую информацию невозможно передавать через сеть "Интернет"? Можно передать любую

74. Информатика - это наука о: А) Компьютерах принципах их функционирования и управления Б) Создании, хранении, обработке и передаче данных Работе с информацией с помощью компьютера.Все перечисленные выше вар ианты_______________________

75. Что такое информация?Продукт взаимодействия данных и адекватных методов. Данные, используемые для уменьшения неопределённости. Данные, которыми владеет система. Все что выше.

76. Какое устройство не используется для ввода информации в компьютер? Блок питания.

77. Какой не перечисленных параметров не влияет на производительностькомпьютера?Мощность блока питания

78. Оперативная память служит для:Хранения программ и данных во время работы компьютера

79. Как выделить строку в текстовом редакторе <$Уоп1: Установить курсор мыши слева от строки за границей текста и щёлкнуть левой кнопкой манипулятора "мышь

80. Как называются программы, предназначенные для обработки информации (текстовые и графические редакторы, электронные таблицы, видео и аудио-проигрыватели, игры и т.п.)?Прикладные программы

81. Размер шрифта измеряется: пикселях

82. Флоппи-диски (дискеты)перед Применениемформатируют. Программаформатирования относится к: сервисным программам

83. ЧТО невозможно сделать при обработке информации?

84. Сколько байтов содержит один килобайт: 1024

85. Иерархическая модель подразумевает связи между объектами: От родительских объектов к потомкам

86. Реляционная модель структуры данных представлена в виде:Таблицы

87. Программа это: Упорядоченная система команд и инструкций

88. Занесение данных в переменные выполняется с помощью операторов: Присваивание Процесс перевода текста программы в машинные коды до её запуска называется:Компиляция

89. Операторы цикла предназначены для: Повторения указанных пользователем действий заданное количество раз

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

91. Какой символ определят принадлежность имени к электронному почтовому ящику АГОУУУ-\А/И/IV Б)® В)=.@

92. Что невозможно сделать припередачи информации в сети?Увеличить количество информации

93. Каким образом можно уменьшить объем памяти, требующейся для хранения информации?Перед хранением использовать программу - архиватор для сжатия файлов и ш/ создания архива

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

Можно сказать, что интерфейс характеризует границу раздела двух систем, подсистем, устройств или программ.

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

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

Интерфейсы принято подразделять на аппаратные и программные.

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

соединения устройств.

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

Дискуссия! Синапс (synapsis; греч. «соприкосновение»,

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

Есть «логика» у синапса? В чем отличие синапса от адаптера?

Является ли синапс и программным, и аппаратным устройством?

Например, любой контроллер может быть

перепрограммируемым. При воздействии неблагоприятных

факторов могут ли быть перепрограммируемыми синапсы?

Введение 3

Аппаратный интерфейс 4

Предварительные версии 14

Понятие интерфейса пользователя 23

Виды интерфейсов 26

Командный интерфейс 27

Графический интерфейс 29

Простой графический интерфейс 30

WIMP - интерфейс 32

Речевая технология 33

Биометрическая технология 34

Семантический (общественный) интерфейс 34

Типы интерфейсов 35

Методы и средства разработки пользовательского интерфейса 38

Стандартизация пользовательского интерфейса 41

Список литературы 44

Введение

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

Аппаратный интерфейс

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

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

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

Аппаратный порт - специализированный разъём в компьютере, предназначенный для подключения оборудования определённого типа. Обычно портами называют разъёмы, предназначенные для работы периферийного оборудования, существенно разделённого от архитектуры компьютера (например, сетевые разъёмы не называют портами, так же, как не называют портами разъёмы PCI /ISA /AGP /VLB /PCI-E -шин, разъёмы для оперативной памяти и процессора). К аппаратным портам относят:

Параллельный порт

Последовательный порт

IEEE 1394 (FireWire)

Параллельный порт

IEEE 1284 (порт принтера , параллельный порт , Print Terminal , LPT ) - международный стандартпараллельного интерфейса для подключения периферийных устройств персонального компьютера.

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

В основе данного стандарта лежит интерфейс Centronics и его расширенные версии (ECP, EPP).

Название «LPT» образовано от наименования стандартного устройства принтера «LPT1» (Line Printer Terminal или Line PrinTer) в операционных системах семейства MS-DOS.

Интерфейс Centronics и стандарт IEEE 1284

Параллельный порт Centronics - порт, используемый с 1981 года в персональных компьютерах фирмы IBM для подключения печатающих устройств, разработан фирмой Centronics Data Computer Corporation; уже давно стал стандартом де-факто, хотя в действительности официально на данный момент он не стандартизирован.

Изначально этот порт был разработан только для симплексной (однонаправленной) передачи данных, так как предполагалось, что порт Centronics должен использоваться только для работы с принтером . Впоследствии разными фирмами были разработаны дуплексные расширения интерфейса (byte mode, EPP, ECP). Затем был принят международный стандарт IEEE 1284, описывающий как базовый интерфейс Centronics, так и все его расширения.

Разъемы

Порт на стороне управляющего устройства (компьютера) имеет 25-контактный 2-рядный разъём DB-25-female («мама») (IEEE 1284-A). Не путать с аналогичным male-разъёмом («папа»), который устанавливался на старых компьютерах и представляет собой 25-пиновый COM-порт . На периферийных устройствах обычно используется 36-контактный микроразъем ленточного типа Centronics (IEEE 1284-B), поэтому кабели для подключения периферийных устройств к компьютеру по параллельному порту обычно выполняются с 25-контактным разъёмом DB-25-male на одной стороне и 36-контактным IEEE 1284-B на другой (AB-кабель). Изредка применяется AC-кабель с 36-контактным разъемом MiniCentronics (IEEE 1284-C).

Существуют также CC-кабели с разъёмами MiniCentronics на обоих концах, предназначенные для подключения приборов в стандарте IEEE 1284-II, который применяется редко.

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

Для подключения сканера, и некоторых других устройств используется кабель, у которого вместо разъема (IEEE 1284-B) установлен разъем DB-25-male. Обычно сканер оснащается вторым интерфейсом с разъемом DB-25-female (IEEE 1284-A) для подключения принтера (поскольку обычно компьютер оснащается только одним интерфейсом IEEE 1284). Схемотехника сканера построена таким образом, чтобы при работе с принтером сканер прозрачно передавал данные с одного интерфейса на другой.

Физический интерфейс

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

Данные передаются в одну сторону: от компьютера к внешнему устройству. Но полностью однонаправленным его назвать нельзя. Так, 4 обратные линии используются для контроля за состоянием устройства. Centronics позволяет подключать одно устройство, поэтому для совместного очерёдного использования нескольких устройств требуется дополнительно применять селектор.

Скорость передачи данных может варьироваться и достигать 1,2 Мбит /с .

Фирменные расширения

Большинство фирменных расширений первоначального интерфейса впоследствии было стандартизировано индустрией, каковой процесс завершился принятием серии стандартов IEEE-1284.

Однако, следует отметить, что полного соответствия между этим стандартом и предшествующими ему фирменными расширениями нет. Наиболее известными фирменными расширениями являются оные от фирмы Hewlett-Packard . Это Bitronics, обеспечивающий двустороннюю передачу информации (применяется прежде всего для снятия расширенной информации о состоянии принтера) и протокол мультиплексирования шины от HP, предназначенный для того, чтобы подключать к одному LPT-порту множество устройств по схеме «цепочка». На основе этого протокола были разработаны стандарты 1284.3-2000 и 1284.4-2000, но полной совместимости достигнуто не было.

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

Режимы работы

Стандарт позволяет использовать интерфейс в нескольких режимах:

SPP (Standard Parallel Port) - однонаправленный порт, полностью совместим с интерфейсом Centronics.

Nibble Mode - позволяет организовать двунаправленный обмен данными в режиме SPP путём использования управляющих линий (4 бит) для передачи данных от периферийного устройства к контроллеру. Исторически это был единственный способ использовать Centronics для двустороннего обмена данными.

Byte Mode - редко используемый режим двустороннего обмена данными. Использовался в некоторых старых контроллерах до принятия стандарта IEEE 1284.

EPP (Enhanced Parallel Port) - разработан компаниями Intel , Xircom и Zenith Data Systems - двунаправленный порт, со скоростью передачи данных до 2МБайт/сек.(1991)

ЕСР (Extended Capabilities Port) - разработан компаниями Hewlett-Packard и Microsoft - в дополнение появились такие возможности, как наличие аппаратного сжатия данных , наличие буфера и возможность работы в режиме DMA .

Стандарт IEEE-1284

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

Стандарт включает в себя следующие документы:

IEEE 1284-1994: Standard Signaling Method for a Bi-directional Parallel Peripheral Interface for Personal Computers - двунаправленная передача данных

IEEE 1284.1-1997: Transport Independent Printer/System Interface- a protocol for returning printer configuration and status - стандартизованный метод получения информации о состоянии принтера

IEEE 1284.2: Standard for Test, Measurement and Conformance to IEEE 1284 (not approved) - тестирование на соответствие стандарту (так и не был принят)

IEEE 1284.3-2000: Interface and Protocol Extensions to IEEE 1284-Compliant Peripherals and Host Adapters- a protocol to allow sharing of the parallel port by multiple peripherals (daisy chaining) - протокол и схема к одному порту многих устройств, объединённых в «цепочку» (позволяет выбрать нужное устройство и работать с ним).

IEEE 1284.4-2000: Data Delivery and Logical Channels for IEEE 1284 Interfaces - allows a device to carry on multiple, concurrent exchanges of data - протокол одновременной передачи информации многим устройствам (позволяет работать одновременно с несколькими устройствами в цепочке).

В настоящее время стандарт IEEE-1284 не развивается. Окончательная стандартизация параллельного порта совпала с началом внедрения интерфейса USB , который позволяет подключать также и комбинированные аппараты (сканер -принтер -копир ) и обеспечивает более высокую скорость печати и надёжную работу принтера. Также, альтернативой параллельному интерфейсу является сетевой интерфейс Ethernet .

Последовательный порт

Последовательный порт ( port ), серийный порт или COM-порт (произносится «ком-порт», от port ) - двунаправленный последовательный интерфейс , предназначенный для обмена битовой информацией.

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

Назначение

Наиболее часто для последовательного порта персональных компьютеров используется стандарт RS-232C. Ранее последовательный порт использовался для подключения терминала, позже для модема или мыши . Сейчас он используется для соединения с источниками бесперебойного питания , для связи с аппаратными средствами разработкивстраиваемых вычислительных систем , спутниковыми ресиверами, а также с приборами систем безопасности объектов.

С помощью COM-порта можно соединить два компьютера, используя так называемый «нуль-модемный кабель» (см. ниже).

Разъемы

На материнских платах ведущих производителей (например, Intel ) или готовых системах (например, IBM , Hewlett-Packard , Fujitsu Siemens Computers ) для последовательного порта принято следующее условное обозначение:

Наиболее часто используются стандартизированные в 1969 году D-образные разъёмы: 9-ти и 25-ти контактные, (DE-9 и DB-25 соответственно). Раньше использовались также DB-31 и круглые восьмиконтактные DIN-8. Максимальная скорость передачи, в обычном исполнении порта, составляет 115 200 бод

Актуальность

Широко распространённый в , последовательный порт в настоящее время морально устарел (Спецификация PC99 - один из примеров попытки избавиться в современных материнских платах от наследия старых интерфейсов), но ещё нередко присутствует на современных компьютерах и используется в промышленном и узкоспециальном оборудовании. В настоящее время в IBM PC-совместимых компьютерах активно вытесняется интерфейсом USB , в Macintosh - FireWire .

Программный доступ к COM – порту

COM-порты в операционной системе Unix (Linux ) - это файлы символьных устройств. Обычно эти файлы располагаются в каталоге/dev и называются

ttyS0 , ttyS1 , ttyS2 и т. д. в Linux

ttyd0 , ttyd1 , ttyd2 и т. д. (или ttyu0 , ttyu1 , ttyu2 и т. д. начиная с версии 8.0) в FreeBSD

ttya , ttyb , ttyc и т. д. в Solaris

ttyf1 , ttyf2 , ttyf3 и т. д. в IRIX

tty1p0 , tty2p0 , tty3p0 и т. д. в HP-UX

tty01 , tty02 , tty03 и т. д. в Digital Unix

ser1 , ser2 , ser3 и т. д. в QNX

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

Windows

COM-порты в операционной системе Windows - это именованные каналы для передачи данных, называемые обычно COM1, COM2 и т. д. по порядку обнаружения драйверов соответствующих устройств. Например, для обмена информации через Bluetooth многие драйверы представляются операционной системе как COM-порт, и резервируют похожее имя. Следует также отметить, что организация взаимодействия по последовательному порту с точки зрения программирования реализуется значительно легче, чем другие способы. [ источник не указан 694 дня ]

Для каждого порта в реестре имеется раздел. Эти разделы имеют такие имена: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serial\Parameters\Serial10000

где последнее значение “Serial10000” - уникальный номер для каждого нового добавленного в систему COM-порта, для второго – “Serial10001” и т.д

Для связи с устройствами, поддерживающими Bluetooth, некоторым программам (например, к таким программам относятся: программа, которая синхронизирует список контактов с мобильным телефоном; программа, которая извлекает координаты GPS из GPS-приемника) на компьютере пользователя требуется COM-порт.

К программам, использующим COM-порты для поддержки связи с помощью технологии беспроводного подключения Bluetooth, непосредственно разработанных фирмой Microsoft, относятся:

HotSync, используемый в ручных компьютерах

ActiveSync , используемый в карманных ПК

Microsoft Streets and Trips 2002

OS/2

Имеющийся драйвер COM.SYS поддерживает только 4 COM-порта, каждый из которых должен иметь свою линию прерываний. Для обслуживания COM-портов с общей линией прерывания необходимо воспользоваться драйвером SIO

USB ( Serial Bus - «универсальная последовательная шина», произносится «ю-эс-би») - последовательный интерфейс передачи данных для среднескоростных и низкоскоростных периферийных устройств в вычислительной технике . Символом USB являются четыре геометрические фигуры: большой круг, малый круг, стрелка и квадрат, расположенные на концах древовидной блок-схемы.

Разработка спецификаций на шину USB производится в рамках международной некоммерческой организации USB Implementers Forum (USB-IF), объединяющей разработчиков и производителей оборудования с шиной USB.

Для подключения периферийных устройств к шине USB используется четырёхпроводный кабель, при этом два провода (витая пара ) в дифференциальном включении используются для приёма и передачи данных, а два провода - для питания периферийного устройства. Благодаря встроенным линиям питания USB позволяет подключать периферийные устройства без собственного источника питания (максимальная сила тока, потребляемого устройством по линиям питания шины USB, не должна превышать 500 мА).

К одному контроллеру шины USB можно подсоединить до 127 устройств по топологии «звезда» , в том числе и концентраторы . На одной шине USB может быть до 127 устройств и до 5 уровней каскадирования хабов, не считая корневого.

В настоящее время широко используются устройства, выполненные в соответствии со спецификацией USB 2.0. Недавно появились устройства, работающие на шине USB 3.0.

Предварительные версии

USB 0.7 : спецификация выпущена в ноябре 1994 года.

USB 0.8 : спецификация выпущена в декабре 1994 года.

USB 0.9 : спецификация выпущена в апреле 1995 года.

USB 0.99 : спецификация выпущена в августе 1995 года.

USB 1.0 Release Candidate : спецификация выпущена в ноябре 1995 года.

USB 1.0

Технические характеристики:

два режима передачи данных:

режим с высокой пропускной способностью (Full-Speed ) - 12 Мбит/с

режим с низкой пропускной способностью (Low-Speed ) - 1,5 Мбит/с

максимальная длина кабеля для режима с высокой пропускной способностью - 5 м

максимальная длина кабеля для режима с низкой пропускной способностью - 3 м

максимальное количество подключённых устройств (включая размножители) - 127

возможно подключение устройств, работающих в режимах с различной пропускной способностью к одному контроллеру USB

напряжение питания для периферийных устройств - 5 В

максимальный ток, потребляемый периферийным устройством - 500 мА

USB 1.1

Спецификация выпущена в сентябре 1998 года. Исправлены проблемы и ошибки, обнаруженные в версии 1.0. Первая версия, получившая массовое распространение.

USB 2.0

Спецификация выпущена в апреле 2000 года.

USB 2.0 отличается от USB 1.1 введением режима Hi-speed.

Для устройств USB 2.0 регламентировано три режима работы:

Low-speed, 10-1500 Кбит/c (используется для интерактивных устройств: клавиатуры, мыши, джойстика)

Full-speed, 0,5-12 Мбит/с (аудио-, видеоустройства)

Hi-speed, 25-480 Мбит/с (видеоустройства, устройства хранения информации)

Последующие модификации

Последующие модификации к спецификации USB публикуются в рамках Извещений об инженерных изменениях ( Change Notices - ECN). Самые важные из модификаций ECN представлены в наборе спецификаций USB 2.0 (англ. USB 2.0 specification package ), доступном на сайте USB Implementers Forum .

Mini-B Connector ECN : извещение выпущено в октябре 2000 года.

Errata, начиная с декабря 2000 : извещение выпущено в декабре 2000 года.

Pull-up/Pull-down Resistors ECN : извещение выпущено в мае 2002 года.

Errata, начиная с мая 2002 : извещение выпущено в мае 2002 года.

Interface Associations ECN : извещение выпущено в мае 2003 года.

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

Rounded Chamfer ECN : извещение выпущено в октябре 2003 года.

Unicode ECN : извещение выпущено в феврале 2005 года.

Данное ECN специфицирует, что строки закодированы с использованием UTF-16LE .

Inter-Chip USB Supplement : извещение выпущено в марте 2006 года.

On-The-Go Supplement 1.3 : извещение выпущено в декабре 2006 года.

USB On-The-Go делает возможным связь двух USB-устройств друг с другом без отдельного USB-хоста. На практике одно из устройств играет роль хоста для другого.

USB OTG (аббр. от O n-T he-G o) - дальнейшее расширение спецификации USB 2.0, предназначенное для лёгкого соединения периферийных USB-устройств друг с другом без необходимости подключения к ПК. Например, цифровой фотоаппарат можно подключать к фотопринтеру напрямую, если они оба поддерживают стандарт USB OTG. К моделям КПК и коммуникаторов, поддерживающих USB OTG, можно подключать некоторые USB-устройства. Обычно это флэш-накопители, цифровые фотоаппараты, клавиатуры, мыши и другие устройства, не требующие дополнительных драйверов. Этот стандарт возник из-за резко возросшей в последнее время необходимости надёжного соединения различных устройств без использования ПК.

Хотя соединение USB OTG выглядит как одноранговое, на самом деле только создаётся такое ощущение - в действительности устройства сами определяют, какое из них будет мастер-устройством, а какое - подчинённым. Одноранговый интерфейс USB существовать не может.

USB Wireless

USB wireless - технология USB (официальная спецификация доступна с мая 2005 года ), позволяющая организовать беспроводную связь с высокой скоростью передачи информации (до 480 Мбит/с на расстоянии 3 метра и до 110 Мбит/с на расстоянии 10 метров).

23 июля 2007 года USB Implementers Forum (USB-IF) объявила о сертификации шести первых потребительских продуктов с поддержкой Wireless USB.

USB 3.0

Окончательная спецификация USB 3.0 появилась в 2008 году.

Созданием USB 3.0 занимались компании Intel , Microsoft , Hewlett-Packard , Texas Instruments ,

NEC и NXP Semiconductors .

В спецификации USB 3.0 разъёмы и кабели обновлённого стандарта физически и функционально совместимы с USB 2.0. Кабель USB 2.0 содержит в себе четыре линии - пару для приёма/передачи данных, плюс и ноль питания. В дополнение к ним USB 3.0 добавляет еще четыре линии связи (две витых пары), в результате чего кабель стал гораздо толще. Hовые контакты в разъемах USB 3.0 расположены отдельно от старых на другом контактном ряду. Теперь можно будет с лёгкостью определить принадлежность кабеля к той или иной версии стандарта, просто взглянув на его разъём. Спецификация USB 3.0 повышает максимальную скорость передачи информации до 4,8 Гбит/с - что на порядок больше 480 Мбит/с, которые может обеспечить USB 2.0.
Версия 3.0 может похвастаться не только более высокой скоростью передачи информации, но и увеличенной силой тока с 500 мА до 900 мА. Отныне пользователь может не только подпитывать от одного хаба большее количество устройств, но и сами устройства во многих случаях смогут избавиться от отдельных блоков питания.

Компания Asus выпустила материнскую плату P6X58 Premium, у которой есть два USB 3.0 порта. А компания Gigabyte выпустила первую материнскую плату с поддержкой USB 3.0 и SATA 6Gb/s для процессоров AMD - Gigabyte GA-790FXTA-UD5.Порты USB 3.0 на материнской плате синего цвета.

В блоге разработчика Linux USB subsystem Sarah Sharp объявлено о поддержке USB 3.0 ядром Linux, начиная с версии 2.6.31.

Фирмой Intel анонсирована предварительная версия программной модели контроллера USB 3.0.

Но в октябре 2009 года появилась информация (от EE Times со ссылкой на сотрудника одной из крупнейших компаний по производству персональных компьютеров), что корпорация Intel решила повременить с внедрением поддержки USB 3.0 в свои чипсеты до 2011 г. Это решение приведет к тому, что данный стандарт не станет массовым ещё как минимум год.

Недостатки USB 2.0

Хотя пиковая пропускная способность USB 2.0 составляет 480 Мбит/с (60 Мбайт/с), на практике обеспечить пропускную способность, близкую к пиковой, не удаётся (~33,5 Мбайт/сек на практике). Это объясняется достаточно большими задержками шины USB между запросом на передачу данных и собственно началом передачи. Например, шинаFireWire , хотя и обладает меньшей пиковой пропускной способностью 400 Мбит/с, что на 80 Мбит/с (10 Мбайт/с) меньше, чем у USB 2.0, в реальности позволяет обеспечить бо́льшую пропускную способность для обмена данными с жёсткими дисками и другими устройствами хранения информации. В связи с этим разнообразные мобильные накопители уже давно «упираются» в недостаточную практическую пропускную способность USB 2.0.

PATA / SATA

ATA (англ. Advanced Technology Attachment - присоединение по передовой технологии) - параллельный интерфейс подключения накопителей (жёстких дисков и оптических приводов ) к компьютеру. В 1990-е годы был стандартом на платформе IBM PC ; в настоящее время вытесняется своим последователем - SATA и с его появлением получил название PATA (Parallel ATA).

SATA (англ. Serial ATA ) - последовательный интерфейс обмена данными с накопителями информации. SATA является развитием параллельного интерфейса ATA (IDE), который после появления SATA был переименован в PATA (Parallel ATA).

Первоначально стандарт SATA предусматривал работу шины на частоте 1,5 ГГц , обеспечивающей пропускную способность приблизительно в 1,2 Гбит /с (150 МБ /с). (20%-я потеря производительности объясняется использованием системы кодирования 8B/10B , при которой на каждые 8 бит полезной информации приходится 2 служебных бита). Пропускная способность SATA/150 незначительно выше пропускной способности шины Ultra ATA (UDMA/133). Главным преимуществом SATA перед PATA является использование последовательной шины вместо параллельной. Несмотря на то, что последовательный способ обмена принципиально медленнее параллельного, в данном случае это компенсируется возможностью работы на более высоких частотах за счёт избежания необходимости синхронизации каналов и большей помехоустойчивости кабеля. Это достигается применением принципиально иного способа передачи данных

Стандарт SATA/300 работает на частоте 3 ГГц, обеспечивает пропускную способность до 2,4 Гбит/с (300 МБ/с). Впервые был реализован в контроллере чипсета nForce 4 фирмы «NVIDIA ». Часто стандарт SATA/300 называют SATA II или SATA 2.0 . Теоретически устройства SATA/150 и SATA/300 должны быть совместимы (как контроллер SATA/300 с устройством SATA/150, так и контроллер SATA/150 с устройством SATA/300) за счёт поддержки согласования скоростей (в меньшую сторону), однако для некоторых устройств и контроллеров требуется ручное выставление режима работы (например, на НЖМД фирмы Seagate , поддерживающих SATA/300, для принудительного включения режима SATA/150 предусмотрен специальный джампер ).

Спецификация SATA Revision 3.0 предусматривает возможность передачи данных на скорости до 6 Гбит/с (практически до 5.89 Гбит/с - 700 Мбайт/с). В числе улучшений SATA Revision 3.0 по сравнению с предыдущей версией спецификации, помимо более высокой скорости, можно отметить улучшенное управление питанием. Также будет сохранена совместимость, как на уровне разъёмов и кабелей SATA, так и на уровне протоколов обмена. Кстати, консорциум SATA-IO предостерегает от применения для обозначения поколений SATA терминов вроде SATA III, SATA 3.0 или SATA Gen 3. Полное правильное название спецификации - SATA Revision 3.0; название интерфейса - SATA 6Gb/s.

SATA использует 7-контактный разъём вместо 40-контактного разъёма у PATA. SATA-кабель имеет меньшую площадь, за счёт чего уменьшается сопротивление воздуху, обдувающему комплектующие компьютера, упрощается разводка проводов внутри системного блока.

SATA-кабель за счёт своей формы более устойчив к многократному подключению. Питающий шнур SATA также разработан с учётом многократных подключений. Разъём питания SATA подаёт 3 напряжения питания: +12 В, +5 В и +3,3 В; однако современные устройства могут работать без напряжения +3,3 В, что даёт возможность использовать пассивный переходник со стандартного разъёма питания IDE на SATA. Ряд SATA-устройств поставляется с двумя разъёмами питания: SATA и Molex .

Стандарт SATA отказался от традиционного для PATA подключения по два устройства на шлейф; каждому устройству полагается отдельный кабель, что снимает проблему невозможности одновременной работы устройств, находящихся на одном кабеле (и возникавших отсюда задержек), уменьшает возможные проблемы при сборке (проблема конфликта Slave/Master устройств для SATA отсутствует), устраняет возможность ошибок при использовании нетерминированных PATA-шлейфов.

Стандарт SATA поддерживает функцию очереди команд (NCQ , начиная с SATA Revision 2.x).

Стандарт SATA не предусматривает горячую замену активного устройства (используемого Операционной Системой) (вплоть до SATA Revision 3.x), дополнительно подключенные диски отключать нужно постепенно - питание, шлейф, а подключать в обратном порядке - шлейф, питание.

IEEE 1394 (FireWire, i-Link) - последовательная высокоскоростная шина , предназначенная для обмена цифровой информацией междукомпьютером и другими электронными устройствами.

PS/2 - разъем, применяемый для подключения клавиатуры и мыши . Впервые появился в 1987 году на компьютерах IBM PS/2 и впоследствии получил признание других производителей и широкое распространение в персональных компьютерах и серверах рабочих групп.

Сейчас все больше компьютерных мышей и клавиатур имеют разъем USB , некоторые современные материнские платы (особенно миниатюрных форм-факторов ) не имеют разъема PS/2 или имеют только один разъем. Современные ноутбуки не имеют разъемов PS/2 и для подключения к ним мыши или внешней клавиатуры используется USB.

Некоторые материнские платы (например, выпускаемые Intel) могут правильно работать при «неправильном» подключении мыши и клавиатуры, то есть при подключении клавиатуры в порт предназначенный для мыши, и наоборот мыши в порт для клавиатуры, материнская плата сама распознает устройства и позволит пользователю продолжить работу и с мышью и с клавиатурой без их переподключения. Большинство же материнских плат при неправильном подключении (или при отключении во время работы), потребуют от пользователя перезагрузки и «правильного» подключения устройств. На некоторых материнских платах, которые умеют распознавать подключаемые устройства, производители устанавливают только один разъём PS/2, раскрашивая его в два соответствующих цвета. Таким образом пользватель может сам решить, что туда подключать: клавиатуру или мышь. Оставшиеся не подключенным устройство можно подключить через USB.

Существуют компьютерные мыши и клавиатуры (например, производимые фирмами Microsoft или Logitech ) имеющие на кабеле разъём USB и способные работать через переходник с портом PS/2. Следует учесть, что такое подключение допустимо только для специально спроектированных USB-устройств!

Предшественником PS/2 являлся DIN-разъем , применявшийся изначально в аудиоаппаратуре, для клавиатур использовался 5-контактный DIN.

Понятие интерфейса пользователя

Интерфейс - совокупность технических, программных и методических (протоколов, правил, соглашений) средств сопряжения в вычислительной системе пользователей с устройствами и программами, а также устройств с другими устройствами и программами.

Интерфейс - в широком смысле слова, это способ (стандарт) взаимодействия между объектами. Интерфейс в техническом смысле слова задаёт параметры, процедуры и характеристики взаимодействия объектов. Различают:

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

Программный интерфейс - набор методов для взаимодействия между программами.

Физический интерфейс - способ взаимодействия физических устройств. Чаще всего речь идёт о компьютерных портах.

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

Рис.1. Взаимодействие пользователя с компьютером

В основном пользователь генерирует сообщения следующих типов:

запрос информации

запрос помощи

запрос операции или функции

ввод или изменение информации

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

Интерфейс пользователя компьютерного приложения включает:

средства отображения информации, отображаемую информацию, форматы и коды;

командные режимы, язык "пользователь - интерфейс";

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

поддержку принятия решений в конкретной предметной области;

порядок использования программы и документацию на неё.

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

Это не только экран, который видит пользователь. К этим элементам относятся:

набор задач пользователя, которые он решает при помощи системы;

используемая системой метафора (например, рабочий стол в MS Windows®);

элементы управления системой;

навигация между блоками системы;

визуальный (и не только) дизайн экранов программы;

средства отображения информации, отображаемая информация и форматы;

устройства и технологии ввода данных;

диалоги, взаимодействие и транзакции между пользователем и компьютером;

обратная связь с пользователем;

поддержка принятия решений в конкретной предметной области;

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

Виды интерфейсов

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

Современными видами интерфейсов являются:

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

2) WIMP - интерфейс (Window - окно, Image - образ, Menu - меню, Pointer - указатель). Характерной особенностью этого вида интерфейса является то, что диалог с пользователем ведется не с помощью команд, а с помощью графических образов - меню, окон, других элементов. Хотя и в этом интерфейсе подаются команды машине, но это делается "опосредственно", через графические образы. Этот вид интерфейса реализован на двух уровнях технологий: простой графический интерфейс и "чистый" WIMP - интерфейс.

3) SILK - интерфейс (Speech - речь, Image - образ, Language - язык, Knowlege - знание). Этот вид интерфейса наиболее приближен к обычной, человеческой форме общения. В рамках этого интерфейса идет обычный "разговор" человека и компьютера. При этом компьютер находит для себя команды, анализируя человеческую речь и находя в ней ключевые фразы. Результат выполнения команд он также преобразует в понятную человеку форму. Этот вид интерфейса наиболее требователен к аппаратным ресурсам компьютера, и поэтому его применяют в основном для военных целей.

Командный интерфейс

Пакетная технология. Исторически этот вид технологии появился первым. Она существовала уже на релейных машинах Зюса и Цюзе (Германия, 1937 год). Идея ее проста: на вход компьютера подается последовательность символов, в которых по определенным правилам указывается последовательность запущенных на выполнение программ. После выполнения очередной программы запускается следующая и т.д. Машина по определенным правилам находит для себя команды и данные. В качестве этой последовательности может выступать, например, перфолента, стопка перфокарт, последовательность нажатия клавиш электрической пишущей машинки (типа CONSUL). Машина также выдает свои сообщения на перфоратор, алфавитно-цифровое печатающее устройство (АЦПУ), ленту пишущей машинки. Такая машина представляет собой "черный ящик" (точнее "белый шкаф"), в который постоянно подается информация и которая также постоянно "информирует" мир о своем состоянии (см. рисунок 1) Человек здесь имеет малое влияние на работу машины - он может лишь приостановить работу машины, сменить программу и вновь запустить ЭВМ. Впоследствии, когда машины стали помощнее и могли обслуживать сразу нескольких пользователей, вечное ожидание пользователей типа: "Я послал данные машине. Жду, что она ответит. И ответит ли вообще? " - стало, мягко говоря, надоедать. К тому же вычислительные центры, вслед за газетами, стали вторым крупным "производителем" макулатуры. Поэтому с появлением алфавитно-цифровых дисплеев началась эра по-настоящему пользовательской технологии - командной строки.

Рис.2. Вид большой ЭВМ серии ЕС ЭВМ

Технология командной строки. При этой технологии в качестве единственного способа ввода информации от человека к компьютеру служит клавиатура, а компьютер выводит информацию человеку с помощью алфавитно-цифрового дисплея (монитора). Эту комбинацию (монитор + клавиатура) стали называть терминалом, или консолью. Команды набираются в командной строке. Командная строка представляет собой символ приглашения и мигающий прямоугольник - курсор. При нажатии клавиши на месте курсора появляются символы, а сам курсор смещается вправо. Это очень похоже на набор команды на пишущей машинке. Однако, в отличие от нее, буквы отображаются на дисплее, а не на бумаге, и неправильно набранный символ можно стереть. Команда заканчивается нажатием клавиши Enter (или Return) После этого осуществляется переход в начало следующей строки. Именно с этой позиции компьютер выдает на монитор результаты своей работы. Затем процесс повторяется. Технология командной строки уже работала на монохромных алфавитно-цифровых дисплеях. Поскольку вводить позволялось только буквы, цифры и знаки препинания, то технические характеристики дисплея были не существенны. В качестве монитора можно было использовать телевизионный приемник и даже трубку осциллографа.

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

Преобладающим видом файлов при работе с командным интерфейсом стали текстовые файлы - их и только их можно было создать при помощи клавиатуры. На время наиболее широкого использования интерфейса командной строки приходится появление операционной системы UNIX и появление первых восьмиразрядных персональных компьютеров с многоплатформенной операционной системой CP / M.

Графический интерфейс

Как и когда появился графический интерфейс? Его идея зародилась в середине 70-х годов, когда в исследовательском центре Xerox Palo Alto Research Center (PARC) была разработана концепция визуального интерфейса. Предпосылкой графического интерфейса явилось уменьшение времени реакции компьютера на команду, увеличение объема оперативной памяти, а также развитие технической базы компьютеров. Аппаратным основанием концепции, конечно же, явилось появление алфавитно-цифровых дисплеев на компьютерах, причем на этих дисплеях уже имелись такие эффекты, как "мерцание" символов, инверсия цвета (смена начертания белых символов на черном фоне обратным, то есть черных символов на белом фоне), подчеркивание символов. Эти эффекты распространились не на весь экран, а только на один или более символов. Следующим шагом явилось создание цветного дисплея, позволяющего выводить, вместе с этими эффектами, символы в 16 цветах на фоне с палитрой (то есть цветовым набором) из 8 цветов. После появления графических дисплеев, с возможностью вывода любых графических изображений в виде множества точек на экране различного цвета, фантазии в использовании экрана вообще не стало границ! Первая система с графическим интерфейсом 8010 Star Information System группы PARC, таким образом, появилась за четыре месяца до выхода в свет первого компьютера фирмы IBM в 1981 году. Первоначально визуальный интерфейс использовался только в программах. Постепенно он стал переходить и на операционные системы, используемых сначала на компьютерах Atari и Apple Macintosh, а затем и на IBM - совместимых компьютерах.

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

Простой графический интерфейс

На первом этапе графический интерфейс очень походил на технологию командной строки. Отличия от технологии командной строки заключались в следующим:

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

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

3. Нажатие клавиши Enter не всегда приводит к выполнению команды и переходу к следующей строке. Реакция на нажатие любой клавиши во многом зависит от того, в какой части экрана находился курсор.

4. Кроме клавиши Enter, на клавиатуре все чаще стали использоваться "серые" клавиши управления курсором.

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

Рис.3. Манипуляторы

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

1) Выделение областей экрана.

2) Переопределение клавиш клавиатуры в зависимости от контекста.

3) Использование манипуляторов и серых клавиш клавиатуры для управления курсором.

4) Широкое использование цветных мониторов.

Появление этого типа интерфейса совпадает с широким распространением операционной системы MS-DOS. Именно она внедрила этот интерфейс в массы, благодаря чему 80-е годы прошли под знаком совершенствования этого типа интерфейса, улучшения характеристик отображения символов и других параметров монитора.

Типичным примером использования этого вида интерфейса является файловая оболочка Nortron Commander (о файловых оболочках смотри ниже) и текстовый редактор Multi-Edit. А текстовые редакторы Лексикон, ChiWriter и текстовый процессор Microsoft Word for Dos являются примером, как этот интерфейс превзошел сам себя.

WIMP - интерфейс

Вторым этапом в развитии графического интерфейса стал "чистый" интерфейс WIMP, Этот подвид интерфейса характеризуется следующими особенностями.

1. Вся работа с программами, файлами и документами происходит в окнах - определенных очерченных рамкой частях экрана.

2. Все программы, файлы, документы, устройства и другие объекты представляются в виде значков - иконок. При открытии иконки превращаются в окна.

3. Все действия с объектами осуществляются с помощью меню. Хотя меню появилось на первом этапе становления графического интерфейса, оно не имело в нем главенствующего значения, а служило лишь дополнением к командной строке. В чистом WIMP - интерфейсе меню становится основным элементом управления.

4. Широкое использование манипуляторов для указания на объекты. Манипулятор перестает быть просто игрушкой - дополнением к клавиатуре, а становится основным элементом управления. С помощью манипулятора УКАЗЫВАЮТ на любую область экрана, окна или иконки, ВЫДЕЛЯЮТ ее, а уже потом через меню или с использованием других технологий осуществляют управление ими.

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

Ярким примером программ с графическим интерфейсом является операционная система Microsoft Windows.

Речевая технология

С середины 90-х годов, после появления недорогих звуковых карт и широкого распространения технологий распознавания речи, появился так называемый "речевая технология" SILK - интерфейса. При этой технологии команды подаются голосом путем произнесения специальных зарезервированных слов - команд. Основными такими командами (по правилам системы "Горыныч") являются:

"Отдыхай" - выключение речевого интерфейса.

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

"Буду диктовать" - переход из режима команд в режим набора текста голосом.

"Режим команд" - возврат в режим подачи команд голосом.

И некоторые другие.

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

"Речевая" технология является простейшей реализацией SILK - интерфейса.

Биометрическая технология

Эта технология возникла в конце 90-х годов XX века и на момент написания книги еще разрабатывается. Для управления компьютером используется выражение лица человека, направление его взгляда, размер зрачка и другие признаки. Для идентификации пользователя используется рисунок радужной оболочки его глаз, отпечатки пальцев и другая уникальная информация. Изображения считываются с цифровой видеокамеры, а затем с помощью специальных программ распознавания образов из этого изображения выделяются команды. Эта технология, по-видимому, займет свое место в программных продуктах и приложениях, где важно точно идентифицировать пользователя компьютера.

Семантический (общественный) интерфейс

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

Типы интерфейсов

Интерфейсы пользователя бывают двух типов:

1) процедурно-ориентированные: примитивные меню со свободной навигацией

2) объектно-ориентированные:

прямого манипулирования.

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

Объектно-ориентированные интерфейсы используют модель взаимодействия с пользователем, ориентированную на манипулирование объектами предметной области. В рамках этой модели пользователю предоставляется возможность напрямую взаимодействовать с каждым объектом и инициировать выполнение операций, в процессе которых взаимодействуют несколько объектов. Задача пользователя формулируется как целенаправленное изменение некоторого объекта. Объект понимается в широком смысле слова - модель БД, системы и т.д. Объектно-ориентированный интерфейс предполагает, что взаимодействие с пользователем осуществляется посредством выбора и перемещения пиктограмм соответствующей объектно-ориентированной области. Различают однодокументные (SDI) и многодокументные (MDI) интерфейсы.

Процедурно-ориентированные интерфейсы:

1) Обеспечивают пользователю функции, необходимые для выполнения задач;

2) Акцент делается на задачи;

3) Пиктограммы представляют приложения, окна или операции;

Объектно-ориентированные интерфейсы:

1) Обеспечивает пользователю возможность взаимодействия с объектами;

2) Акцент делается на входные данные и результаты;

3) Пиктограммы представляют объекты;

4) Папки и справочники являются визуальными контейнерами объектов.

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

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

каждое окно меню занимает весь экран на экране одновременно присутствуют несколько разноуровневых меню (Windows).

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

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

Методы и средства разработки пользовательского интерфейса

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

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

В литературе не существует единой общепринятой классификации средств для разработки пользовательского интерфейса. Так, программное обеспечение для разработки пользовательского интерфейса можно разделить на две основные группы - инструментарий для разработки пользовательского интерфейса (toolkits) и высокоуровневые средства разработки интерфейса (higher-level development tools). Инструментарий для разработки пользовательского интерфейса, как правило, включает в себя библиотеку примитивов компонентов интерфейса (меню, кнопки, полосы прокрутки и др.) и предназначен для использования программистами. Высокоуровневые средства разработки интерфейса могут быть использованы непрограммистами и снабжены языком, который позволяет специфицировать функции ввода-вывода, а также определять, используя технику непосредственного манипулирования, интерфейсные элементы. К таким средствам относятся построители диалога (interface builders) и СУПИ - системы управления пользовательским интерфейсом (User Interface Management Systems - UIMS). Помимо СУПИ, некоторые авторы используют такие термины, как User Interface Development Systems (UIDS) - системы разработки пользовательского интерфейса, User Interface Design Environment (UIDE) - среда разработки пользовательского интерфейса и др.

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

1. Языковой, когда применяются специальные языки для задания синтаксиса интерфейса (декларативные, объектно-ориентированные, языки событий и др.).

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

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

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

Основной концепцией СУПИ является отделение разработки пользовательского интерфейса от остального приложения. В настоящее время идея раздельного проектирования интерфейса и приложения либо закреплена в определении СУПИ либо является основным его свойством.

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

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

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

Стандартизация пользовательского интерфейса

В первом подходе оценку производит конечный пользователь (или тестер), суммируя результаты работы с программой в рамках следующих показателей ISO 9241-10-98 Ergonomic requirements for office work with visual display terminals (VDTs). P.11. Guidance on usability specification and measures:

эффективности (effectiveness) - влияния интерфейса на полноту и точность достижения пользователем целевых результатов;

продуктивности (efficiency) или влияния интерфейса на производительность пользователя;

степени (субъективной) удовлетворенности (satisfaction) конечного пользователя этим интерфейсом.

Эффективность является критерием функциональности интерфейса, а степень удовлетворенности и, косвенно, продуктивность - критерием эргономичности. Вводимые здесь меры соответствуют общей прагматической концепции оценки качества по соотношению "цели / затраты".

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

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

Стандарты и качество. Формально стандартизированность пользовательского интерфейса уместно связать с другими инфраструктурными субхарактеристиками качества программного продукта, такими, как соответствие (conformance) (в том числе и соответствие стандартам) и взаимозаменяемость (replaceability) (ГОСТ Р ИСО МЭК 9126-93). Выбор конкретного средства проектирования (языки быстрой разработки приложений, CASE-средства, конструкторы графических интерфейсов) может привести разработчика к необходимости придерживаться стандарта интерфейса, положенного в его основу.

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

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

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

Список литературы

    Т.Б. Большаков, Д.В. Иртегов. Оперционные системы. Материалы сайта http: // www. citforum. ru / operating_systems / ois / introd. shtml.

    Методы и средства разработки пользовательского интерфейса: современное состояние, Клещев А.С. , Грибова В.В. , 2001. Материалы сайта http: // www. swsys. ru / index. php? page=article&id=765.

    Дейтел Г. Введение в операционные системы. В двух томах / Пер, с англ. Л.А. Теп-лицкого, А.Б. Ходулева, В.С. Штаркмана под ред.В.С. Штаркмана. - М.: Мир, 1987.

    Программная инженерия. Стандартизация пользовательского интерфейса. Евгений Волченков. М, 2002. Материалы сайта http: // tizer. adv. vz. ru.

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

При реализации интерфейса взаимодействия WEB - приложений используется протокол HTTP (Hypertext Transfer Protocol - протокол передачи гипертекcта), который представляет собой протокол прикладного уровня и обеспечивает возможность доступа к разнообразной информации, размещенной в сети WWW- World Wide Web. Протокол HTTP обладает высокопроизводительными механизмами тиражирования информации, независимо от типа представления данных. Протокол построен по объектно-ориентированной технологии и может использоваться для решения различных задач, например, управления распределенными информационными системами.

Способность хранить и представлять данные разнообразных форматов (изображения, видео, аудио) делает сеть WWW с используемым HTTP уникальным средством размещения информации.

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

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

Рассмотрим составляющие программно-аппаратных интерфейсов на основе протоколов уровня приложений.

URI (Uniform Resource Identifier, Идентификатор ресурса), URL (Uniform Resource Locator, Местонахождение ресурса), URN (Uniform Resource Name, Имя ресурса) - разные аспекты идентификации одного и того же сервиса, определяющие тип, метод доступа и расположение узла сети, на котором находятся ресурс, доступный через сеть Интернет. Этот сервис состоит из трех частей.

1) Схема. Идентифицирует тип сервиса, через который можно получить доступ к сервису, например WWW-сервер.

2) Адрес. Идентифицирует адрес (хост) ресурса, например, www.ripn.net.



3) Имя или путь доступа. Идентифицирует полный путь к ресурсу на выбранном хосте, который мы хотим использовать для доступа к ресурсу, например, /home/images/image l.gif.

Например, файл readme.txt, расположенный на сайте Microsoft (WWW-сервере), представляет собой ресурс с идентификатором: http://www.microsoft.com/readme.txt. Это означает, что для обращения к ресурсу должен использоваться протокол HTTP, (схема доступа отделена двоеточием ":" и указывает название использованного протокола), следующие два слэша отделяют адрес сервера www.microsoft.com; а также) имя файла /readme.txt.

Как правило, когда имеют в виду компьютер, на котором расположен ресурс, используют значение URL или URN, а когда обозначают ресурс полностью (тип, хост, путь) используют URI. Нет ошибки, если используется одно обозначение вместо другого, но обязательно следует пояснить, что оно значит в контексте.

Идентификатор URI может содержать не только имя ресурса, но и параметры, необходимые для его представления. Имя ресурса отделяется от строки параметров символом "?". Строка параметров состоит из символьных групп с постоянной структурой (лексем), разделяемых символом "&", каждая такая лексема состоит из имени параметра и его значения, разделенных символом "=", символ пробела " " заменяется знаком "+". Символы лексем, не входящие в набор символов ASCII, заменяются знаком "%" и шестнадцатеричным значением этого символа. Для указанного ресурса вся строка параметров является одним строковым параметром, поэтому тип, порядок следования или уникальность имен отдельных параметров строки не существенны. Например:

http://www.exe.com/bm/scrshell.run?in=10&go=ok+and+ok&event=l&event=2

Этот идентификатор URI содержит 4 параметра, три из которых - чиcловые, а два имеют одно имя. Анализ и разбор значений отдельных параметров целиком возлагается на идентификатор URI, в данном примере на ресурс scrshell.run.



HyperText Markup Language (HTML) - это язык описания информации, хранимой в сети WWW. HTML-файл может содержать специальные коды, обозначающие присоединенную графическую, видео или аудио информацию или исполняемые коды среды отображения информации (Web-браузер - Java Script, Java). Для языков Java и JavaScript приложение Web-браузер представляет операционную систему или среду, в которой они выполняются, а Web-страница является ресурсом, выделенным для их работы. Эти языки не строят Web-страницу по данным пользователя, а используют ее как платформу для своих действий и действий пользователя. Когда Web-браузер получает доступ к этому файлу, он сначала интерпретирует закодированную в HTML-файле информацию, а затем в соответствующей форме представляет эту информацию пользователю.

Буквы "НТ" в названии протокола HTML обозначают "HyperText" - основную концепцию размещения информации в сети WWW. Документы HyperText содержат специальные связи, которые называются гиперссылками (hyperlinks) и размещаются в тексте документа. Гиперссылки позволяют пользователю не только переходить от одной части этого документа к другой, но и обращаться к другим связанным документам, размещенным в сети WWW.

Common Gateway Interface (CGI) - это стандарт расширения функциональности WWW, позволяющий WWW-серверам выполнять программы, аргументы которых может определять пользователь. Интерфейс CGI расширяет возможности пользователя и позволяет ему выполнять программы, ассоциированные с данной Web-страницей, предоставляя таким образом возможность получения динамической информации из WWW-сервера. Например, пользователь такого WWW-сервера может получить самую последнюю информацию о погоде, выполнив программу, которая запрашивает прогноз погоды на текущий момент из базы данных. Интерфейс CGI в основном играет роль шлюза между WWW-сервером и внешними исполняемыми программами. Он получает запрос от пользователя, передает его внешней программе и затем возвращает результаты пользователю через построенную динамически Web-страницу. При этом построенные Web-страницы могут коренным образом отличаться друг от друга, поскольку они формируются в прямой зависимости от параметров, определяемых пользователем.

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

В настоящее время широко используется технология активных серверных страниц ASP (Active Server Pages). По сути, эта технология представляет применение того же самого стандарта CGI, только на уровне объектно-ориентированного подхода к построению Web-страниц.

Контрольные вопросы

1. Как реализуются интерфейсы взаимодействия приложений?

2. Каковы основные составляющие интерфейса взаимодействия на примере WEB-приложений?

3. Какие функции реализует интерфейс CGI?

Тема 13. Интерфейс информационного взаимодействия программных приложений. Интерфейс взаимодействия программных приложений на примере HTTP. Передача запросов и ответов.

Рассмотрим интерфейс взаимодействия программных приложений на примере HTTP.

Интерфейс реализуется последовательно.

Первый этап - это когда HTTP-клиент (броузер) соединяется с сервером. Для этого он использует протокол TCP/IP, и соединение происходит с известным клиенту TCP-портом. Принятый номер порта HTTP - 80; для других сервисов определены другие TCP-порты.

Вторым этапом является запрос клиента: клиент передает заголовок запроса (Request header) и, возможно (в зависимости от метода), тело сообщения запроса. В заголовке обязательно указываются метод, URL и версия HTTP. Там может быть еще несколько необязательных полей, которые тоже дают серверу информацию о том, как обрабатывать запрос.

Третий этап - ответ сервера, который состоит из заголовка (Response header), в котором сервер указывает версию HTTP и код статуса, который может говорить об успешном или неуспешном результате и его причинах. После заголовка идет тело ответа, отделенное от заголовка пустой строкой.

Четвертым этапом является разрыв TCP/IP соединения.

Request header может выглядеть следующим образом:

GET /MyDoc.htm HTTP/1.1

Connection: Keep-Alive

Host: 212.54.196.226

Здесь: MyDoc.htm - имя запрашиваемого документа; GET - тип запроса; Host - IP-адрес; Accept- форматы данных "понимаемых" клиентом.

Request header, приведенный ниже, получен от документа, содержащего форму:

POST /Scripts/ReadData.pl HTTP/1.1

Referer: http://212.54.196.226

Connection: Keep Alive

User-Agent: Mozilla/3.0 (Win95; I)

Host: 212.54.196.226

Accept: image/gif, image/x-bitmap,

Content-type: application/x-www-form-urlencoded

Content-length: 38

FirstName=Mary+Ann&LastName=Sylvester

Здесь: POST - метод передачи данных из формы; Referer - адрес web-страницы, с которой пользователь перешел на документ, содержащий форму.; Content-type - способ кодировки передаваемых данных; Content-length - количество передаваемых данных (байт); FirstName, LastName - имена полей формы; Mary+Ann, Sylvester - передаваемые значения (пробел заменен знаком "+").

Web-сервер отвечает на запрос браузера, посылая ему HTML-файл, которому предшествует Response header.

Типичный Response header содержит следующие данные:

Server: Microsoft-IIS/4.0

Content-type: text/html

Set-Cookie: ASPSESSIONIDFFFYXKFR=ACMNFLJANKGBAMPBEGNGLEAB

{ HTML - код }

Этот заголовок сформирован сервером. Строка "200 OK" - это статус запроса. Если бы сервер не смог обработать запрос, то он сформировал бы сообщение об ошибке, например, "404 Object Not Found"; Content-type - тип содержимого. Браузер отображает документ (интерпретирует его код именно как HTML-код, поскольку Content-type имеет значение text/html) и ждет, когда клиент запросит (щелкнув по гиперссылке) очередную страницу этого сайта или перейдет на другой сайт. Если страница содержит изображение (например, формата jpeg), оно будет направлено web-сервером клиенту вместе с другим Response header, где Content-type будет иметь значение image/jpeg. Set-Cookie - устанавливает значение cпециальной информации записываемой на компьютере клиента. В этом поле хранится идентификатор текущей сессии.

Рассмотрим пример и разберём подробнее HTTP запрос клиента. Он может выглядеть например так:

POST http: //localhost/ HTTP/1.1

Accept-Language: ru

Proxy-Connection: Keep-Alive

paraml=l¶m2=2

Из примера видно, что запрос начинается со слова "POST". Это слово означает метод передачи данных на сервер, в котором дополнительные данные запроса (строка "param1=1¶m2=2") передаются после заголовка.

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

Как видно из примера, параметры записываются в виде

[имя параметра1]=[значения параметра1]&[имя параметра2]=[значения параметра2] & ...

Часто употребим метод запроса - "GET". Фактически все запросы, не требующие отправки данных - например запрос страницы, производятся этим способом. Изменим форму запроса:

получим следующий HTTP запрос:

GET http://localhost/?param1=1¶m2=2 HTTP/1.1

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*

Accept-Language: ru

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)

Proxy-Connection: Keep-Alive

Как видно, строка "paraml=l¶m2=2" переместилась выше и добавилась к строке "http://localhost/" после знака"?". Так же изменилось первое слово в HTTP заголовке, остальное осталось без изменения.

Достоинством метода GET является то, что в строке браузера видно, какие данные были отправлены. К недостаткам же относится то, что длина отправляемых данных таким способом (в отличие от метода POST) ограничена - некоторые серверы, как и некоторые браузеры, имеют лимит на длину адреса запрашиваемого документа. Соответственно адрес с длинной строкой запроса может быть либо срезан, либо сервер возвратит ошибку "414 Request-URI Too Long".

Литература: 1осн.,2осн.,7доп.,9доп..

Контрольные вопросы

1. Сколько этапов включает интерфейс взаимодействия приложений по НТТР?

2. Каков смысл заголовка Request header в интерфейсе взаимодействия приложений по НТТР?

3. Каков смысл заголовка Response header в интерфейсе взаимодействия приложений по НТТР?

4. Как компоненты, реализующие пользовательский интерфейс связаны с интерфейсом взаимодействия приложений по НТТР?

  • 1. Аппаратный (устройство-устройство) – совокупность алгоритмов обмена и технических средств, обеспечивающих обмен между устройствами. Примеры: I2C, MicroLAN, Ethernet;
  • 2. Программный – соглашение о связях в программной среде между программными модулями. Примеры: Win32, POSIX, API любого программного модуля (интерфейс прикладного программирования – набор функций, предоставляемый для использования в прикладных программах);
  • 3. Пользовательский (ВС – пользователь) – сценарии, по которым строится общение оператора с вычислительной системой, и стиль их реализации. Примеры: «дружественный интерфейс человек-компьютер», стиль организации работы в программном комплексе Microsoft Office.

Характеристики аппаратных интерфейсов.

К основным характеристикам аппаратных интерфейсов относятся:

  • 1. Скорость передачи (пропускная способность, производительность).
  • 2. Протяж?нность.
  • 3. Тип сопрягаемых устройств вычислительной системы (см. следующий раздел).
  • 4. Топология.
  • 5. Разрядность слова данных (последовательный или параллельный интерфейс).
  • 6. Синхронный или асинхронный интерфейс.
  • 7. Симплексный, полудуплексный, дуплексный обмен.