Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 4 Реалізація архітектури операційної системи.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
249.34 Кб
Скачать

Об'єктно-орієнтована технологія

Вивчаючи архітектуру операційних систем, необхідно особливо прокоментувати використання технології об'єктно-орієнтованого програмування для написання коду операційних систем.

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

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

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

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

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