Операционная система – интерфейс между аппаратурой компьютера и пользователем с его задачей. Интерфейс операционных систем – специальные интерфейсы системного и прикладного программирования, предназначенные для выполнения следующих задач:
- управление процессами, которое включает в себя следующий набор основных функций:o запуск, приостанов и снятие задачи с выполнения;
o задание или изменение приоритета задачи;
o взаимодействие задач между собой (сигналы, семафоры, очереди, конвейеры, почтовые ящики);
o удаленный вызов подпрограмм;
- управление памятью:o запрос на выделение блока памяти;
o освобождение памяти;
o изменение параметров блока памяти;
o отображение файлов на память;
- управление вводом/выводом:o запрос на управление виртуальными устройствами;
o файловые операции.
Пользовательский интерфейс ОС реализуется с помощью специальных программных модулей, которые принимают его команды на соответствующем языке и транслируют их в обычные вызовы в соответствии с основным интерфейсом системы. Обычно эти модули называются интерпретатором команд.
Имеются два основных подхода к управлению задачами:1) порождаемая задача наследует все ресурсы задачи-родителя;
2) при порождении нового процесса ресурсы для него запрашиваются у операционной системы.
Обращение к операционной системе в соответствии с имеющимися API может осуществляться:- посредством вызова подпрограммы с передачей ей необходимых параметров;
- через механизм программных прерываний.
Интерфейс прикладного программирования предназначен для использования прикладными программами системных ресурсов ОС и реализуемых ею функций.
Термин API (application program interface, интерфейс прикладного программирования):- API как интерфейс высокого уровня, принадлежащий к библиотекам RTL (run time library, библиотека во время выполнения);
- API прикладных и системных программ, входящих в поставку операционной системы;
- прочие API.
API представляет собой набор функций, предоставляемых системой программирования разработчику прикладной программы и ориентированных на организацию взаимодействия результирующей программы с целевой вычислительной системой (совокупность аппаратных и программных средств, в окружении которых выполняется результирующая программа).
API используется не только прикладными, но и многими системными программами как в составе ОС, так и в составе системы программирования.
Программный интерфейс API включает в себя не только сами функции, но и соглашения об их использовании, которые зависят от:- операционной системы;
- архитектуры целевой вычислительной системы;
- системы программирования.
Варианты реализации API:- на уровне ОС;
- на уровне системы программирования;
- на уровне внешней библиотеки процедур и функций.
В каждом из этих вариантов разработчику предоставляется возможность подключить функции API к исходному коду программы и организовать их вызов.
Возможности API можно оценить со следующих позиций:- эффективность выполнения функций API (скорость выполнения, объем вычислительных ресурсов);
- широта предоставляемых возможностей;
- зависимость прикладной программы от архитектуры целевой вычислительной системы.
В идеале набор функций API должен:- выполняться с наивысшей эффективностью;
- предоставлять пользователю все возможности современных ОС;
- иметь минимальную зависимость от архитектуры вычислительной системы.