API (application programming interface) – интерфейс прикладного программирования.
Функции:
- Управление процессами: запуск, остановка, изменение приоритетов, синхронизация;
- Управление памятью: выделение, освобождение, изменение параметров доступа и т.д.;
- Управление I/O: работа с файлами и с виртуальными устройствами.
2 подхода по управлению задачами (запуска нового процесса):
- Порождённый процесс наследует все ресурсы родителя;
- Порождённый процесс должен заново запрашивать ресурсы у ОС.
Способы:
- Вызов подпрограммы;
- Программами прерывания – способ вызова системы программ.
Способы реализации:
- На уровне ОС;
- На уровне системы программирования;
- На уровне внешних библиотек.
Возможности API описываются по критериям:
- Эффективность выполнения ф.API: скорость, ресурсы;
- Широта предоставляемых возможностей;
- Зависимость программы от архитектуры вычислительной системы.
Подробнее о cпособах реализации интерфейсах прикладного программирования (API):
- API реализована на уровне ОС.
Объектный код включается в ядро ОС, система программирования предоставляет доступ к функциям. Программа обращается к ОС, которая напрямую работает с «железом» – наибольшая эффективность.
Недостаток – отсутствие переносимости программ (по исходному коду) и совместимости. WinAPI не соответствует стандарту POSIX.
- На уровне системы программирования.
С помощью библиотек в системе программирования. Эффективность ниже, чем при первом способе. Программа обращается к библиотеке СП, которая обращается затем к ОС.
Достоинство – переносимость программ (совместимость).
Недостаток. API предоставляет малую функциональность (ограниченный набор функций).
- Реализация с помощью внешних библиотек.
Библиотеки, процедуры и функции предоставляемые сторонними разработчиками в виде динамических библиотек. Если библиотека обращается напрямую к ОС, то её эффективность сравнима с библиотеками СП. Библиотеки могут поддерживать стандарт POSIX. Эффективность сравнима со 2-ым способом.
|