Обращения к операционной системе в соответствии с имеющимся
API может осуществляться как посредством вызова подпрограммы с
передачей ей необходимых параметров, так и через механизм
программных прерываний. Выбор метода реализации вызовов
функций API должен определяться архитектурой платформы.
В большинстве ОС используется метод вызова подпрограмм. В
этом случае вызов сначала передается в модуль API (например, это
может быть библиотека времени выполнения – RTL, Run Time
Library), который и перенаправляет вызов соответствующим
обработчикам программных прерываний, входящим в состав ОС.
Использование механизма прерываний вызвано, главным образом,
тем, что при этом процессор переводится в режим супервизора.
Прикладной программный интерфейс API, как это и следует из
его названия, предназначен для использования прикладными
программами системных ресурсов ОС и реализуемых ею функций.
API описывает совокупность функций и процедур, принадлежащих
ядру или надстройкам ОС, и предоставляет разработчику прикладной
программы набор функций, ориентированных на организацию
взаимодействия результирующей прикладной программы с так
называемой «целевой вычислительной системой», которая
представляет собой совокупность программных и аппаратных
средств, в окружении которых выполняется результирующая
программа. Сама результирующая программа порождается системой
программирования на основании кода исходной программы, соз-
данного разработчиком, а также объектных модулей и библиотек,
входящих в состав системы программирования. Функции API
позволяют разработчику строить результирующую прикладную
программу так, чтобы использовать средства целевой
вычислительной системы для выполнения типовых операций. При
этом разработчик программы избавлен от необходимости создания
исходного кода для выполнения этих операций.
Программный интерфейс API включает в себя не только сами
функции, но и соглашения об их использовании, которые
регламентируются операционной системой, архитектурой целевой
вычислительной системы и системой программирования.
Существует несколько вариантов реализации API:
- реализация на уровне ОС;
- реализация на уровне системы программирования;
- реализация на уровне внешней библиотеки процедур и функций.
Общие концепции разработки
операционных систем