Скачиваний:
100
Добавлен:
09.05.2014
Размер:
481.28 Кб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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