Реализация функций API на уровне модулей операционной системы
При реализации функций API на уровне модулей операционной системы операционная система ответственна за выполнение функций API. Объектный код, выполняющий функции, либо непосредственно входит в состав операционной системы (или даже ядра операционной системы), либо находится в составе динамически загружаемых библиотек, поставляемых вместе с системой.
В таком варианте результирующая программа обращается непосредственно к операционной системе. Поэтому достигается наибольшая эффективность выполнения функций API по сравнению со всеми другими вариантами реализации API.
Недостатком организации API по такой схеме является то, что результирующая программа не сможет исполняться на вычислительной системе другой архитектуры.
Реализация функций API на уровне системы программирования
При реализации функций API на уровне системы программирования эти функции предоставляются пользователю в виде библиотеки функций соответствующего языка программирования. Система программирования предоставляет пользователю библиотеку функций и обеспечивает подключение к результирующей программе объектного кода, ответственного за выполнение этих функций.
Переносимость исходного кода программы в таком варианте оказывается самой исходной, поскольку синтаксис и семантика всех функций строго регламентированы в стандарте языка программирования.
Реализация функций API с помощью внешних библиотек
При реализации функций API с помощью внешних библиотек эти функции предоставляются пользователю в виде библиотеки процедур и функций, созданной сторонним разработчиком.
Система программирования ответственна только за то, чтобы подключить объектный код библиотеки к результирующей программе. С точки зрения эффективности выполнения этот метод реализации API имеет самые низкие результаты.
Наиболее известные API
API операционных систем
- POSIX
- Windows API
- Cocoa
- Linux Kernel API
- OS/2 API
- Amiga ROM Kernel
API графических интерфейсов
- OpenGL
- OpenVG
- X11
- Qt
- GTK
- Motiff
- Tk
- GDI
- GDI+
- Direct3D (часть DirectX)
- DirectDraw (часть DirectX)
- Zune
- SDL
API звуковых интерфейсов
- DirectSound (часть DirectX)
- DirectMusic (часть DirectX)
- OpenAL
API аутентификационных систем
- BioAPI
- PAM
Операционная система Windows предоставляет большой набор функций, позволяющих различным приложениям, в том числе и приложениям Visual FoxPro, обмениваться информацией с Windows на достаточно низком уровне. Эти функции принято называть Windows API. Использование Windows API в приложениях Visual FoxPro позволяет реализовать возможности, недостижимые стандартными средствами языка.
4. POSIX
POSIX® (англ. Portable Operating System Interface for Unix — Переносимый интерфейс операционных систем Unix) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой. Стандарт создан для обеспечения совместимости различных UNIX-подобных операционных систем и переносимости прикладных программ на уровне исходного кода, но может быть использован и для не-Unix систем.
Серия стандартов POSIX была разработана комитетом 1003 IEEE. Международная организация по стандартизации (ISO) совместно c Международной электротехнической комиссией (IEC) приняли данный стандарт (POSIX) под названием ISO/IEC 9945.
Название «POSIX» было предложено Ричардом Столлманом.[1] Введение в POSIX.1 гласит: «Ожидается произношение „поз-икс“ как „позитив“, а не „по-сикс“. Произношение опубликовано в целях обнародования стандартного способа ссылки на стандартный интерфейс операционной системы». «POSIX» является зарегистрированным товарным знаком IEEE.[1]