Программно аппаратный интерфейс и его виды. Аппаратно-программный интерфейс. Характеристики аппаратных интерфейсов

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

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

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

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

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

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



Итак, в каждой операционной системе существует несколько видов интерфейсов:

· командный (текстовый) интерфейс;

· текстовый или графический полноэкранный интерфейс;

· графический многооконный пиктографический интерфейс;

· интерфейс API .

Рассмотрим каждый интерфейс более подробно:

Всякая операционная система имеет командный интерфейс (иногда в скрытой форме).

В первой из ОС (OS/360) взаимодействие с пользователями было жестко поделено между следующими компонентами:

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

Язык управления заданиями (JCL – Job Control Language), на котором прочие пользователи (программисты, разработчики и просто конечные пользователи) описывали состав и структуру процесса обработки данных – последовательность запуска программ, входные и выходные файлы, условия, при которых те или иные программы должны быть выполнены или пропущены и др. Это язык пакетной обработки, не допускающий вмешательства пользователя в собственно процесс вычисления, компиляции и пр.

В большинстве ОС в настоящее время сложился более или менее унифицированный формат командной строки. Командная строка включает в себя:

· Тип операции (имя команды или программы);

· Рабочий вход (входные файлы или устройства);

· Рабочий выход (выходные файлы или устройства);

· Управляющий вход (управляющие параметры или ключи команды);

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

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

Текстовый или графический полноэкранный интерфейс.

Он имеет, как правило, в верхней части экрана систему меню с подсказками. Меню часто бывает выпадающим (ниспадающим – pull-down).

Для управления компьютером курсор экрана или курсор мыши после поиска в древе каталогов устанавливается на командные файлы программ (*.exe, *.com, *.bat) и для запуска программы нажимается клавиша или правая кнопка мыши. Различные файлы могут выделяться разным цветом или иметь разный рисунок. Каталоги (папки) отличаются от файлов размером или рисунком. Данный интерфейс является основным для всех видов программных оболочек.

Графический многооконный пиктографический интерфейс.

Представляет собой рабочий стол (DeskTop), на котором располагаются пиктограммы (значки или иконки программ). Все операции производятся, как правило, мышью. Для управления компьютером курсор мыши подводят к пиктограмме и запуск программы осуществляют щелчком левой кнопки мыши по пиктограмме. Это наиболее удобный и перспективный интерфейс, осебенно при работе с программами. Примеры: интерфейс с компьютеров Apple Macintosh, Windows 3.1, Windows 95/98, OS/2, XP, Vista.

Графический интерфейс пользователя (GUI – Graphics User Interface). Появление ОС и оболочек с развитыми диалоговыми графическими средствами (OS Macintosh, Windows 3.1, а особенно Windows 95/98/ME, а также NT/2000) и средств программирования, позволяющих создавать графические интерфейсы (FoxPro for Windows и пр.), а особенно – объектно–ориентированных систем программирования – привело к внедрению и широкому распространению элементов экранного интерфейса.

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

Интерфейс API.

Интерфейс прикладного программирования (иногда интерфейс программирования приложений) (англ. Application Programming Interface, API [эй-пи-ай]) - набор готовых классов, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для её использования во внешних программных продуктах.

API как средство интеграции приложений

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

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

По такому принципу построены протоколы передачи данных по Internet. Стандартный протокол Internet (сетевая модель OSI) содержит 7 уровней (от физического уровня передачи пакетов бит до уровня протоколов приложений, подобных протоколам HTTP и IMAP). Каждый уровень пользуется функциональностью предыдущего уровня передачи данных и, в свою очередь, предоставляет нужную функциональность следующему уровню.

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

API библиотеки функций и классов включает в себя описание сигнатур и семантики функций.

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

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

Прикладное программное обеспечение

Системное программное обеспечение

Управление логическими устройствами

Управление физическими устройствами

Аппаратные средства

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

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

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

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

Прикладное программное обеспечение – это комплекс взаимосвязанных программ для решения задач определенного класса конкретной предметной области.

Центральным звеном вычислительной системы является компьютер .

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

Программное управление распределением сигналов осуществляется автоматически.

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

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

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

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

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

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

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

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

Аппаратное обеспечение вычислительной системы

К

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

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

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

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

Последовательные интерфейсы – более простые устройства. Обмен данными производится последовательно бит за битом. Их производительность измеряют битами в секунду (бит/с; Кбит/с; Мбит/с). Последовательные интерфейсы часто называют асинхронными интерфейсами , поскольку для них не надо синхронизировать работу передающего и принимающего устройств. Из-за отсутствия синхронизации передача полезных данных сопровождается служебными посылками, то есть на один байт полезных данных могут приходиться 1–3 служебных бита. Первоначально пропускная способность последовательных интерфейсов была меньше параллельных, а коэффициент полезного действия – ниже. Поэтому их применяли для подключения «медленных устройств» (простейших устройств печати низкого качества, устройств ввода-вывода знаковой и сигнальной информации, контрольных датчиков, малопроизводительных устройств связи и т. п.), а также в тех случаях, когда отсутствовали ограничения на продолжительность обмена данными. Однако с развитием техники в настоящее время появились высокоскоростные последовательные интерфейсы, не уступающие параллельным, а нередко и превосходящие их по пропускной способности.

Классификация компьютеров

С

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

– по назначению;

– по уровню специализации;

– по типоразмерам;

– по совместимости;

– по типу используемого процессора.

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

Большие ЭВМ (mainframe или суперкомпьютеры ). Их применяют в очень крупных корпорациях, банках или в отраслях народного хозяйства. Сверхпроизводительные суперкомпьютеры используются для решения задач оборонного комплекса, ядерной физики, космических задач, метеорологии, фармакологии сейсморазведки. На базе суперкомпьютера создают вычислительные центры, включающие в себя несколько отделов (групп):

– группа системного программирования, обеспечивающая программно-аппаратный интерфейс вычислительной системы;

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

– группа технического обслуживания;

– группа подготовки данных;

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

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

Большие ЭВМ отличаются высокой стоимостью оборудования и обслуживания. Центральный процессор такой вычислительной системы представляет собой несколько стоек аппаратуры и размещается в отдельном помещении. Для повышения эффективности суперкомпьютер работает одновременно с несколькими задачами и, естественно, с несколькими пользователями. Такое распределение ресурсов вычислительной системы получило название принципа разделения времени .

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

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

Персональные компьютеры (ПК ). Этот класс компьютеров получил особо бурное развитие в последние 20 лет. Он предназначен для обслуживания одного рабочего места. Несмотря на небольшие размеры и относительно низкую стоимость, современные ПК обладают высокой производительностью. Многие модели ПК превосходят по производительности большие ЭВМ 70-х годов, мини-ЭВМ 80-х годов и микро-ЭВМ первой половины 90-х годов. ПК вполне может удовлетворить потребности малых предприятий и отдельных лиц. Особенно широкую популярность приобрели ПК после 1995 г. в связи с бурным развитием Интернета. На персональных компьютерах наиболее часто применяются игры, редакторы текстов, базы данных, информационные системы, электронные таблицы, системы программирования и т. п. ПК также являются удобным средством автоматизации учебного процесса по любым дисциплинам, средством организации дистанционного (заочного) обучения и средством организации досуга. Их нередко используют для надомной работы, что особенно важно в условиях ограниченной трудозанятости. До 2002 г. в области ПК действовали международные стандарты, которые устанавливали следующие категории персональных компьютеров:

– массовый ПК (Consumer PC );

– деловой ПК (Office PC);

– портативный ПК (Mobile PC );

– рабочая станция (Workstation PC );

– развлекательный ПК (Entertainment ).

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

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

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

Ноутбук (по-английски notebook – блокнот, блокнотный ПК) – портативный персональный компьютер, в корпусе которого объединены типичные компоненты ПК, включая дисплей, клавиатуру с сенсорной панелью, колонки, микрофон, веб-камеру, а также аккумуляторные батареи. Ноутбук благодаря своим небольшим размерам, весу, современным батареям очень удобен в эксплуатации, позволяет брать с собой в дорогу и работать без подзарядки от 1 до 14 часов. Первая в мире общедоступная модель ноутбуков Osborne-1 была создана изобретателем Адамом Осборном и выпущена на рынок в 1981 г. Спрос на первые ноутбуки оказался чрезвычайно высоким, благодаря чему корпорация Osborne Computer стала в свое время самой быстрорастущей компанией. По своему назначению и техническим характеристикам существует следующая классификация ноутбуков: бюджетные ноутбуки, ноутбуки среднего класса, бизнес-ноутбуки, мультимедийные ноутбуки, игровые ноутбуки, мобильная рабочая станция, имиджевые ноутбуки, защищенные ноутбуки, ноутбуки с сенсорным дисплеем.

Классификация по совместимости. От совместимости зависит взаимозаменяемость узлов и приборов, предназначенных для разных компьютеров, возможность переноса программ с одного компьютера на другой и возможность совместной работы разных типов компьютеров с одними и теми же данными. По аппаратной совместимости различают так называемые аппаратные платформы . На сегодня наиболее распространены две аппаратные платформы – IBM PC и Apple Macintosh . Кроме аппаратной совместимости существуют другие виды совместимости: программная совместимость , совместимость на уровне операционной системы , совместимость на уровне данных .

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

Классическая модель ЭВМ по Джону фон Нейману

Н

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

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

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

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

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

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

Устройства ввода-вывода
Запоминающее устройство

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

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


Похожая информация.


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

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

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

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

Рассмотрим интерфейс взаимодействия двух приложений 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. Как компоненты, реализующие пользовательский интерфейс связаны с интерфейсом взаимодействия приложений по НТТР?

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

Рис. 20

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

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

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

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

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

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

Различают аппаратный, программный, аппаратно-программный и пользовательский интерфейсы.

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

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

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

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

Пользовательский интерфейс - средства взаимодействия человека и компьютера.

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

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