Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lectures.docx
Скачиваний:
57
Добавлен:
10.12.2018
Размер:
1.24 Mб
Скачать
    1. Базові терміни та визначення

Поняття «розподілена система» в літературних джерелах визначають по-різному. Історично у процесі розвитку апаратної та програмної складових розподілених систем формувалися різні розуміння їх як систем, що відобра- жалося на їх визначеннях. Розуміння того, як має визначатися розподілена система, постійно уточнюється.

  1. Розподіленою системою називають низку з’єднаних центральних про- цесорів (CPU), що працюють разом.

  2. Розподіленою системою називають низку машин з нерозділеною пам’яттю. Надалі розподілені системи потрібно розглядати в найбільш зага- льній формі. До них належать усі різновиди клієнт-серверних систем, а також мультипроцесорні системи, тобто такі, які складаються з вузлів та можуть бути однопроцесорними або мультипроцесорними.

  3. Розподіленою називають систему з просторово розподіленими компо- нентами, які не використовують ніякої спільної пам’яті й не підлягають де- централізованому адмініструванню. Для реалізації спільних цілей можлива

кооперація компонентів. Якщо цими компонентами пропонуються послуги або використовуються запропоновані послуги, то виникає клієнт-серверна система, а у разі додаткового центрального службового посередництва –

«торговельна» система (Trading-система).

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

Розподілена система – це набір незалежних комп’ютерів, які користу- вач сприймає як єдину об’єднану систему.

У цьому визначенні є два однаково важливі моменти: стосовно апарату- ри – всі машини автономні; стосовно програмного забезпечення – користува- чам надається у користування єдина система.

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

      1. Телекомунікаційні мережі як елемент розподілених систем

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

Комп’ютерні мережі належать до розподілених (або децентралізованих) обчислювальних систем. В обчислювальних мережах програмні й апаратні зв’язки є слабшими, а автономність розрахункових блоків простежується найбільшою мірою – основними елементами мережі є стандартні комп’ютери, що не мають ні спільних блоків пам’яті, ні спільних периферійних пристроїв. Зв’язок між комп’ютерами здійснюється за допомогою спеціальних перифе- рійних пристроїв – мережних адаптерів, сполучених каналами зв’язку, які мають порівняно велику протяжність. Кожний комп’ютер працює під керу- ванням власної операційної системи, а деякої «спільної» операційної системи,

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

На комп’ютерах, ресурси яких мають бути доступними всім користува- чам мережі, необхідно встановити модулі, що постійно перебуватимуть у режимі очікування запитів, які надходять мережею від інших комп’ютерів. Зазвичай такі модулі називають програмними серверами (server), тому що їх головне завдання – обслуговувати (to serve) запити на доступ до ресурсів свого комп’ютера. На комп’ютерах, користувачі яких хочуть отримувати до- ступ до ресурсів інших комп’ютерів, також потрібно додати до операційної системи деякі спеціальні програмні модулі, що мають виконувати запити на доступ до віддалених ресурсів і передавати їх мережею на потрібний комп’ютер. Такі модулі зазвичай називають програмними клієнтами (client). Власне мережні адаптери й канали зв’язку вирішують у мережі достатньо просте завдання: передають повідомлення із запитами і відповідями від одного комп’ютера до другого, а основну роботу з організації спільного використання ресурсів виконують клієнтські й серверні частини операційних систем. Пара модулів клієнт–сервер забезпечує спільний доступ користува- чів до визначеного типу ресурсів, наприклад до файлів, у цьому разі вважають, що користувач застосовує файлову службу. Зазвичай мережна операційна система підтримує декілька видів мережних служб для своїх користувачів: файлову службу, службу друку, службу електронної пошти, службу віддале- ного доступу та ін.

У технічній літературі англомовний термін «service» зазвичай перекла- дають як «служба», «сервіс» і використовують як синоніми. Водночас, деякі спеціалісти розрізняють термін «служба», з одного боку, й терміни «сервіс» і

«послуга», з другого. Під службою розуміють мережний компонент, що

реалізує деякий набір послуг, а під сервісом – перелік послуг, який надає ця служба. Таким чином, сервіс – це інтерфейс між споживачем послуг і їх пос- тачальником (службою).

Терміни «клієнт» і «сервер» використовують для позначення не тільки програмних модулів, але й комп’ютерів або пристроїв, під’єднаних до мережі. Якщо комп’ютер надає свої ресурси іншим комп’ютерам мережі, то його на- зивають сервером, а якщо він їх споживає – клієнтом. Іноді один комп’ютер може одночасно перебувати і в ролі сервера, і в ролі клієнта. Мережні служ- би завжди є розподіленими програмами загальносистемного призначення, які складаються з декількох частин, що взаємодіють, причому кожна частина переважно реалізується на окремому комп’ютері мережі, за її допомогою можуть виконуватися розподілені програми користувачів. Розподілена прик- ладна програма також містить декілька частин, кожна з яких виконує якусь визначену закінчену роботу з вирішення прикладного завдання. Наприклад, одна частина прикладної програми, яку користувач виконує на власному комп’ютері, може підтримувати спеціалізований графічний інтерфейс; друга – працювати на потужному віддаленому комп’ютері й виконувати статистичну обробку введених користувачем даних; а третя – заносити отримані резуль- тати в базу даних на комп’ютер з установленою стандартною СУБД.

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

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

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

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

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