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

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

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

Запуск компьютера. BIOS.

Обычно компьютер запускается при включении питания на лицевой панели системного блока, хотя современные компьютеры имеют такие средства для экономного расходования электроэнергии, которые позволяют их не выключать. Запуск компьютера – самый ответственный момент работы компьютера – в этот момент в оперативной памяти нет ни данных, ни программ. Перенести их с жесткого диска в оперативную память без команд нельзя. Для этой цели у процессора есть специальная ножка, которая называется RESET (перезапуск). Если на нее поступает сигнал (а в момент включения именно так и происходит), процессор обращается к специально выделенной ячейке памяти. Необходимо, чтобы в этой ячейке всегда была определенная информация, причем даже тогда, когда компьютер выключен. Для этого предназначена специальная микросхема – ПЗУ (постоянное запоминающее устройство). Это тоже память, но постоянная. В отличие от оперативной памяти постоянная память не стирается при выключении. Программы микросхемы ПЗУ записываются на заводе. Этот комплекс программ называется BIOS – базовая система ввода/вывода. Эта система « встроена» в материнскую плату компьютера. Ее назначение состоит в выполнении элементарных действий, связанных с осуществлением операций ввода-вывода. BIOS содержит также тест функционирования компьютера, проверяющий работу памяти и устройств компьютера при включении электропитания. Работа программ, записанных в микросхеме BIOS, отображается на черном экране бегущими белыми строчками. В этот момент компьютер проверяет свои устройства: проверяется оперативная память (сколько ее и вся ли она в порядке), наличие жестких дисков, а также наличие клавиатуры. Если что-то не работает, программы, выполняющие проверку, сообщат о неисправности. Кроме того, базовая система ввода-вывода содержит программу вызова загрузчика операционной системы.

Загрузчик операционной системы– это специальная программа, предназначенная для инициирования процесса загрузки системы.

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

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

Назначение операционной системы.

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

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

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

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

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

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

Интерфейс аппаратный и программный.

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

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

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

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

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

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

ОПЕРАЦИОННАЯ СИСТЕМА DOS

DOS – первая операционная система для персональных компьютеров, которая получила широкое распространение и была основной для компьютеров IBM PC с 1981 по 1995. Со временем она была практически вытеснена новыми, современными операционными системами Windows и Linux, но в ряде случаев DOS остается удобной и единственно возможной для работы на компьютере (например, в тех случаях, когда пользователь работает с устаревшей техникой или давно написанным программным обеспечением и т.п.)

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

Оболочка – это программа, которая запускается под управлением операционной системы и помогает пользователю работать с операционной системой. Программа – оболочка наглядно показывает всю файловую структуру компьютера: диски, каталоги, файлы. Файлы можно разыскивать, копировать, перемещать, удалять, сортировать, изменять и запускать, пользуясь всего лишь несколькими клавишами. Просто, наглядно, удобно. Одна из самых известных и распространенных во все мире программ-оболочек называется Norton Commander (NC). Оболочка NC скрывает от пользователя множество неудобств, возникающих при работе с файловой системой MS DOS, например, такие, как необходимость набирать команды из командной строки. Простота и удобство в использовании– вот что делает оболочки типа NC популярными и в наше время (к ним можно отнести QDos, PathMinder, XTree, Dos Navigator, Volkov Commander и др.). Принципиально отличаются от них графические оболочки Windows 3.1 и Windows 3.11. В них применяется концепция так называемых «окон», которые можно открывать, перемещать по экрану и закрывать. Эти окна «принадлежат» различным программам и отражают их работу.

В DOS используется файловая система FAT. Одним из ее недостатков являются жесткие ограничения на имена файлов и каталогов. Имя может состоять не более чем из восьми символов. Расширение указывается после точки и состоит не более чем из трех символов. Расширение в имени файла не является обязательным, оно добавляется для удобства, так как расширение позволяет узнать, какая программа создала его и тип содержимого файла. DOS не делает различий между одноименными строчными и прописными буквами. Кроме букв и цифр имя и расширение файла могут состоять из следующих символов: -, _, $, #, &, @, !, %, (,), {, }, ", ^. Примеры имен файлов в MS DOS: doom.exe, referat.doc.

Так как DOS была создана довольно давно, она не соответствует требованиям, предъявляемым к современным операционным системам. Она не может напрямую использовать большие объемы памяти, устанавливаемые в современные компьютеры. В файловой системе используются только короткие имена файлов, плохо поддерживаются разные устройства типа звуковых карт, видео-ускорителей и т.д.

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

Некоторые компоненты операционной системы DOS: дисковые файлы IO.SYS и MSDOS.SYS (они могут называться и по-другому, например IBMBIO.COM и IBMDOS.COM для PC DOS) помещаются в оперативную память при загрузке и остаются в ней постоянно. Файл IO.SYS представляет собой дополнение к базовой системе ввода-вывода, а MSDOS.SYS реализует основные высокоуровневые услуги операционной системы.

Командный процессор DOS обрабатывает команды, вводимые пользователем. Командный процессор находится в дисковом файле COMMAND.COM на диске, с которого загружается операционная система. Некоторые команды пользователя, например type, dir или copy, командный процессор выполняет сам. Такие команды называются внутренними или встроенными. Для выполнения остальных (внешних) команд пользователя командный процессор ищет на дисках программу с соответствующим именем и, если находит ее, загружает в память и передает ей управление. По окончании работы программы командный процессор удаляет программу из памяти и выводит сообщение о готовности к выполнению команд (приглашение DOS).

Внешние команды DOS – это программы, поставляемые вместе с операционной системой в виде отдельных файлов. Эти программы выполняют действия обслуживающего характера, например форматирование дискет (format.com), проверку состояния дисков (scandisk.exe) и т. д.

Драйверы устройств – это специальные программы, которые дополняют систему ввода-вывода DOS и обеспечивают обслуживание новых или нестандартное использование имеющихся устройств. Например, с помощью драйвера DOS ramdrive.sys возможна работа с « электронным диском», т.е. частью памяти компьютера, с которой можно работать так же, как с диском. Драйверы помещаются в память компьютера при загрузке операционной системы, их имена указываются в специальном файле CONFIG.SYS. Такая схема облегчает добавление новых устройств и позволяет делать это, не затрагивая системные файлы DOS.

MICROSOFT WINDOWS

Графические оболочки Widows 1.0, Widows 2.0, Widows 3.0, Widows 3.1 и Widows 3.11 запускались под управлением MS DOS, то есть не были самостоятельными операционными системами. Но поскольку с появлением Windows открылись новые возможности, Windows называют не оболочкой, а средой. Среда Windows характеризуется следующими особенностями, отличающими ее от других программ-оболочек:

– Многозадачность. Есть возможность одновременно запускать несколько программ.

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

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

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

– Единый аппаратно-программный интерфейс. Среда Windows обеспечивала совместимость разнообразного оборудования и программ. Изготовители оборудования не заботились о том, как « угадать», к какими программами их устройствам предстоит работать, они добивались только работы с Windows, а дальше Windows обеспечивала работу устройств. Точно также изготовители программ могли более не беспокоиться о работе с неизвестным им оборудованием. Их задача свелась к тому, чтобы обеспечить взаимодействие с Windows.

На смену операционной системе DOS с ее графическими оболочками Windows 3.1 и Windows 3.11 пришли полноценные операционные системы семейства MS Windows (сначала Windows 95, затем Windows 98, Windows 2000, Windows XP). В отличие от Windows 3.1 и Windows 3.11, они запускаются автоматически после включения компьютера (в том случае, если установлена только одна эта система).

В MS Windows для хранения файлов используется модификация файловой системы FAT – VFAT. В ней длина имен файлов и каталогов может достигать 256 символов.

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

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

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

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

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

ОПЕРАЦИОННАЯ СИСТЕМА LINUX

Linux – это операционная система для IBM-совместимых персональных компьютеров и рабочих станций. Это многопользовательская операционная система с сетевой оконной графической системой X Window System. Операционная система Linux поддерживает стандарты открытых систем и протоколы сети Интернет и совместима с системами Unix, DOS, MS Windows. Все компоненты системы, включая исходные тексты, распространяются с лицензией на свободное копирование и установку для неограниченного числа пользователей.

Разработал эту операционную систему в начале 1990-х студент университета Хельсинки (Финляндия) Линус Торвальд при участии пользователей сети Интернет, сотрудников исследовательских центров, различных фондов и университетов.

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

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

От Unix операционной системе Linux достались еще две замечательные особенности: она является многопользовательской и многозадачной системой. Многозадачность означает, что система может выполнять несколько задач одновременно. Многопользовательский режим – это режим, при котором в системе могут одновременно работать несколько пользователей, и каждый из них взаимодействует с системой через свой терминал. Еще одним из достоинств этой операционной системы является возможность ее установки совместно с Windows на один компьютер.

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

Современный Linux предоставляет возможность использовать несколько разновидностей графического интерфейса: KDE (K Desktop Environment), GNOME (GNU Network Model Environment) и другие. В каждой из этих оболочек пользователю предоставляется возможность работы сразу с несколькими рабочими столами (в то время как в MS Windows всегда один рабочий стол, который приходится загромождать окнами).

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

Шацукова Л.З. Информатика . Интернет-учебник.http://www.kbsu.ru/~book

Анна Чугайнова

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

Как уже отличалось, програмирование в терминах програмно-аппаратного интерфейса доступно только системным программистам, создающими программы – драйверы для обслуживания периферийных устройств, программ обслуживания запоминающих устройств, переключения задач, распределение памяти между задачами и т.д., которые в коплексе образуют операционную систему. Операционная система вводит интерфейс следующего уровня – интерфейс прикладных программ ИПП (API – Apply Programm Interface ). ИПП вводит систему операторов, используемых программистами для выполнения операций ввода-вывода и хранения данных, распределение устройств и памяти между задачами, управление устройствами компьютера и процессами обработки данных. Все операторы ИПП реализуются через операционную систему, т.е. посредствам соответствующих программ ОС, интерпритирующих операторы ИПП в последовательность команд программно-аппаратного интерфейса, реализуемых аппаратурой компьютера. Программы ОС являются неотъемлемой частью аппаратуры компьютера: именно программы ОС создают операторы (функции), в терминах которые исполняются обслуживающие программы, инструментальные системы и прикладные программы.

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

Программно-аппаратный интерфейс ПАИ определяет функции, реалилуемые аппаратурой компьютера. Эти функции принято подразделять на следующие группы:

    состав и форма представления машинных единиц информации;

    типы данных и формы их представления;

    способы адресации данных;

    система команд;

    функции представления состояния устройств и процессов.

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

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

Интерфейс прикладных программ. Производители компьютерного обарудования разработали архитектуры, в основе которых лежит интерфейс прикладных программAPI (Application Programming Interface).API–ориентированные архитектуры устанавливают интерфейс, который используется для доступа всех прикладных программ к функциям операционной системы и изолирует прикладные программы от аппаратных и программных деталий операционной системы.

Один из наиболее известных API – Posix (Portable Operation System Interface based on uniX ), - международный стандарт дляUnix –подобных операционных систем. В 1993 году группа разработчиков приложений для операционных системUnixопределила собственный набор интерфейса прикладных программAPI, включающий в себя 1179 функций. Стандарт «Единая спецификацияUnix» стал современной промышленной версиейPOSIX.

Другой вариант API – независимый от технологии машинный интерфейс (Tecnology Independent Machine Interface ), часто называемый простоMI (Machine Interface ). Этот интерфейс включает в себя набор функций операционной системы компьютераAS/400,работающей по двухступенчатой схеме: генерация шаблона программы – генерация кода программы. ВAS/400компилятор генерирует из исходного текста кодMI , который представляется в виде шаблона программы. На втором этапе транслятор генерирует двоичный код программы по шаблону программы, и двоичный код программы, созданный транслятором, хранится в памяти компьютера как единый программный объект. Такая программа называетсяотслеживаемой (observable ). Если в компьютереAS/400начинает применяться, например, 64-разрядный процессор, то для новой аппаратуры создается специальный транслятор, который транслирует код программы в новый двоичный код, соответствующий составу данных, с которым оперирует новый 64-разрядный процессор. В результате этого за один день компьютерAS/400 получает 64-разрядную операционную систему и тысячи 64-разрядных прикладных программ.

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

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

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

Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: