Інтерфейс прикладного програмування
Перш за все необхідно однозначно розділити загальний термін API (applicationprograminterface, інтерфейс прикладного програмування) на наступні напрямки:
APIкак інтерфейс високого рівня, що належить до бібліотекамRTL;
APIпрікладних і системних програм, що входять в поставку операційної системи;
Інтерфейс прикладного програмування, як це і випливає з назви, пред-призначений для використання прикладними програмами системних ресурсів ОС і реалізованих нею функцій.APIопісивает сукупність функцій і процедур, що належать ядру або надбудов ОС.
Отже, APIпредставляет собою набір функцій, що надаються системою програмування розробнику прикладної програми і орієнтованих на ор-ганізації взаємодії результуючої прикладної програми сцелевой обчислювальної системою. Цільова обчислювальна система являє собою сукупність програмних і апаратних засобів, в оточенні яких виконується результуюча програма. Сама результуюча програма породжуючи-ється системою програмування на підставі коду вихідної програми, ство-даного розробником, а також об'єктних модулів і бібліотек, що входять до складу системи програмування.
В принципі APIіспользуется не тільки прикладними, а й багатьма системними-ми програмами, як в складі ОС, так і в складі системи програмування.
Але далі мова піде тільки про функції APIс точки зору розробника прикладної програми. Для системної програми існують деякі додаткові обмеження на можливі реалізацііAPI.
Функції APIпозволяют розробнику будувати результуючу прикладну програму так, щоб використовувати кошти цільової обчислювальної системи для виконання типових операцій. При цьому розробник програми позбавлений необхідності створювати вихідний код для виконання цих операцій.
Програмний інтерфейс APIвключает в себе не тільки самі функції, але і з-ошення про їх використання, які регламентуються операційною системою (ОС), архітектурою цільової обчислювальної системи і системою програмування.
Існує кілька варіантів реалізації API:
реалізація на рівні ОС;
реалізація на рівні системи програмування;
реалізація на рівні зовнішньої бібліотеки процедур і функцій.
Система програмування в кожному з цих варіантів надає розробнику кошти для підключення функцій APIк вихідного коду програми і організації їх викликів. Об'єктний код функційAPIподключается до результуючої програмі компоновщиком при необхідності.
Можливості APIможно оцінювати з наступних позицій:
ефективність виконання функцій API- включає в себе швидкість виконання функцій і обсяг обчислювальних ресурсів, потрібних для їх виконання;
широта можливостей, що надаються;
залежність прикладної програми від архітектури цільової обчислювальної системи.
В ідеалі хотілося б мати набір функцій API, що виконуються з найвищою ефективністю, що надають користувачеві всі можливості сучасних ОС і мають мінімальну залежність від архітектури обчислювальної системи (ще краще - позбавлених такої залежності).
Домогтися найвищої ефективності виконання функцій APIпрактіческі важко з тих же причин, за якими неможливо домогтися найвищої ефективності виконання для будь-якої результуючої програми. Тому про еффектівностіAPIможно говорити тільки в порівнянні його характеристик з другімAPI.
Що стосується двох інших показників, то в принципі немає ніяких технічних обмежень на їх реалізацію. Однак існують організаційні проблеми і вузькі корпоративні інтереси, які гальмують створення такого роду бібліотек.