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

Тема 13. Інтерфейси операційних систем

  1. Основні поняття і визначення.

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

  3. Реалізація функцій АРІ на рівні операційної системи.

  4. Реалізація функцій АРІ на рівні системи програмування.

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

  6. POSIX інтерфейс.

  1. Основні поняття і визначення.

Інтерфейс ОС – це спеціальний інтерфейс системного або прикладного програмування, який призначений для виконання в наступних задачах:

  • керування процесами, що включають в себе завантаження, зупинку та завершення виконання програми, встановлення та зміну пріоритетів задач, взаємодію задач між собою та віддалений виклик підпрограм;

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

  • керування вводом/виводом, що включає запит на керування віртуальними пристроями та файлові операції, зокрема створення файлів, зміна та знищення інформації яка записана у файлах.

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

В останніх ОС це здійснюється за допомогою графічного інтерфейсу GUI (graphic user interface). Використання інтерфейсу GUI це є частковий випадок виконання задачі вводу/виводу, який фактично не є частиною ядра ОС, але в деяких випадках функції GUI відносяться до основного системного АРІ.

В сучасних ОС існує два підходи до керування задачами в залежності від реалізації АРІ:

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

  • в більш складних системах є не одна підпрограма входу, а декілька у відповідністю з кількістю функцій АРІ.

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

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

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

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

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

Основні можливості інтерфейсу прикладного програмування доцільно оцінювати по наступних характеристиках:

  • ефективність виконання функцій АРІ, що включають в себе швидкість виконання функцій та об’єм обчислювальних ресурсів необхідних для їх виконання;

  • функціональна повнота, функції які надаються інтерфейсу;

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

  1. Реалізація функцій арі на рівні операційної системи.

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

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

Недоліком організації АРІ по такому методу є практично повна відсутність властивості перемішуваності не тільки коду виконуваної програми, але і коду початкової програми, яка викликає функції АРІ.

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

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