614.20K
Category: informaticsinformatics

Мережеві і розподілені операційні системи (тема 20)

1.

ТЕМА 20
МЕРЕЖЕВІ І РОЗПОДІЛЕНІ ОПЕРАЦІЙНІ СИСТЕМИ
ПЛАН
1 ВЗАЄМОДІЯ ВІДДАЛЕНИХ ПРОЦЕСІВ ЯК ОСНОВА РОБОТИ
ОБЧИСЛЮВАЛЬНИХ МЕРЕЖ
2 ПОНЯТТЯ ПРОТОКОЛУ
3 БАГАТОРІВНЕВА МОДЕЛЬ ПОБУДОВИ МЕРЕЖЕВИХ
ОБЧИСЛЮВАЛЬНИХ СИСТЕМ

2.

1ВЗАЄМОДІЯ ВІДДАЛЕНИХ ПРОЦЕСІВ ЯК ОСНОВА РОБОТИ ОБЧИСЛЮВАЛЬНИХ
МЕРЕЖ
Спочатку розглянемо причини об’єднання комп’ютерів в мережі:
1 Необхідність спільного використання ресурсів (як фізичних, так і
інформаційних);
2 Можливість прискорення обчислень. Тут мережеві об’єднання машин
успішно конкурують з багатопроцесорними обчислювальними комплексами. Такі
мережеві обчислювальні кластери часто мають перевагу перед
багатопроцесорними комплексами в співвідношенні ефективність/вартість.
3 Підвищення надійності роботи обчислювальної техніки. У системах, де
відмова може викликати катастрофічні наслідки (атомна енергетика,
космонавтика, авіація і т.д.), декілька обчислювальних комплексів встановлюються
в зв’язку, дублюючи один одного. При виході з ладу основного комплексу його
роботу негайно продовжує дублюючий.
4 Можливість застосування обчислювальних мереж для спілкування
користувачів.

3.

1ВЗАЄМОДІЯ ВІДДАЛЕНИХ ПРОЦЕСІВ ЯК ОСНОВА РОБОТИ ОБЧИСЛЮВАЛЬНИХ
МЕРЕЖ
На попередніх заняттях ми говорили, що існує два основні підходи до організації
операційних систем для обчислювальних комплексів, зв’язаних в мережу, - це мережеві і
розподілені операційні системи. Необхідно відмітити, що термінологія в цій області ще
не устоялася. У одних роботах усі операційні системи, що забезпечують функціонування
комп’ютерів в мережі, називаються розподіленими, а в інших, навпаки, мережевими. Ми
дотримуємося тієї точки зору, що мережеві і розподілені системи є принципово різними.
У мережевих операційних системах для того, щоб задіювати ресурси іншого
мережевого комп’ютера, користувачі повинні знати про його наявність і уміти це зробити.
Кожна машина в мережі працює під управлінням своєї локальної операційної системи,
що відрізняється від операційної системи автономного комп’ютера наявністю додаткових
мережевих засобів (програмною підтримкою для мережевих інтерфейсних пристроїв і
доступу до віддалених ресурсів), але ці доповнення істотно не міняють структуру
операційної системи.
Розподілена система, навпаки, зовні виглядає як звичайна автономна система.
Користувач не знає і не повинен знати, де його файли зберігаються, на локальній або
віддаленій машині, і де його програми виконуються. Внутрішня будова розподіленої
операційної системи має істотні відмінності від автономних систем.
Вивчення будови розподілених операційних систем не входить в завдання нашого
курсу.

4.

1ВЗАЄМОДІЯ ВІДДАЛЕНИХ ПРОЦЕСІВ ЯК ОСНОВА РОБОТИ ОБЧИСЛЮВАЛЬНИХ
МЕРЕЖ
Усі перераховані вище цілі об’єднання комп’ютерів в обчислювальні мережі не можуть
бути досягнуті без організації взаємодії процесів на різних обчислювальних системах.
Будь то доступ до ресурсів, що розділяються, або спілкування користувачів через мережу
- в основі усього цього лежить взаємодія віддалених процесів, тобто процесів, які
знаходяться під управлінням фізично різних операційних систем. Тому зосередимося
саме на питаннях кооперації таких процесів, в першу чергу виділивши її відмінності від
кооперації процесів в одній автономній обчислювальній системі (кооперації локальних
процесів).
а) вивчаючи взаємодію локальних процесів, ми розділили засоби обміну інформацією
за об’ємом передаваних між ними даних і можливості впливу на поведінку іншого
процесу на три категорії: сигнальні, канальні і розподілена пам’ять. Взаємодія віддалених
процесів принципово відрізняється від раніше розглянутих випадків. Загальної пам’яті у
різних комп’ютерів фізично немає. Віддалені процеси можуть обмінюватися інформацією,
тільки передаючи один одному пакети даних певного формату (у вигляді послідовностей
електричних або електромагнітних сигналів, включаючи світлові) через деякий фізичний
канал зв’язку або декілька таких каналів, що сполучають комп’ютери. Тому в основі усіх
засобів взаємодії віддалених процесів лежить передача структурованих пакетів
інформації або повідомлень.

5.

1ВЗАЄМОДІЯ ВІДДАЛЕНИХ ПРОЦЕСІВ ЯК ОСНОВА РОБОТИ ОБЧИСЛЮВАЛЬНИХ
МЕРЕЖ
б) при взаємодії локальних процесів і процес-відправник інформації, і процесодержувач функціонують під управлінням однієї і тієї ж операційної системи. Для
організації взаємодії процеси користуються одними і тими ж системними
викликами, властивими цій операційній системі, з однаковими інтерфейсами.
У багатьох випадках інформація між віддаленими процесами в мережі
передається не безпосередньо, а через ряд процесів-посередників, що
«мешкають» на обчислювальних комплексах, що не є комп’ютерами
відправника і одержувача і власних операційних систем, що працюють під
управлінням. Проте і за відсутності процесів-посередників віддалений процесвідправник і процес-одержувач функціонують під управлінням різних
операційних систем, що часто мають принципову різну будову.

6.

1ВЗАЄМОДІЯ ВІДДАЛЕНИХ ПРОЦЕСІВ ЯК ОСНОВА РОБОТИ ОБЧИСЛЮВАЛЬНИХ
МЕРЕЖ
в) питання надійності засобів зв’язку і способи її реалізації, розглянуті нами
раніше, носили для випадку локальних процесів швидше теоретичний характер.
Ми з’ясували, що фізичною основою «спілкування» процесів на автономній
обчислювальній машині є розподілена пам’ять. Тому для локальних процесів
надійність передачі інформації визначається надійністю її передачі по шині
даних і зберігання в пам’яті машини, а також коректністю роботи операційної
системи.
Для віддалених процесів питання, пов’язані з надійністю передачі даних,
стають куди більш значущими. Протяжні мережеві лінії зв’язку схильні до
різноманітних фізичних дій, що призводять до спотворення передаваних по них
фізичних сигналів або до повної відмови ліній. Навіть за відсутності зовнішніх
перешкод передаваний сигнал затухає у міру віддалення від точки відправлення,
наближаючись по інтенсивності до внутрішніх шумів ліній зв’язку. Проміжні
обчислювальні комплекси мережі, що беруть участь в доставці інформації, не
застраховані від ушкоджень або раптового перезавантаження операційної
системи. Тому обчислювальні мережі повинні організовуватися виходячи з
передумов ненадійності доставки фізичних пакетів інформації.

7.

1ВЗАЄМОДІЯ ВІДДАЛЕНИХ ПРОЦЕСІВ ЯК ОСНОВА РОБОТИ ОБЧИСЛЮВАЛЬНИХ
МЕРЕЖ
г) при організації взаємодії локальних процесів кожен процес (у разі прямої
адресації) і кожен проміжний об’єкт для накопичення даних (у разі непрямої
адресації) повинні були мати унікальні ідентифікатори - адреси - у рамках однієї
операційної системи. При організації взаємодії віддалених процесів учасники
цієї взаємодії повинні мати унікальні адреси у рамках усієї мережі.
д) фізична лінія зв’язку, що сполучає декілька обчислювальних комплексів, є
ресурсом, що розділяється, для усіх процесів комплексів, які хочуть її
використовувати. Якщо два процеси спробують одночасно передати пакети
інформації по одній і тій же лінії, то в результаті інтерференції фізичних сигналів,
що представляють ці пакети, станеться взаємне спотворення передаваних даних.
Для того, щоб уникнути виникнення такої ситуації (race condition) і забезпечити
ефективну спільну роботу обчислювальних систем, повинні виконуватися умови
взаємовиключення, прогресу і обмеженого очікування при використанні
загальної лінії зв’язку, але вже не на рівні окремих процесів операційних
систем, а на рівні різних обчислювальних комплексів в цілому.

8.

1ВЗАЄМОДІЯ ВІДДАЛЕНИХ ПРОЦЕСІВ ЯК ОСНОВА РОБОТИ ОБЧИСЛЮВАЛЬНИХ
МЕРЕЖ
Давайте тепер, абстрагувавшись від фізичного рівня організації зв’язку і не звертаючи
уваги на те, які саме фізичні засоби - оптичне волокно, коаксіальний кабель,
супутниковий зв’язок і т. д. - лежать в основі об’єднання комп’ютерів в мережу,
обговоримо вплив перерахованих відмінностей на логічні принципи організації взаємодії
віддалених процесів.
До найбільш фундаментальних питань, пов’язаних з логічною організацією
взаємодії віддалених процесів, можна віднести наступні:
а) як треба сполучати між собою різні обчислювальні системи фізичними лініями
зв’язку для організації взаємодії віддалених процесів? Якими критеріями при цьому слід
користуватися?
б) як уникнути виникнення race condition при передачі інформації різними
обчислювальними системами після їх підключення до загальної лінії зв’язку? Які
алгоритми можуть при цьому застосовуватися?
в) які види інтерфейсів можуть бути надані користувачеві операційними системами
для передачі інформації по мережі? Які існують моделі взаємодії віддалених процесів? Як
процеси, що працюють під управлінням різних по своїй будові операційних систем,
можуть спілкуватися один з одним?

9.

1ВЗАЄМОДІЯ ВІДДАЛЕНИХ ПРОЦЕСІВ ЯК ОСНОВА РОБОТИ ОБЧИСЛЮВАЛЬНИХ
МЕРЕЖ
г) які існують підходи до організації адресації віддалених процесів? Наскільки
вони ефективні?
д) як організовується доставка інформації від комп’ютера-відправника до
комп’ютера-одержувача через комп’ютери-посередники? Як вибирається маршрут
для передачі даних у разі розгалуженої мережевої структури, коли існує не один
варіант отримання пакетів даних через комп’ютери-посередники?
Оскільки ми вивчаємо особливості будови і функціонування частин
операційних систем, відповідальних за взаємодію віддалених процесів, тому
даний перелік питань істотно скорочується.
З приведеного переліку ми з вами детальніше зупинимося на вирішенні
питань, приведених в пунктах в)-д).

10.

2 ПОНЯТТЯ ПРОТОКОЛУ
Для того, щоб описати взаємодію віддалених процесів і зрозуміти, які функції і як
повинні виконувати додаткові частини мережевих операційних систем, що відповідають
за таку взаємодію, нам знадобиться не менш фундаментальне поняття - протокол.
«Спілкування» локальних процесів нагадує спілкування людей, що проживають в
одному місті. Якщо взаємодіючі процеси знаходяться під управлінням різних операційних
систем, то ця ситуація подібна до спілкування людей, що проживають в різних містах і,
можливо, в різних країнах.
Яким чином дві людини, що знаходиться в різних містах, а тим більше країнах, можуть
обмінюватися інформацією? Для цього їм зазвичай доводиться удаватися до послуг
відповідних служб зв’язку. При цьому між службами зв’язку різних міст (держав) мають
бути укладені певні угоди, що дозволяють коректно організовувати такий обмін.
Аналогічна ситуація виникає і при спілкуванні віддалених процесів, що працюють під
управлінням різних операційних систем. Тут процеси грають роль людей, що проживають
в різних містах, а мережеві частини операційних систем - роль відповідних служб зв’язку.
Для того, щоб віддалені процеси могли обмінюватися даними, необхідно, щоб
мережеві частини операційних систем керувалися певними угодами, або, як прийнято
говорити, підтримували певні протоколи.

11.

2 ПОНЯТТЯ ПРОТОКОЛУ
Різні способи рішення проблем в)-д), піднятих в попередньому питанні, по суті,
є різні угоди, яких повинні дотримуватися мережеві частини операційних систем,
тобто різні мережеві протоколи. Саме наявність мережевих протоколів дозволяє
організувати взаємодію віддалених процесів.
Навіть мимовільного погляду на перелік проблем, пов’язаних з логічною
організацією взаємодії віддалених процесів, досить, щоб зрозуміти, що побудова
мережевих засобів зв’язку - завдання складніше, ніж реалізація локальних засобів
зв’язку. Тому зазвичай задачу створення таких засобів вирішують по частинах,
застосовуючи вже неодноразово згадуваний нами «листковий», або
багаторівневий, підхід.
Як вже відзначалося при обговоренні «листкової» будови операційних систем
на перших лекціях, при такому підході рівень N системи надає сервіси рівню N+1,
користуючись у свою чергу тільки сервісами рівня N - 1. Отже, кожен рівень може
взаємодіяти безпосередньо тільки зі своїми сусідами, керуючись чітко
закріпленими угодами - вертикальними протоколами, які прийнято називати
інтерфейсами.

12.

2 ПОНЯТТЯ ПРОТОКОЛУ
Самим нижнім рівнем в листкових мережевих обчислювальних системах є
рівень, на якому реалізується реальний фізичний зв’язок між двома вузлами
мережі. Для забезпечення обміну фізичними сигналами між двома різними
обчислювальними системами необхідно, щоб ці системи підтримували певний
протокол фізичної взаємодії - горизонтальний протокол.
На самому верхньому рівні знаходяться призначені для користувача процеси,
які ініціюють обмін даними. Кількість і функції проміжних рівнів варіюються від
однієї системи до іншої.

13.

2 ПОНЯТТЯ ПРОТОКОЛУ
В мережевих обчислювальних системах усі їх однакові рівні, що лежать вище
фізичного, віртуально обмінюються даними за допомогою горизонтальних протоколів.
Наявність такого віртуального зв’язку означає, що рівень N комп’ютера 2 повинен
отримати ту ж саму інформацію, яка була відправлена рівнем N комп’ютера 1. Хоча в
реальності ця інформація повинна була спочатку дійти зверху вниз до рівня 1 комп’ютера
1, потім передана рівню 1 комп’ютера 2 і тільки після цього доставлена від низу до верху
рівню N цього комп’ютера.
Формальний перелік правил, що визначає послідовність і формат повідомлень,
якими обмінюються мережеві компоненти різних обчислювальних систем, що лежать
на одному рівні, ми і називатимемо мережевим протоколом.
Усю сукупність вертикальних і горизонтальних протоколів (інтерфейсів і мережевих
протоколів) в мережевих системах, побудованих за «листковим» принципом, достатню
для організації взаємодії віддалених процесів, прийнято називати сімейством
протоколів або стеком протоколів. Мережі, побудовані на основі різних стеків
протоколів, можуть бути об’єднані між собою з використанням обчислювальних
пристроїв, що здійснюють трансляцію з одного стека протоколів в іншій, причому на
різних рівнях листкової моделі.

14.

3 БАГАТОРІВНЕВА МОДЕЛЬ ПОБУДОВИ МЕРЕЖЕВИХ ОБЧИСЛЮВАЛЬНИХ СИСТЕМ
Еталоном багаторівневої схеми
побудови мережевих засобів
зв’язку вважається семирівнева
модель відкритої взаємодії
систем (Open System
Interconnection - OSI),
запропонована Міжнародною
організацією Стандартів
(International Standard
Organization - ISO) і що отримала
скорочене найменування OSI/ISO
(рисунок 6.1).

15.

3 БАГАТОРІВНЕВА МОДЕЛЬ ПОБУДОВИ МЕРЕЖЕВИХ ОБЧИСЛЮВАЛЬНИХ СИСТЕМ
Коротко розглянемо, які функції виконують різні рівні моделі OSI/ISO:
рівень 1 - фізичний. Цей рівень пов’язаний з роботою hardware. На нім визначаються
фізичні аспекти передачі інформації по лініях зв’язку, такі як: напруга, частоти, природа
передавального середовища, спосіб передачі двійкової інформації по фізичному носієві,
аж до розмірів і форми використовуваних роз’ємів. У комп’ютерах за підтримку фізичного
рівня зазвичай відповідає мережевий адаптер.
рівень 2 - канальний. Цей рівень відповідає за передачу даних по фізичному рівню без
спотворень між безпосередньо пов’язаними вузлами мережі. На нім формуються фізичні
пакети даних для реальної доставки по фізичному рівню. Протоколи канального рівня
реалізуються спільно мережевими адаптерами і їх драйверами.
рівень 3 - мережевий. Мережевий рівень несе відповідальність за доставку інформації
від вузла-відправника до вузла-одержувача. На цьому рівні частково вирішуються питання
адресації, здійснюється вибір маршрутів пакетів даних, вирішуються питання стикування
мереж, а також управління швидкістю передачі інформації для запобігання
перевантаженням в мережі.

16.

3 БАГАТОРІВНЕВА МОДЕЛЬ ПОБУДОВИ МЕРЕЖЕВИХ ОБЧИСЛЮВАЛЬНИХ СИСТЕМ
Коротко розглянемо, які функції виконують різні рівні моделі OSI/ISO:
рівень 4 - транспортний. Регламентує передачу даних між віддаленими процесами.
Забезпечує доставку інформації вищерозміщеним рівням з необхідною мірою надійності,
компенсуючи, можливо, ненадійність рівнів, що пролягають нижче, пов’язану із
спотворенням і втратою даних або доставкою пакетів в неправильному порядку. Разом з
мережевим рівнем може управляти швидкістю передачі даних і частково вирішувати
проблеми адресації.
рівень 5 - сеансовий. Координує взаємодію процесів, що зв’язуються. Основне завдання
- надання засобів синхронізації взаємодіючих процесів. Такі засоби синхронізації
дозволяють створювати контрольні точки при передачі великих об’ємів інформації. У разі
збою в роботі мережі передачу даних можна відновити з останньої контрольної точки, а
не починати наново.
рівень 6 - рівень представлення даних. Відповідає за форму представлення даних,
перекодує текстову і графічну інформацію з одного формату в іншій, забезпечує її
стискування і розпаковування, шифрування і декодування.
рівень 7 - прикладний. Служить для організації інтерфейсу між користувачем і
мережею. На цьому рівні реалізуються такі сервіси, як віддалена передача даних,
віддалений термінальний доступ, поштова служба і робота у Всесвітній павутині (Webбраузери).

17.

3 БАГАТОРІВНЕВА МОДЕЛЬ ПОБУДОВИ МЕРЕЖЕВИХ ОБЧИСЛЮВАЛЬНИХ СИСТЕМ
Варто зазначити, що хоча врешті-решт були створені працюючі реалізації цієї
моделі, але найбільш поширені сімейства протоколів лише до деякої міри
узгоджуються з нею. Цінність запропонованої еталонної моделі полягає в тому,
що вона показує напрям, в якому повинні рухатися розробники нових
обчислювальних мереж.

18.

УЗАГАЛЬНЕННЯ ВИВЧЕНОГО МАТЕРІАЛУ:
Усно дайте відповіді на питання.
1 Які основні проблеми логічної організації передачі інформації між віддаленими
процесами?
2 Що таке мережевий протокол? Яке його призначення?
3 Яку назву має багаторівнева модель побудови комп’ютерних мереж?
4 Поясніть призначення фізичного рівня мережевої моделі OSI/ISO.
5 Поясніть призначення рівня представлення даних мережевої моделі OSI/ISO.
6 Поясніть призначення сеансового рівня мережевої моделі OSI/ISO.
7 Поясніть призначення транспортного рівня мережевої моделі OSI/ISO.
8 Поясніть призначення мережевого рівня мережевої моделі OSI/ISO.
9 Поясніть призначення канального рівня мережевої моделі OSI/ISO.
10 Поясніть призначення прикладного рівня мережевої моделі OSI/ISO.

19.

ДОМАШНЄ ЗАВДАННЯ
В Moodle пройти Тест до теми 20.
English     Русский Rules