Шар абстракції

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Шар абстракції (Архітектурний шар) — у інформатиці, засіб розділення складних систем на простіші частини. Забезпечує приховування особливостей реалізації.

Особливості шарів абстракції[ред. | ред. код]

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

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

Приклади розбиття на шари[ред. | ред. код]

Комп'ютерна система[ред. | ред. код]

Перші обчислювачі (комп'ютери) мали лише наперед визначену функціональність. Програмовані або універсальні комп'ютери дозволяли ввести програму для виконання. Таким чином з'явились два шари — апаратного і програмного забезпечення. Збільшення вимог і ускладнення цих шарів привело до виділення додаткових шарів — у апаратному забезпеченні: мікроархітектури та машинної мови, у програмному забезпеченні — системного програмного забезпечення (операційної системи, яка також могла бути розбита на ядро та драйвери і системні бібліотеки, мови програмування), та прикладного програмного забезпечення — прикладних бібліотек, прикладних програм.

Модель мережі[ред. | ред. код]

Докладніше: Модель OSI

Конвеєри[ред. | ред. код]

Конвеєр (pipeline) забезпечує розбиття складної операції на ряд простіших кроків, які послідовно виконуються.

Конвеєр центрального процесора[ред. | ред. код]

Докладніше: Конвеєр команд

Графічний конвеєр[ред. | ред. код]

В системах комп'ютерної графіки (як наприклад OpenGL) графічний конвеєр складається з

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

Конвеєр XML перетворення[ред. | ред. код]

Докладніше: XML pipeline

Конвеєр Unix[ред. | ред. код]

Докладніше: Конвеєр (Unix)

Література[ред. | ред. код]

  • Фаулер, Мартин (2008). Архитектура корпоративных программных приложений. Вильямс. с. 544. ISBN 978-5-8459-0579-6.
  • Таненбаум, Эндрю (2007). Современные операционные системы. Издательский дом «Питер». с. 1040. ISBN 978-5-318-00299-1.
  • Martz, Paul (2006). OpenGL® Distilled. Addison Wesley. с. 304. ISBN 0-321-33679-8.