- •Предисловие
- •1.1. Назначение компьютеров и принцип программного управления
- •1.2. Неймановский принцип программного управления
- •1.3. Структура компьютеров
- •1.4. Запоминающие устройства и организация памяти
- •1.5. Организация ввода-вывода данных
- •Процессор
- •Оперативная память
- •Программа
- •2.Характеристики и классификация компьютеров
- •2.1.Характеристики компьютеров
- •2.2. Программно-аппаратный интерфейс и интерфейс прикладных программ
- •2.3. Быстродействие и производительность компьютеров
- •2.4. Емкость памяти
- •2.5. Надежность компьютеров
- •Характеристики надежности
- •Классы надежности
- •2.6. Стоимость компьютеров
- •2.7. Классификация компьютеров
- •Классификация компьютеров по областям применения
- •Поколения компьютеров
2.2. Программно-аппаратный интерфейс и интерфейс прикладных программ
Возможности аппаратных средств компьютера определяют программно-аппаратный интерфейс, который характеризует функции аппаратуры и организацию компьютера, необходимые и достаточные для разработки программ. Программно-аппаратный интерфейс фиксирует в себе все необходимые программистам сведения об аппаратуре, составляющей компьютер. При этом не затрагиваются никакие аспекты внутренней организации компьютера: тип полупроводниковых элементов, напряжение электропитания, конструктивы печатных плат и т.п. Савокупность свойств аппаратуры компьютера, существенной для разработки программ, т.е. для програмистов, называетсяархитектурой компьютера. Таким образом, термины архитектура и програмно-управляемый интерфейс будем использовать как синонимы, понимая, что конкретной архитектуре соответствует конкретный програмно-аппаратный интерфейс.
Как уже отличалось, програмирование в терминах програмно-аппаратного интерфейса доступно только системным программистам, создающими программы – драйверы для обслуживания периферийных устройств, программ обслуживания запоминающих устройств, переключения задач, распределение памяти между задачами и т.д., которые в коплексе образуют операционную систему. Операционная система вводит интерфейс следующего уровня – интерфейс прикладных программ ИПП (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 – отсутствие гибкости. Клиент не может выбрать операционную систему одного производителя, базу данных – другого, защиты данных – третьего, так как они не могут работать как единая интегрированная система. Единственный способ обеспечить гибкость - самостоятельное объединение разнородных компонент в интегрированную систему. Однако для этого требуются средства на обучение пользователей и сопровождения програмных систем.