Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Реалізація на рівні ОС




Варіанти реалізації API

Інтерфейс прикладного програмування

Інтерфейс прикладного програмування АРІ (application program interface) – призначений для використання прикладними програмами системних ресурсів ОС і функцій, які ОС реалізуються.

АРІ – описує сукупність функцій і процедур, які належать ядру або надбудовам ОС. Тобто АРІ – це набір функцій, які надаються системою програмування розробнику прикладної програми і які орієнтовані на організацію взаємодії результуючої прикладної програми із сукупністю програмних та апаратних засобів, в оточенні яких виконується результуюча програма. Сама результуюча програма породжується системою програмування, ґрунтуючись на коді вихідної програми, створеної програмістом, а також об’єктних модулів і бібліотек, які входять до складу системи програмування.

АРІ використовується не тільки прикладними, а також і системними програмами як в складі ОС, так і в складі системи програмування.

Функції АРІ дозволяють розробнику будувати результуючу прикладну програму таким чином, щоби використати засоби обчислювальної системи для виконання типових операцій. При цьому розробник програми не повинен створювати вихідний код для виконання цих операцій.

Програмний інтерфейс АРІ включає в себе не тільки самі функції, але і домовленості про їх використання, які регламентуються ОС, архітектурою обчислювальної системи і системою.

Існує декілька варіантів реалізації АРІ:

1. Реалізація на рівні ОС.

2. Реалізація на рівні системи програмування.

3. Реалізація на рівні зовнішньої бібліотеки процедур і функцій.

В кожному з цих варіантів розробнику надаються засоби для підключення функцій АРІ до вихідного коду програми і організації їх викликів. Об’єктний код функцій АРІ підключається до результуючої програми компонувальником при необхідності.

За виконання функцій АРІ відповідальність несе ОС. Об’єктний код, який виконує функції, або безпосередньо входить до складу ОС (або навіть ядра ОС), або входить до складу бібліотек, які динамічно завантажуються, і які розроблені для даної ОС. Система програмування відповідає тільки за організацію інтерфейсу для виклику цього коду.

В цьому варіанті результуюча програма звертається безпосередньо до ОС. Тому досягається найбільша ефективність виконання функцій АРІ у порівнянні з усіма іншими варіантами реалізації АРІ.

Недолік: відсутність можливості переносу не тільки коду результуючої програми, але і коду вихідної програми. Програма, створена для одної архітектури обчислювальної системи, не зможе виконуватись на обчислювальній системі іншої архітектури навіть після того, якщо її об’єктний код буде повністю перебудовано.

Частіше за все система програмування не зможе виконати перебудову вихідного коду для нової архітектури обчислювальної системи.

Можна уніфікувати функції АРІ в різних ОС. Але є корпоративні інтереси.

Приклад: Для ОС Microsoft Windows – WinAPI.

Але навіть всередині цього корпоративного АРІ існує певна невідповідність, яка дещо обмежує переносимість програм між різними ОС типу Windows.

Приклад: АРІ – набір сервісних функцій ОС для MS-DOS, який реалізовано у вигляді набору підпрограм обслуговування програмних переривань.

Реалізація на рівні системи програмування

В цьому випадку функції АРІ надаються користувачу у вигляді бібліотеки функцій відповідної мови програмування. Система програмування надає користувачу бібліотеку відповідної мови програмування і забезпечує підключення до відповідної програми об’єктного коду, що відповідає за виконання цих функцій.

Ефективність АРІ буде нижче, ніж у попередньому варіанті. Це тому, що для виконання багатьох функцій АРІ бібліотека мови програмування повинна все одно виконати звертання до функцій ОС.

Але переносимість буде самою високою, оскільки синтаксис і семантика всіх функцій будуть строго регламентовані в стандарті мови. Вони залежать від мови і не залежать від архітектури обчислювальної системи. Тому для виконання прикладної програми на новій архітектурі обчислювальної системи досить заново побудувати код результуючої програми за допомогою відповідної системи програмування.

Але є нестандартні бібліотеки.




Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 522; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.006 сек.