Програмна побудова розподілених ситем
Апаратура важлива для розподілених систем, проте від програмного забезпечення значно сильніше залежить, як така система виглядатиме насправді. Розподілені системи дуже схожі на традиційні операційні системи. Перш за все, вони працюють як менеджери ресурсів (resource managers) існуючого апаратного забезпечення, які допомагають безлічі користувачів і додатків спільно використовувати такі ресурси, як процесори, пам'ять, периферійні пристрої, мережу і дані всіх видів. По-друге, що, ймовірно, більш важливо, розподілена система приховує складність і гетерогенну природу апаратного забезпечення, на базі якого вона побудована, надаючи віртуальну машину для виконання додатків.
Щоб зрозуміти природу розподіленої системи, розглянемо спочатку операційні системи з погляду розподіленості. Операційні системи для розподілених комп'ютерів можна начорно розділити на дві категорії — сильно зв'язані і слабо зв'язані системи. У сильно зв'язаних системах операційна система в основному прагне працювати з одним, глобальним представленням ресурсів, якими вона управляє. Слабо зв'язані системи можуть представлятися нетямущій людині набором операційних систем, кожна з яких працює на власному комп'ютері. Проте ці операційні системи функціонують спільно, роблячи власні служби доступними іншим.
Це ділення на сильно і слабо зв'язані системи пов'язано з класифікацією апаратного забезпечення. Сильно зв'язані операційні системи зазвичай називаються розподіленими операційними системами (Distributed Operating System, DOS) і використовуються для управління мультипроцесорними і гомогенними мультикомпьютерными системами. Як і у традиційних однопроцесорних операційних систем, основна мета розподіленої операційної системи полягає в захованні тонкощів управління апаратним забезпеченням, яке одночасно використовується безліччю процесів.
Слабо зв'язані мережеві операційні системи (Network Operating Systems, NOS) використовуються для управління гетерогенними мультикомпьютерными системами. Хоча управління апаратним забезпеченням і є основним завданням мережевих операційних систем, вони відрізняються від традиційних. Ця відмінність витікає з того факту, що локальні служби повинні бути доступними для видалених клієнтів. У наступних пунктах ми розглянемо в першому наближенні ті та інші. Щоб дійсно скласти розподілену систему, служб мережевої операційної системи недостатньо. Необхідно додати до них додаткові компоненти, щоб організувати кращу підтримку прозорості розподілу. Цими додатковими компонентами будуть засоби, відомі як системи проміжного рівня (middleware), які і лежать в основі сучасних розподілених систем. Засоби проміжного рівня також обговорюються в цьому розділі. У табл.1 представлені основні дані по розподілених і мережевих операційним системам, а також засобам проміжного рівня.
Система | Опис | Основне призначення |
---|---|---|
Розподілені операційні системи | Сильно зв'язані операційні системи для мультипроцесорів і гомогенних мультикомпьютерных систем | Заховання і управління апаратним забезпеченням |
Мережеві операційні системи | Слабо зв'язані операційні системи для гетерогенних мультикомпьютерных систем (локальних або глобальних мереж) | Надання локальних служб віддаленим клієнтам |
Засоби проміжного рівня | Додатковий рівень поверх мережевих операційних систем, що реалізовує служби загального призначення | Забезпечення прозорості розподілу |