Лекція 3
Об’єктно-орієнтовані операційні системи
3.1. Windows 9x. Об'єктно-орієнтований підхід
При створенні Windows 9x фірма Microsoft в повній мірі реалізовувала об'єктно-орієнтований підхід. Оскільки саме він ліг в основу нової ОС, спочатку скажемо декілька слів про те, що таке орієнтація на об'єкти.
Поняття “об'єктно-орієнтований” виникло в програмуванні порівняно недавно. Коли обчислювальна потужність машин була мала, про створення об'єктно-орієнтованих систем не могло бути і мови. Основою всього був програмний код. Програмісти записували послідовності команд для виконання тих або інших дій над даними, які оформлялися в модулі і процедури. Для роботи з кожним об'єктом створювалася своя процедура.
3.2. Об'єкти, їх властивості і методи
Поступово із збільшенням продуктивності обчислювальних систем процедурний підхід почав замінюватися об'єктним. На перше місце висунувся об'єкт, а не код, який його обробляє. На рівні користувача об'єктний підхід виражається в тому, що інтерфейс являє собою подібність реального світу, а робота з машиною зводиться до дій із звичними об'єктами. Так, папки можна відкрити, прибрати в портфель, документи переглянути, виправити, перекласти з одного місця на інше, викинути в кошик, факс або лист відправити адресату і т. д. Поняття об'єкта виявилося настільки широким, що досі не отримало суворого визначення.
Об'єкт, як і в реальному світі, володіє різними властивостями. Програміст або користувач може змінювати не всі властивості об'єктів, а тільки деякі з них. Можна змінити ім'я об'єкта, але не можна змінити об'єм вільного місця на диску, який також є його властивістю. Властивості першого типу в мовах програмування носять назву read/write (для читання і запису), а властивості другого read only (тільки для читання).
Метод – це спосіб впливу на об'єкт. Методи дозволяють створювати і видаляти об'єкти, а також змінювати їх властивості. Наприклад, для того щоб намалювати на екрані точку, лінію або плоску фігуру, складаються різні послідовності кодів або програми. Користувач, однак, застосовує для відображення цих об'єктів один метод Draw, який містить коди для відображення всіх об'єктів, з якими він працює. За таку зручність доводиться платити тим, що об'єктно-орієнтовані системи можуть працювати тільки на досить могутніх обчислювальних установках.
3.3. Процедурний підхід в ранніх ОС
До цього часу у всіх операційних системах переважав процедурний підхід. Для того щоб виконати в системі яку-небудь дію, користувач повинен був викликати відповідну програму (процедуру) і передати їй певні параметри, наприклад, ім'я файлу, що обробляється. Програма виконувала над файлом вказані дії і закінчувала роботу. При цьому користувач насамперед мав справу із задачею обробки документа, а потім вже з самим документом. Коли ЕОМ ще не були персональними, користувач описував дії, які повинна була виконати задача, на так званій мові управління завданнями (JCL Job Control Language).
З появою термінала мова управління завданнями спростилася і поступово перетворилася в командний рядок, однак на першому місці все одно знаходилася процедура обробки документа, а сам документ грав допоміжну роль.
Наступним етапом спрощення роботи з машиною стало створення різного роду операційних оболонок (спочатку текстових), які “сховали” від користувача командний рядок DOS. Введення послідовності символів, з якої складається команда операційної системи, звелося до натиснення однієї функціональної клавіші або натиснення миші. Самої поширеною з таких “надбудов” над операційною системою стала оболонка Norton Commander.
Однак основним “інструментом” користувача все ще залишалася клавіатура. Якісний перехід стався після того, як з'явилися графічні оболонки. Тепер користувач в основному працює з пристроєм вказівки, таким як миша, трекбол або планшет, а не з клавіатурою (зрозуміло, це не відноситься до роботи всередині самих додатків, наприклад, в текстових редакторах). Йому не треба пам'ятати майже ніяких команд операційної системи. Для того щоб запустити додаток, досить клацнути мишею на його зображенні або на піктограмі.
3.4. Від процедурного підходу до об'єктно-орієнтованого
На початку 90-х рр. процедурний підхід все ще переважає, однак намічаються і деякі ознаки об'єктно-орієнтованого. Наприклад, вже в Windows 3.1х можна поставити у відповідність конкретному документу додаток для його обробки. Тоді ж з'явився метод об'єктного скріплення і вбудування (OLE), що дозволяє натисненням на зображенні об'єкта неявно запустити додаток, який його обробляє, а після закінчення обробки повернутися в попередній додаток.
З OLE тісно пов'язаний так званий метод редагування документів “на місці” (in-place). Якщо в документ вбудований об'єкт, який повинен оброблятися конкретним додатком, то при натисненні на цьому об'єкті потрібний додаток неявним образом запускається, причому в робочому полі не змінюється нічого, крім панелей інструментів. Наприклад, якщо в тексті, який обробляється в редакторі Microsoft Word, є таблиця, створена в редакторі Microsoft Excel, то при натисненні на ній станеться заміна панелей інструментів Excel. Користувач може обробляти документ зовсім іншим додатком, навіть не підозрюючи про це.
Ще один механізм, який спростив роботу і наблизив еру об'єктно-орієнтованого підходу, називається “Drag & Drop", що в буквальному перекладі означає “перетащити і залишити”. Працюючи цим методом, ви клацаєте кнопкою миші (як правило, лівої) на зображенні об'єкта, переміщуєте його по екрану при натисненій кнопці і відпускаєте кнопку, коли покажчик виявиться в потрібному місці екрана. Таким чином, процедури копіювання, переміщення і видалення стали об'єктно-орієнтованими.