Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lesson_13_SPZ.doc
Скачиваний:
6
Добавлен:
21.12.2018
Размер:
51.2 Кб
Скачать
  1. Реалізація функцій арі на рівні системи програмування.

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

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

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

  1. Реалізація функцій арі за допомогою зовнішніх бібліотек.

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

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

З точки зору ефективності виконання коду цей метод реалізації АРІ має самі низькі результати, тому що зовнішня бібліотека звертається як до функцій ОС, так і до функцій відповідних бібліотек системного програмування. З погляду переміщуваності вихідного коду зовнішні бібліотеки повинні бути доступні в будь – якій з архітектур обчислювальних систем на які орієнтується розроблювана програма. Це можливо, коли зовнішня бібліотека підтримує певний стандарт і системи програмування також підтримують цей стандарт. Однак для більшості зовнішніх бібліотек інших фірм виробників це не так. Наприклад, бібліотека MFS (фірми Microsoft) і бібліотека VSE (фірми Borland) жорстко орієнтовані на архітектуру обчислювальної системи Windiws. Інший приклад, бібліотека SLX (фірми Borland) орієнтована на Windows і Linux.

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

Щодо прикладного програмного забезпечення, то перспектива отримувати переміщуваний код надається таким технологіям, як технологія “клієнт – сервер”, або трьохрівнева архітектура створення програм (прикладна програма – клієнт сервер – функції операційної системи).

Однією з основних характеристик АРІ повинна бути незалежність від системи програмування. Як правило, різні типи АРІ не стандартизовані. Кожному конкретному випадку набір викликів АРІ визначається архітектурою операційної системи та її призначення. В той же час стандартизується деякий обмежений набір функцій з метою полегшення переносу програм з однієї архітектури на іншу. Наприклад, до деякої міри стандарт Win АРІ фірми Microsoft є стандартизований. З точки зору Win АРІ основною задачею є вікно. Таким чином цей стандарт по визначенню орієнтований на роботу в графічному середовищі. Проте окремі функції цього стандарту (наприклад бібліотекиWin АРІ 32, Win АРІ 16, Win АРІ СЕ) не стандартизовані, що накладає певні обмеження при переносі програм з однієї ОС на іншу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]